Parallel-Pvm-1.1/000755 002141 000024 00000000000 06230617517 014117 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/CHANGES000644 002141 000024 00000000477 06230602215 015107 0ustar00edwardnsrc000000 000000 1.0 to 1.1 ---------- 1, Parallel::Pvm::spawn now accepts argv argument 2, Parallel::Pvm::notify accepts "cnt" argument for PvmHostAdd 3, Parallel::Pvm::recv_notify correctly receives list of host tids for PvmHostAdd notification 4, Some internal buffering optimization. (1--3 was contributed by Rob Torop) › ¬4ì oĵ#<køµ¯ }oˆ@»(oȵ¯ › ¬BÔo˜oÄ}µ¯ oÈ}ÿŽÁ Ä Èµ' µ¯ @bhoÈoŒµ¯ @aص¯ Parallel-Pvm-1.1/MANIFEST000644 002141 000024 00000000634 06230617474 015255 0ustar00edwardnsrc000000 000000 CHANGES MANIFEST MANIFEST.bak Makefile Makefile.PL Makefile.old Pvm.bs Pvm.c Pvm.o Pvm.pm Pvm.xs README blib/arch/auto/Parallel/Pvm/.exists blib/arch/auto/Parallel/Pvm/Pvm.bs blib/arch/auto/Parallel/Pvm/Pvm.so blib/lib/Parallel/.exists blib/lib/Parallel/Pvm.pm blib/lib/auto/Parallel/Pvm/.exists blib/lib/auto/Parallel/Pvm/autosplit.ix blib/man3/.exists blib/man3/Parallel::Pvm.3 pm_to_blib so_locations test.pl }µ¯ oÈ}ÿŽÁ Ä Èµ' µ¯ @bhoÈoŒµ¯ «ö¨µ¯ @aص¯ Parallel-Pvm-1.1/MANIFEST.bak000644 002141 000024 00000000617 06230617457 016013 0ustar00edwardnsrc000000 000000 CHANGES MANIFEST Makefile Makefile.PL Makefile.old Pvm.bs Pvm.c Pvm.o Pvm.pm Pvm.xs README blib/arch/auto/Parallel/Pvm/.exists blib/arch/auto/Parallel/Pvm/Pvm.bs blib/arch/auto/Parallel/Pvm/Pvm.so blib/lib/Parallel/.exists blib/lib/Parallel/Pvm.pm blib/lib/auto/Parallel/Pvm/.exists blib/lib/auto/Parallel/Pvm/autosplit.ix blib/man3/.exists blib/man3/Parallel::Pvm.3 pm_to_blib so_locations test.pl ions test.pl }µ¯ oÈ}ÿŽÁ Ä Èµ' µ¯ @bhoÈoŒµ¯ «ö¨µ¯ @aص¯ Parallel-Pvm-1.1/Makefile000644 002141 000024 00000047377 06230405717 015576 0ustar00edwardnsrc000000 000000 # This Makefile is for the Parallel::Pvm extension to perl. # # It was generated automatically by MakeMaker version # 5.21 (Revision: 1.174) from the contents of # Makefile.PL. Don't edit this file, edit Makefile.PL instead. # # ANY CHANGES MADE HERE WILL BE LOST! # # MakeMaker Parameters: # DEFINE => q[] # INC => q[-I$(PVM_ROOT)/include] # LD => q[ld] # MYEXTLIB => q[$(PVM_ROOT)/lib/$(PVM_ARCH)/libpvm3.a] # NAME => q[Parallel::Pvm] # VERSION_FROM => q[Pvm.pm] # dist => { COMPRESS=>q[gzip], SUFFIX=>q[gz] } # --- MakeMaker post_initialize section: # --- MakeMaker const_config section: # These definitions are from config.sh (via /usr/local/lib/perl5/IP22-irix/5.002/Config.pm) # They may have been overridden via Makefile.PL or on the command line AR = ar CC = cc CCCDLFLAGS = CCDLFLAGS = DLEXT = so DLSRC = dl_dlopen.xs LD = ld LDDLFLAGS = -shared -L/usr/local/lib LDFLAGS = -L/usr/local/lib LIBC = /usr/lib/libc.so LIB_EXT = .a OBJ_EXT = .o RANLIB = : SITELIBEXP = /usr/local/lib/perl5/site_perl SITEARCHEXP = /usr/local/lib/perl5/site_perl/IP22-irix SO = so # --- MakeMaker constants section: AR_STATIC_ARGS = cr NAME = Parallel::Pvm DISTNAME = Parallel-Pvm NAME_SYM = Parallel_Pvm VERSION = 1.1 VERSION_SYM = 1_1 XS_VERSION = 1.1 INST_LIB = ./blib/lib INST_ARCHLIB = ./blib/arch INST_EXE = ./blib/bin PREFIX = /usr/local INSTALLDIRS = site INSTALLPRIVLIB = $(PREFIX)/lib/perl5 INSTALLARCHLIB = $(PREFIX)/lib/perl5/IP22-irix/5.002 INSTALLSITELIB = $(PREFIX)/lib/perl5/site_perl INSTALLSITEARCH = $(PREFIX)/lib/perl5/site_perl/IP22-irix INSTALLBIN = $(PREFIX)/bin PERL_LIB = /usr/local/lib/perl5 PERL_ARCHLIB = /usr/local/lib/perl5/IP22-irix/5.002 SITELIBEXP = /usr/local/lib/perl5/site_perl SITEARCHEXP = /usr/local/lib/perl5/site_perl/IP22-irix LIBPERL_A = libperl.a MYEXTLIB = $(PVM_ROOT)/lib/$(PVM_ARCH)/libpvm3.a FIRST_MAKEFILE = Makefile MAKE_APERL_FILE = Makefile.aperl PERLMAINCC = $(CC) PERL_INC = /usr/local/lib/perl5/IP22-irix/5.002/CORE PERL = /usr/local/bin/perl FULLPERL = /usr/local/bin/perl VERSION_MACRO = VERSION DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" XS_VERSION_MACRO = XS_VERSION XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" MAKEMAKER = $(PERL_LIB)/ExtUtils/MakeMaker.pm MM_VERSION = 5.21 MM_REVISION = # FULLEXT = Pathname for extension directory (eg DBD/Oracle). # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. # ROOTEXT = Directory part of FULLEXT with leading slash (eg /DBD) # DLBASE = Basename part of dynamic library. May be just equal BASEEXT. FULLEXT = Parallel/Pvm BASEEXT = Pvm ROOTEXT = /Parallel DLBASE = $(BASEEXT) VERSION_FROM = Pvm.pm INC = -I$(PVM_ROOT)/include DEFINE = OBJECT = $(BASEEXT)$(OBJ_EXT) OBJECT = $(BASEEXT)$(OBJ_EXT) LDFROM = $(OBJECT) LINKTYPE = dynamic # Handy lists of source code files: XS_FILES= Pvm.xs C_FILES = Pvm.c O_FILES = Pvm.o H_FILES = MAN1PODS = MAN3PODS = Pvm.pm INST_MAN1DIR = ./blib/man1 INSTALLMAN1DIR = $(PREFIX)/man/man1 MAN1EXT = 1 INST_MAN3DIR = ./blib/man3 INSTALLMAN3DIR = $(PREFIX)/lib/perl5/man/man3 MAN3EXT = 3 # work around a famous dec-osf make(1) feature(?): makemakerdflt: all .SUFFIXES: .xs .c .C .cpp .cxx .cc $(OBJ_EXT) # Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that # some make implementations will delete the Makefile when we rebuild it. Because # we call false(1) when we rebuild it. So make(1) is not completely wrong when it # does so. Our milage may vary. # .PRECIOUS: Makefile # seems to be not necessary anymore .PHONY: all config static dynamic test linkext manifest # Where is the Config information that we are using/depend on CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h $(VERSION_FROM) # Where to put things: INST_LIBDIR = $(INST_LIB)$(ROOTEXT) INST_ARCHLIBDIR = $(INST_ARCHLIB)$(ROOTEXT) INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) INST_STATIC = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT) INST_DYNAMIC = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT) INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs EXPORT_LIST = PERL_ARCHIVE = INST_PM = $(INST_LIBDIR)/Pvm.pm # --- MakeMaker const_loadlibs section: # Parallel::Pvm might depend on some other libraries: # (These comments may need revising:) # # Dependent libraries can be linked in one of three ways: # # 1. (For static extensions) by the ld command when the perl binary # is linked with the extension library. See EXTRALIBS below. # # 2. (For dynamic extensions) by the ld command when the shared # object is built/linked. See LDLOADLIBS below. # # 3. (For dynamic extensions) by the DynaLoader when the shared # object is loaded. See BSLOADLIBS below. # # EXTRALIBS = List of libraries that need to be linked with when # linking a perl binary which includes this extension # Only those libraries that actually exist are included. # These are written to a file and used when linking perl. # # LDLOADLIBS = List of those libraries which can or must be linked into # the shared library when created using ld. These may be # static or dynamic libraries. # LD_RUN_PATH is a colon separated list of the directories # in LDLOADLIBS. It is passed as an environment variable to # the process that links the shared library. # # BSLOADLIBS = List of those libraries that are needed but can be # linked in dynamically at run time on this platform. # SunOS/Solaris does not need this because ld records # the information (from LDLOADLIBS) into the object file. # This list is used to create a .bs (bootstrap) file. # EXTRALIBS = LDLOADLIBS = BSLOADLIBS = LD_RUN_PATH= # --- MakeMaker const_cccmd section: CCCMD = $(CC) -c $(INC) -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 3000 -I/usr/local/include -DLANGUAGE_C -O $(DEFINE_VERSION) $(XS_DEFINE_VERSION) # --- MakeMaker tool_autosplit section: # Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto AUTOSPLITFILE = $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -e 'use AutoSplit;autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;' # --- MakeMaker tool_xsubpp section: XSUBPPDIR = /usr/local/lib/perl5/ExtUtils XSUBPP = $(XSUBPPDIR)/xsubpp XSPROTOARG = XSUBPPDEPS = $(XSUBPPDIR)/typemap XSUBPPARGS = -typemap $(XSUBPPDIR)/typemap # --- MakeMaker tools_other section: SHELL = /bin/sh LD = ld TOUCH = touch CP = cp MV = mv RM_F = rm -f RM_RF = rm -rf CHMOD = chmod UMASK_NULL = umask 0 # The following is a portable way to say mkdir -p # To see which directories are created, change the if 0 to if 1 MKPATH = $(PERL) -wle '$$"="/"; foreach $$p (@ARGV){' \ -e 'next if -d $$p; my(@p); foreach(split(/\//,$$p)){' \ -e 'push(@p,$$_); next if -d "@p/"; print "mkdir @p" if 0;' \ -e 'mkdir("@p",0777)||die $$! } } exit 0;' # This helps us to minimize the effect of the .exists files A yet # better solution would be to have a stable file in the perl # distribution with a timestamp of zero. But this solution doesn't # need any changes to the core distribution and works with older perls EQUALIZE_TIMESTAMP = $(PERL) -we 'open F, ">$$ARGV[1]"; close F;' \ -e 'utime ((stat("$$ARGV[0]"))[8,9], $$ARGV[1])' # Here we warn users that an old packlist file was found somewhere, # and that they should call some uninstall routine WARN_IF_OLD_PACKLIST = $(PERL) -we 'exit unless -f $$ARGV[0];' \ -e 'print "WARNING: I have found an old package in\n";' \ -e 'print "\t$$ARGV[0].\n";' \ -e 'print "Please make sure the two installations are not conflicting\n";' MOD_INSTALL = $(PERL) -I$(INST_LIB) -MExtUtils::Install \ -e 'install({@ARGV},1);' DOC_INSTALL = $(PERL) -e '$$\="\n\n";print "=head3 ", scalar(localtime), ": C<", shift, ">";' \ -e 'print "=over 4";' \ -e 'while ($$key = shift and $$val = shift){print "=item *";print "C<$$key: $$val>";}' \ -e 'print "=back";' UNINSTALL = $(PERL) -MExtUtils::Install \ -e 'uninstall($$ARGV[0],1);' # --- MakeMaker dist section: DISTVNAME = $(DISTNAME)-$(VERSION) TAR = tar TARFLAGS = cvf COMPRESS = gzip SUFFIX = gz SHAR = shar PREOP = @true POSTOP = @true CI = ci -u RCS_LABEL = rcs -Nv$(VERSION_SYM): -q DIST_CP = best DIST_DEFAULT = tardist # --- MakeMaker macro section: # --- MakeMaker depend section: # --- MakeMaker post_constants section: # --- MakeMaker pasthru section: PASTHRU = INSTALLPRIVLIB="$(INSTALLPRIVLIB)"\ INSTALLARCHLIB="$(INSTALLARCHLIB)"\ INSTALLBIN="$(INSTALLBIN)"\ INSTALLMAN1DIR="$(INSTALLMAN1DIR)"\ INSTALLMAN3DIR="$(INSTALLMAN3DIR)"\ LIBPERL_A="$(LIBPERL_A)"\ LINKTYPE="$(LINKTYPE)"\ PREFIX="$(PREFIX)"\ INSTALLSITELIB="$(INSTALLSITELIB)"\ INSTALLSITEARCH="$(INSTALLSITEARCH)"\ INSTALLDIRS="$(INSTALLDIRS)" # --- MakeMaker c_o section: .c$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c .C$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.C .cpp$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cpp .cxx$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cxx .cc$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cc # --- MakeMaker xs_c section: .xs.c: $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >$*.tc && mv $*.tc $@ # --- MakeMaker xs_o section: .xs$(OBJ_EXT): $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && mv xstmp.c $*.c $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c # --- MakeMaker top_targets section: all :: config $(INST_PM) subdirs linkext manifypods subdirs :: $(MYEXTLIB) config :: Makefile $(INST_LIBDIR)/.exists config :: $(INST_ARCHAUTODIR)/.exists config :: $(INST_AUTODIR)/.exists config :: Version_check $(INST_AUTODIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_AUTODIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_AUTODIR)/.exists -@$(CHMOD) 755 $(INST_AUTODIR) $(INST_LIBDIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_LIBDIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_LIBDIR)/.exists -@$(CHMOD) 755 $(INST_LIBDIR) $(INST_ARCHAUTODIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_ARCHAUTODIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_ARCHAUTODIR)/.exists -@$(CHMOD) 755 $(INST_ARCHAUTODIR) config :: $(INST_MAN3DIR)/.exists $(INST_MAN3DIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_MAN3DIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_MAN3DIR)/.exists -@$(CHMOD) 755 $(INST_MAN3DIR) help: perldoc ExtUtils::MakeMaker Version_check: @$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \ -MExtUtils::MakeMaker=Version_check \ -e 'Version_check("$(MM_VERSION)")' # --- MakeMaker linkext section: linkext :: $(LINKTYPE) # --- MakeMaker dlsyms section: # --- MakeMaker dynamic section: # $(INST_PM) has been moved to the all: target. # It remains here for awhile to allow for old usage: "make dynamic" dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM) # --- MakeMaker dynamic_bs section: BOOTSTRAP = Pvm.bs # As Mkbootstrap might not write a file (if none is required) # we use touch to prevent make continually trying to remake it. # The DynaLoader only reads a non-empty file. $(BOOTSTRAP): Makefile $(INST_ARCHAUTODIR)/.exists @echo "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))" @$(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" \ -e 'use ExtUtils::Mkbootstrap;' \ -e 'Mkbootstrap("$(BASEEXT)","$(BSLOADLIBS)");' @$(TOUCH) $(BOOTSTRAP) $(CHMOD) 644 $@ $(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists @rm -rf $(INST_BOOT) -cp $(BOOTSTRAP) $(INST_BOOT) $(CHMOD) 644 $@ # --- MakeMaker dynamic_lib section: # This section creates the dynamically loadable $(INST_DYNAMIC) # from $(OBJECT) and possibly $(MYEXTLIB). ARMAYBE = : OTHERLDFLAGS = INST_DYNAMIC_DEP = $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP) LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) -o $@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB) $(LDLOADLIBS) $(EXPORT_LIST) $(PERL_ARCHIVE) $(CHMOD) 755 $@ # --- MakeMaker static section: # $(INST_PM) has been moved to the all: target. # It remains here for awhile to allow for old usage: "make static" static :: Makefile $(INST_STATIC) $(INST_PM) # --- MakeMaker static_lib section: $(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)/.exists cp $(MYEXTLIB) $@ $(AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@ @echo "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld $(CHMOD) 755 $@ # --- MakeMaker installpm section: inst_pm :: $(INST_PM) # installpm: Pvm.pm => $(INST_LIBDIR)/Pvm.pm, splitlib=$(INST_LIB) $(INST_LIBDIR)/Pvm.pm: Pvm.pm Makefile $(INST_LIBDIR)/.exists $(INST_ARCHAUTODIR)/.exists @rm -f $@ $(UMASK_NULL) && cp Pvm.pm $@ @$(AUTOSPLITFILE) $@ $(INST_LIB)/auto # --- MakeMaker manifypods section: POD2MAN_EXE = /usr/local/bin/pod2man POD2MAN = $(PERL) -we '%m=@ARGV;for (keys %m){' \ -e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "Makefile";' \ -e 'print "Manifying $$m{$$_}\n";' \ -e 'system("$$^X \"-I$(PERL_ARCHLIB)\" \"-I$(PERL_LIB)\" $(POD2MAN_EXE) $$_>$$m{$$_}")==0 or warn "Couldn\047t install $$m{$$_}\n";' \ -e 'chmod 0644, $$m{$$_} or warn "chmod 644 $$m{$$_}: $$!\n";}' manifypods : Pvm.pm @$(POD2MAN) \ Pvm.pm \ $(INST_MAN3DIR)/Parallel::Pvm.$(MAN3EXT) # --- MakeMaker processPL section: # --- MakeMaker installbin section: # --- MakeMaker subdirs section: # none # --- MakeMaker clean section: # Delete temporary files but do not touch installed files. We don't delete # the Makefile here so a later make realclean still has a makefile to use. clean :: -rm -rf Pvm.c ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all perlmain.c mon.out core so_locations *~ */*~ */*/*~ *$(OBJ_EXT) *$(LIB_EXT) perl.exe $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def $(BASEEXT).exp -mv Makefile Makefile.old 2>/dev/null # --- MakeMaker realclean section: # Delete temporary files (via clean) and also delete installed files realclean purge :: clean rm -rf $(INST_AUTODIR) $(INST_ARCHAUTODIR) rm -f $(INST_DYNAMIC) $(INST_BOOT) rm -f $(INST_STATIC) $(INST_PM) rm -rf Makefile Makefile.old # --- MakeMaker dist_basics section: distclean :: realclean distcheck distcheck : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&fullcheck";' \ -e 'fullcheck();' skipcheck : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&skipcheck";' \ -e 'skipcheck();' manifest : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&mkmanifest";' \ -e 'mkmanifest();' # --- MakeMaker dist_core section: dist : $(DIST_DEFAULT) tardist : $(DISTVNAME).tar.$(SUFFIX) $(DISTVNAME).tar.$(SUFFIX) : distdir $(PREOP) $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) $(RM_RF) $(DISTVNAME) $(COMPRESS) $(DISTVNAME).tar $(POSTOP) uutardist : $(DISTVNAME).tar.$(SUFFIX) uuencode $(DISTVNAME).tar.$(SUFFIX) \ $(DISTVNAME).tar.$(SUFFIX) > \ $(DISTVNAME).tar.$(SUFFIX).uu shdist : distdir $(PREOP) $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar $(RM_RF) $(DISTVNAME) $(POSTOP) # --- MakeMaker dist_dir section: distdir : $(RM_RF) $(DISTVNAME) $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "/mani/";' \ -e 'manicopy(maniread(),"$(DISTVNAME)", "$(DIST_CP)");' # --- MakeMaker dist_test section: disttest : distdir cd $(DISTVNAME) && $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) Makefile.PL cd $(DISTVNAME) && $(MAKE) cd $(DISTVNAME) && $(MAKE) test # --- MakeMaker dist_ci section: ci : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&maniread";' \ -e '@all = keys %{ maniread() };' \ -e 'print("Executing $(CI) @all\n"); system("$(CI) @all");' \ -e 'print("Executing $(RCS_LABEL) ...\n"); system("$(RCS_LABEL) @all");' # --- MakeMaker install section: install :: all pure_install doc_install install_perl :: all pure_perl_install doc_perl_install install_site :: all pure_site_install doc_site_install install_ :: install_site @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site pure_install :: pure_$(INSTALLDIRS)_install doc_install :: doc_$(INSTALLDIRS)_install @echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod pure__install : pure_site_install @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site doc__install : doc_site_install @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site pure_perl_install :: @$(MOD_INSTALL) \ read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \ write $(INSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \ $(INST_LIB) $(INSTALLPRIVLIB) \ $(INST_ARCHLIB) $(INSTALLARCHLIB) \ $(INST_EXE) $(INSTALLBIN) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) @$(WARN_IF_OLD_PACKLIST) \ $(SITEARCHEXP)/auto/$(FULLEXT) pure_site_install :: @$(MOD_INSTALL) \ read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ $(INST_LIB) $(INSTALLSITELIB) \ $(INST_ARCHLIB) $(INSTALLSITEARCH) \ $(INST_EXE) $(INSTALLBIN) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) @$(WARN_IF_OLD_PACKLIST) \ $(PERL_ARCHLIB)/auto/$(FULLEXT) doc_perl_install :: @$(DOC_INSTALL) \ "$(NAME)" \ "installed into" "$(INSTALLPRIVLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(INSTALLARCHLIB)/perllocal.pod doc_site_install :: @$(DOC_INSTALL) \ "Module $(NAME)" \ "installed into" "$(INSTALLSITELIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(INSTALLARCHLIB)/perllocal.pod uninstall :: uninstall_from_$(INSTALLDIRS)dirs uninstall_from_perldirs :: @$(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist uninstall_from_sitedirs :: @$(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist # --- MakeMaker force section: # Phony target to force checking subdirectories. FORCE: # --- MakeMaker perldepend section: PERL_HDRS = $(PERL_INC)/EXTERN.h $(PERL_INC)/INTERN.h \ $(PERL_INC)/XSUB.h $(PERL_INC)/av.h $(PERL_INC)/cop.h \ $(PERL_INC)/cv.h $(PERL_INC)/dosish.h $(PERL_INC)/embed.h \ $(PERL_INC)/form.h $(PERL_INC)/gv.h $(PERL_INC)/handy.h \ $(PERL_INC)/hv.h $(PERL_INC)/keywords.h $(PERL_INC)/mg.h \ $(PERL_INC)/op.h $(PERL_INC)/opcode.h $(PERL_INC)/patchlevel.h \ $(PERL_INC)/perl.h $(PERL_INC)/perly.h $(PERL_INC)/pp.h \ $(PERL_INC)/proto.h $(PERL_INC)/regcomp.h $(PERL_INC)/regexp.h \ $(PERL_INC)/scope.h $(PERL_INC)/sv.h $(PERL_INC)/unixish.h \ $(PERL_INC)/util.h $(PERL_INC)/config.h $(OBJECT) : $(PERL_HDRS) Pvm.c : $(XSUBPPDEPS) # --- MakeMaker makefile section: $(OBJECT) : $(FIRST_MAKEFILE) # We take a very conservative approach here, but it's worth it. # We move Makefile to Makefile.old here to avoid gnu make looping. Makefile : Makefile.PL $(CONFIGDEP) @echo "Makefile out-of-date with respect to $?" @echo "Cleaning current config before rebuilding Makefile..." -@mv Makefile Makefile.old -$(MAKE) -f Makefile.old clean >/dev/null 2>&1 || true $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" Makefile.PL @echo ">>> Your Makefile has been rebuilt. <<<" @echo ">>> Please rerun the make command. <<<"; false # --- MakeMaker staticmake section: # --- MakeMaker makeaperl section --- MAP_TARGET = perl FULLPERL = /usr/local/bin/perl $(MAP_TARGET) :: $(MAKE_APERL_FILE) $(MAKE) -f $(MAKE_APERL_FILE) static $@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) @echo Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) @$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \ Makefile.PL DIR= \ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= # --- MakeMaker test section: TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) test :: $(TEST_TYPE) test_dynamic :: all PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) test.pl test_ : test_dynamic test_static :: all $(MAP_TARGET) PERL_DL_NONLAZY=1 ./$(MAP_TARGET) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) test.pl # --- MakeMaker postamble section: # --- MakeMaker selfdocument section: # End. c \ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= # --- MakeMaker test section: TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) test :: $(TEST_TYPE) test_dynamic :: all PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) tesParallel-Pvm-1.1/Makefile.PL000644 002141 000024 00000001102 06210301320 016037 0ustar00edwardnsrc000000 000000 use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'LD' => 'ld', 'NAME' => 'Parallel::Pvm', 'VERSION_FROM' => 'Pvm.pm', # finds $VERSION 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '-I$(PVM_ROOT)/include', # e.g., '-I/usr/include/other' 'MYEXTLIB' => '$(PVM_ROOT)/lib/$(PVM_ARCH)/libpvm3.a', # for Solaris you may have to uncomment the line below # 'LIBS' => "-lsocket -lnsl", 'dist' => {COMPRESS => "gzip", SUFFIX => "gz"}, ); ls of how to influence # the contents of the Makefile that is written. WriteMakefile( 'LD' => 'ld', 'NAME' => 'Parallel::Pvm', 'VERSION_FROM' => 'Pvm.pm', # finds $VERSION 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '-I$(PVM_ROOT)/include', # e.g., '-I/usr/include/other' 'MYEXTLIB' => '$(PVM_ROOT)/lib/$(PVM_ARCH)/libpvm3.a', # for Solaris you may have to uncomment the line below # 'LIBS' => "-lsockParallel-Pvm-1.1/Makefile.old000644 002141 000024 00000047377 06230402511 016340 0ustar00edwardnsrc000000 000000 # This Makefile is for the Parallel::Pvm extension to perl. # # It was generated automatically by MakeMaker version # 5.21 (Revision: 1.174) from the contents of # Makefile.PL. Don't edit this file, edit Makefile.PL instead. # # ANY CHANGES MADE HERE WILL BE LOST! # # MakeMaker Parameters: # DEFINE => q[] # INC => q[-I$(PVM_ROOT)/include] # LD => q[ld] # MYEXTLIB => q[$(PVM_ROOT)/lib/$(PVM_ARCH)/libpvm3.a] # NAME => q[Parallel::Pvm] # VERSION_FROM => q[Pvm.pm] # dist => { COMPRESS=>q[gzip], SUFFIX=>q[gz] } # --- MakeMaker post_initialize section: # --- MakeMaker const_config section: # These definitions are from config.sh (via /usr/local/lib/perl5/IP22-irix/5.002/Config.pm) # They may have been overridden via Makefile.PL or on the command line AR = ar CC = cc CCCDLFLAGS = CCDLFLAGS = DLEXT = so DLSRC = dl_dlopen.xs LD = ld LDDLFLAGS = -shared -L/usr/local/lib LDFLAGS = -L/usr/local/lib LIBC = /usr/lib/libc.so LIB_EXT = .a OBJ_EXT = .o RANLIB = : SITELIBEXP = /usr/local/lib/perl5/site_perl SITEARCHEXP = /usr/local/lib/perl5/site_perl/IP22-irix SO = so # --- MakeMaker constants section: AR_STATIC_ARGS = cr NAME = Parallel::Pvm DISTNAME = Parallel-Pvm NAME_SYM = Parallel_Pvm VERSION = 1.1 VERSION_SYM = 1_1 XS_VERSION = 1.1 INST_LIB = ./blib/lib INST_ARCHLIB = ./blib/arch INST_EXE = ./blib/bin PREFIX = /usr/local INSTALLDIRS = site INSTALLPRIVLIB = $(PREFIX)/lib/perl5 INSTALLARCHLIB = $(PREFIX)/lib/perl5/IP22-irix/5.002 INSTALLSITELIB = $(PREFIX)/lib/perl5/site_perl INSTALLSITEARCH = $(PREFIX)/lib/perl5/site_perl/IP22-irix INSTALLBIN = $(PREFIX)/bin PERL_LIB = /usr/local/lib/perl5 PERL_ARCHLIB = /usr/local/lib/perl5/IP22-irix/5.002 SITELIBEXP = /usr/local/lib/perl5/site_perl SITEARCHEXP = /usr/local/lib/perl5/site_perl/IP22-irix LIBPERL_A = libperl.a MYEXTLIB = $(PVM_ROOT)/lib/$(PVM_ARCH)/libpvm3.a FIRST_MAKEFILE = Makefile MAKE_APERL_FILE = Makefile.aperl PERLMAINCC = $(CC) PERL_INC = /usr/local/lib/perl5/IP22-irix/5.002/CORE PERL = /usr/local/bin/perl FULLPERL = /usr/local/bin/perl VERSION_MACRO = VERSION DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" XS_VERSION_MACRO = XS_VERSION XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" MAKEMAKER = $(PERL_LIB)/ExtUtils/MakeMaker.pm MM_VERSION = 5.21 MM_REVISION = # FULLEXT = Pathname for extension directory (eg DBD/Oracle). # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. # ROOTEXT = Directory part of FULLEXT with leading slash (eg /DBD) # DLBASE = Basename part of dynamic library. May be just equal BASEEXT. FULLEXT = Parallel/Pvm BASEEXT = Pvm ROOTEXT = /Parallel DLBASE = $(BASEEXT) VERSION_FROM = Pvm.pm INC = -I$(PVM_ROOT)/include DEFINE = OBJECT = $(BASEEXT)$(OBJ_EXT) OBJECT = $(BASEEXT)$(OBJ_EXT) LDFROM = $(OBJECT) LINKTYPE = dynamic # Handy lists of source code files: XS_FILES= Pvm.xs C_FILES = Pvm.c O_FILES = Pvm.o H_FILES = MAN1PODS = MAN3PODS = Pvm.pm INST_MAN1DIR = ./blib/man1 INSTALLMAN1DIR = $(PREFIX)/man/man1 MAN1EXT = 1 INST_MAN3DIR = ./blib/man3 INSTALLMAN3DIR = $(PREFIX)/lib/perl5/man/man3 MAN3EXT = 3 # work around a famous dec-osf make(1) feature(?): makemakerdflt: all .SUFFIXES: .xs .c .C .cpp .cxx .cc $(OBJ_EXT) # Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that # some make implementations will delete the Makefile when we rebuild it. Because # we call false(1) when we rebuild it. So make(1) is not completely wrong when it # does so. Our milage may vary. # .PRECIOUS: Makefile # seems to be not necessary anymore .PHONY: all config static dynamic test linkext manifest # Where is the Config information that we are using/depend on CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h $(VERSION_FROM) # Where to put things: INST_LIBDIR = $(INST_LIB)$(ROOTEXT) INST_ARCHLIBDIR = $(INST_ARCHLIB)$(ROOTEXT) INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) INST_STATIC = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT) INST_DYNAMIC = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT) INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs EXPORT_LIST = PERL_ARCHIVE = INST_PM = $(INST_LIBDIR)/Pvm.pm # --- MakeMaker const_loadlibs section: # Parallel::Pvm might depend on some other libraries: # (These comments may need revising:) # # Dependent libraries can be linked in one of three ways: # # 1. (For static extensions) by the ld command when the perl binary # is linked with the extension library. See EXTRALIBS below. # # 2. (For dynamic extensions) by the ld command when the shared # object is built/linked. See LDLOADLIBS below. # # 3. (For dynamic extensions) by the DynaLoader when the shared # object is loaded. See BSLOADLIBS below. # # EXTRALIBS = List of libraries that need to be linked with when # linking a perl binary which includes this extension # Only those libraries that actually exist are included. # These are written to a file and used when linking perl. # # LDLOADLIBS = List of those libraries which can or must be linked into # the shared library when created using ld. These may be # static or dynamic libraries. # LD_RUN_PATH is a colon separated list of the directories # in LDLOADLIBS. It is passed as an environment variable to # the process that links the shared library. # # BSLOADLIBS = List of those libraries that are needed but can be # linked in dynamically at run time on this platform. # SunOS/Solaris does not need this because ld records # the information (from LDLOADLIBS) into the object file. # This list is used to create a .bs (bootstrap) file. # EXTRALIBS = LDLOADLIBS = BSLOADLIBS = LD_RUN_PATH= # --- MakeMaker const_cccmd section: CCCMD = $(CC) -c $(INC) -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 3000 -I/usr/local/include -DLANGUAGE_C -O $(DEFINE_VERSION) $(XS_DEFINE_VERSION) # --- MakeMaker tool_autosplit section: # Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto AUTOSPLITFILE = $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -e 'use AutoSplit;autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;' # --- MakeMaker tool_xsubpp section: XSUBPPDIR = /usr/local/lib/perl5/ExtUtils XSUBPP = $(XSUBPPDIR)/xsubpp XSPROTOARG = XSUBPPDEPS = $(XSUBPPDIR)/typemap XSUBPPARGS = -typemap $(XSUBPPDIR)/typemap # --- MakeMaker tools_other section: SHELL = /bin/sh LD = ld TOUCH = touch CP = cp MV = mv RM_F = rm -f RM_RF = rm -rf CHMOD = chmod UMASK_NULL = umask 0 # The following is a portable way to say mkdir -p # To see which directories are created, change the if 0 to if 1 MKPATH = $(PERL) -wle '$$"="/"; foreach $$p (@ARGV){' \ -e 'next if -d $$p; my(@p); foreach(split(/\//,$$p)){' \ -e 'push(@p,$$_); next if -d "@p/"; print "mkdir @p" if 0;' \ -e 'mkdir("@p",0777)||die $$! } } exit 0;' # This helps us to minimize the effect of the .exists files A yet # better solution would be to have a stable file in the perl # distribution with a timestamp of zero. But this solution doesn't # need any changes to the core distribution and works with older perls EQUALIZE_TIMESTAMP = $(PERL) -we 'open F, ">$$ARGV[1]"; close F;' \ -e 'utime ((stat("$$ARGV[0]"))[8,9], $$ARGV[1])' # Here we warn users that an old packlist file was found somewhere, # and that they should call some uninstall routine WARN_IF_OLD_PACKLIST = $(PERL) -we 'exit unless -f $$ARGV[0];' \ -e 'print "WARNING: I have found an old package in\n";' \ -e 'print "\t$$ARGV[0].\n";' \ -e 'print "Please make sure the two installations are not conflicting\n";' MOD_INSTALL = $(PERL) -I$(INST_LIB) -MExtUtils::Install \ -e 'install({@ARGV},1);' DOC_INSTALL = $(PERL) -e '$$\="\n\n";print "=head3 ", scalar(localtime), ": C<", shift, ">";' \ -e 'print "=over 4";' \ -e 'while ($$key = shift and $$val = shift){print "=item *";print "C<$$key: $$val>";}' \ -e 'print "=back";' UNINSTALL = $(PERL) -MExtUtils::Install \ -e 'uninstall($$ARGV[0],1);' # --- MakeMaker dist section: DISTVNAME = $(DISTNAME)-$(VERSION) TAR = tar TARFLAGS = cvf COMPRESS = gzip SUFFIX = gz SHAR = shar PREOP = @true POSTOP = @true CI = ci -u RCS_LABEL = rcs -Nv$(VERSION_SYM): -q DIST_CP = best DIST_DEFAULT = tardist # --- MakeMaker macro section: # --- MakeMaker depend section: # --- MakeMaker post_constants section: # --- MakeMaker pasthru section: PASTHRU = INSTALLPRIVLIB="$(INSTALLPRIVLIB)"\ INSTALLARCHLIB="$(INSTALLARCHLIB)"\ INSTALLBIN="$(INSTALLBIN)"\ INSTALLMAN1DIR="$(INSTALLMAN1DIR)"\ INSTALLMAN3DIR="$(INSTALLMAN3DIR)"\ LIBPERL_A="$(LIBPERL_A)"\ LINKTYPE="$(LINKTYPE)"\ PREFIX="$(PREFIX)"\ INSTALLSITELIB="$(INSTALLSITELIB)"\ INSTALLSITEARCH="$(INSTALLSITEARCH)"\ INSTALLDIRS="$(INSTALLDIRS)" # --- MakeMaker c_o section: .c$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c .C$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.C .cpp$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cpp .cxx$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cxx .cc$(OBJ_EXT): $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.cc # --- MakeMaker xs_c section: .xs.c: $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >$*.tc && mv $*.tc $@ # --- MakeMaker xs_o section: .xs$(OBJ_EXT): $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && mv xstmp.c $*.c $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c # --- MakeMaker top_targets section: all :: config $(INST_PM) subdirs linkext manifypods subdirs :: $(MYEXTLIB) config :: Makefile $(INST_LIBDIR)/.exists config :: $(INST_ARCHAUTODIR)/.exists config :: $(INST_AUTODIR)/.exists config :: Version_check $(INST_AUTODIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_AUTODIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_AUTODIR)/.exists -@$(CHMOD) 755 $(INST_AUTODIR) $(INST_LIBDIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_LIBDIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_LIBDIR)/.exists -@$(CHMOD) 755 $(INST_LIBDIR) $(INST_ARCHAUTODIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_ARCHAUTODIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_ARCHAUTODIR)/.exists -@$(CHMOD) 755 $(INST_ARCHAUTODIR) config :: $(INST_MAN3DIR)/.exists $(INST_MAN3DIR)/.exists :: /usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h @$(MKPATH) $(INST_MAN3DIR) @$(EQUALIZE_TIMESTAMP) $(PERL) $(INST_MAN3DIR)/.exists -@$(CHMOD) 755 $(INST_MAN3DIR) help: perldoc ExtUtils::MakeMaker Version_check: @$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \ -MExtUtils::MakeMaker=Version_check \ -e 'Version_check("$(MM_VERSION)")' # --- MakeMaker linkext section: linkext :: $(LINKTYPE) # --- MakeMaker dlsyms section: # --- MakeMaker dynamic section: # $(INST_PM) has been moved to the all: target. # It remains here for awhile to allow for old usage: "make dynamic" dynamic :: Makefile $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM) # --- MakeMaker dynamic_bs section: BOOTSTRAP = Pvm.bs # As Mkbootstrap might not write a file (if none is required) # we use touch to prevent make continually trying to remake it. # The DynaLoader only reads a non-empty file. $(BOOTSTRAP): Makefile $(INST_ARCHAUTODIR)/.exists @echo "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))" @$(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" \ -e 'use ExtUtils::Mkbootstrap;' \ -e 'Mkbootstrap("$(BASEEXT)","$(BSLOADLIBS)");' @$(TOUCH) $(BOOTSTRAP) $(CHMOD) 644 $@ $(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists @rm -rf $(INST_BOOT) -cp $(BOOTSTRAP) $(INST_BOOT) $(CHMOD) 644 $@ # --- MakeMaker dynamic_lib section: # This section creates the dynamically loadable $(INST_DYNAMIC) # from $(OBJECT) and possibly $(MYEXTLIB). ARMAYBE = : OTHERLDFLAGS = INST_DYNAMIC_DEP = $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(INST_DYNAMIC_DEP) LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) -o $@ $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) $(MYEXTLIB) $(LDLOADLIBS) $(EXPORT_LIST) $(PERL_ARCHIVE) $(CHMOD) 755 $@ # --- MakeMaker static section: # $(INST_PM) has been moved to the all: target. # It remains here for awhile to allow for old usage: "make static" static :: Makefile $(INST_STATIC) $(INST_PM) # --- MakeMaker static_lib section: $(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)/.exists cp $(MYEXTLIB) $@ $(AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@ @echo "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld $(CHMOD) 755 $@ # --- MakeMaker installpm section: inst_pm :: $(INST_PM) # installpm: Pvm.pm => $(INST_LIBDIR)/Pvm.pm, splitlib=$(INST_LIB) $(INST_LIBDIR)/Pvm.pm: Pvm.pm Makefile $(INST_LIBDIR)/.exists $(INST_ARCHAUTODIR)/.exists @rm -f $@ $(UMASK_NULL) && cp Pvm.pm $@ @$(AUTOSPLITFILE) $@ $(INST_LIB)/auto # --- MakeMaker manifypods section: POD2MAN_EXE = /usr/local/bin/pod2man POD2MAN = $(PERL) -we '%m=@ARGV;for (keys %m){' \ -e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "Makefile";' \ -e 'print "Manifying $$m{$$_}\n";' \ -e 'system("$$^X \"-I$(PERL_ARCHLIB)\" \"-I$(PERL_LIB)\" $(POD2MAN_EXE) $$_>$$m{$$_}")==0 or warn "Couldn\047t install $$m{$$_}\n";' \ -e 'chmod 0644, $$m{$$_} or warn "chmod 644 $$m{$$_}: $$!\n";}' manifypods : Pvm.pm @$(POD2MAN) \ Pvm.pm \ $(INST_MAN3DIR)/Parallel::Pvm.$(MAN3EXT) # --- MakeMaker processPL section: # --- MakeMaker installbin section: # --- MakeMaker subdirs section: # none # --- MakeMaker clean section: # Delete temporary files but do not touch installed files. We don't delete # the Makefile here so a later make realclean still has a makefile to use. clean :: -rm -rf Pvm.c ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all perlmain.c mon.out core so_locations *~ */*~ */*/*~ *$(OBJ_EXT) *$(LIB_EXT) perl.exe $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def $(BASEEXT).exp -mv Makefile Makefile.old 2>/dev/null # --- MakeMaker realclean section: # Delete temporary files (via clean) and also delete installed files realclean purge :: clean rm -rf $(INST_AUTODIR) $(INST_ARCHAUTODIR) rm -f $(INST_DYNAMIC) $(INST_BOOT) rm -f $(INST_STATIC) $(INST_PM) rm -rf Makefile Makefile.old # --- MakeMaker dist_basics section: distclean :: realclean distcheck distcheck : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&fullcheck";' \ -e 'fullcheck();' skipcheck : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&skipcheck";' \ -e 'skipcheck();' manifest : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&mkmanifest";' \ -e 'mkmanifest();' # --- MakeMaker dist_core section: dist : $(DIST_DEFAULT) tardist : $(DISTVNAME).tar.$(SUFFIX) $(DISTVNAME).tar.$(SUFFIX) : distdir $(PREOP) $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) $(RM_RF) $(DISTVNAME) $(COMPRESS) $(DISTVNAME).tar $(POSTOP) uutardist : $(DISTVNAME).tar.$(SUFFIX) uuencode $(DISTVNAME).tar.$(SUFFIX) \ $(DISTVNAME).tar.$(SUFFIX) > \ $(DISTVNAME).tar.$(SUFFIX).uu shdist : distdir $(PREOP) $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar $(RM_RF) $(DISTVNAME) $(POSTOP) # --- MakeMaker dist_dir section: distdir : $(RM_RF) $(DISTVNAME) $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "/mani/";' \ -e 'manicopy(maniread(),"$(DISTVNAME)", "$(DIST_CP)");' # --- MakeMaker dist_test section: disttest : distdir cd $(DISTVNAME) && $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) Makefile.PL cd $(DISTVNAME) && $(MAKE) cd $(DISTVNAME) && $(MAKE) test # --- MakeMaker dist_ci section: ci : $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use ExtUtils::Manifest "&maniread";' \ -e '@all = keys %{ maniread() };' \ -e 'print("Executing $(CI) @all\n"); system("$(CI) @all");' \ -e 'print("Executing $(RCS_LABEL) ...\n"); system("$(RCS_LABEL) @all");' # --- MakeMaker install section: install :: all pure_install doc_install install_perl :: all pure_perl_install doc_perl_install install_site :: all pure_site_install doc_site_install install_ :: install_site @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site pure_install :: pure_$(INSTALLDIRS)_install doc_install :: doc_$(INSTALLDIRS)_install @echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod pure__install : pure_site_install @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site doc__install : doc_site_install @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site pure_perl_install :: @$(MOD_INSTALL) \ read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \ write $(INSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \ $(INST_LIB) $(INSTALLPRIVLIB) \ $(INST_ARCHLIB) $(INSTALLARCHLIB) \ $(INST_EXE) $(INSTALLBIN) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) @$(WARN_IF_OLD_PACKLIST) \ $(SITEARCHEXP)/auto/$(FULLEXT) pure_site_install :: @$(MOD_INSTALL) \ read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ $(INST_LIB) $(INSTALLSITELIB) \ $(INST_ARCHLIB) $(INSTALLSITEARCH) \ $(INST_EXE) $(INSTALLBIN) \ $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ $(INST_MAN3DIR) $(INSTALLMAN3DIR) @$(WARN_IF_OLD_PACKLIST) \ $(PERL_ARCHLIB)/auto/$(FULLEXT) doc_perl_install :: @$(DOC_INSTALL) \ "$(NAME)" \ "installed into" "$(INSTALLPRIVLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(INSTALLARCHLIB)/perllocal.pod doc_site_install :: @$(DOC_INSTALL) \ "Module $(NAME)" \ "installed into" "$(INSTALLSITELIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> $(INSTALLARCHLIB)/perllocal.pod uninstall :: uninstall_from_$(INSTALLDIRS)dirs uninstall_from_perldirs :: @$(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist uninstall_from_sitedirs :: @$(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist # --- MakeMaker force section: # Phony target to force checking subdirectories. FORCE: # --- MakeMaker perldepend section: PERL_HDRS = $(PERL_INC)/EXTERN.h $(PERL_INC)/INTERN.h \ $(PERL_INC)/XSUB.h $(PERL_INC)/av.h $(PERL_INC)/cop.h \ $(PERL_INC)/cv.h $(PERL_INC)/dosish.h $(PERL_INC)/embed.h \ $(PERL_INC)/form.h $(PERL_INC)/gv.h $(PERL_INC)/handy.h \ $(PERL_INC)/hv.h $(PERL_INC)/keywords.h $(PERL_INC)/mg.h \ $(PERL_INC)/op.h $(PERL_INC)/opcode.h $(PERL_INC)/patchlevel.h \ $(PERL_INC)/perl.h $(PERL_INC)/perly.h $(PERL_INC)/pp.h \ $(PERL_INC)/proto.h $(PERL_INC)/regcomp.h $(PERL_INC)/regexp.h \ $(PERL_INC)/scope.h $(PERL_INC)/sv.h $(PERL_INC)/unixish.h \ $(PERL_INC)/util.h $(PERL_INC)/config.h $(OBJECT) : $(PERL_HDRS) Pvm.c : $(XSUBPPDEPS) # --- MakeMaker makefile section: $(OBJECT) : $(FIRST_MAKEFILE) # We take a very conservative approach here, but it's worth it. # We move Makefile to Makefile.old here to avoid gnu make looping. Makefile : Makefile.PL $(CONFIGDEP) @echo "Makefile out-of-date with respect to $?" @echo "Cleaning current config before rebuilding Makefile..." -@mv Makefile Makefile.old -$(MAKE) -f Makefile.old clean >/dev/null 2>&1 || true $(PERL) "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" Makefile.PL @echo ">>> Your Makefile has been rebuilt. <<<" @echo ">>> Please rerun the make command. <<<"; false # --- MakeMaker staticmake section: # --- MakeMaker makeaperl section --- MAP_TARGET = perl FULLPERL = /usr/local/bin/perl $(MAP_TARGET) :: $(MAKE_APERL_FILE) $(MAKE) -f $(MAKE_APERL_FILE) static $@ $(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) @echo Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) @$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) \ Makefile.PL DIR= \ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= # --- MakeMaker test section: TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) test :: $(TEST_TYPE) test_dynamic :: all PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) test.pl test_ : test_dynamic test_static :: all $(MAP_TARGET) PERL_DL_NONLAZY=1 ./$(MAP_TARGET) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) test.pl # --- MakeMaker postamble section: # --- MakeMaker selfdocument section: # End. c \ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= # --- MakeMaker test section: TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) test :: $(TEST_TYPE) test_dynamic :: all PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) tesParallel-Pvm-1.1/Pvm.bs000644 002141 000024 00000000000 06230405745 015173 0ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/Pvm.c000644 002141 000024 00000106221 06230600755 015023 0ustar00edwardnsrc000000 000000 /* * This file was generated automatically by xsubpp version 1.933 from the * contents of Pvm.xs. Don't edit this file, edit Pvm.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #ifdef __cplusplus } #endif /* MY EXTENSION */ #include #include #include #include #include "pvm3.h" #define MAXPROCS 100 #define MAXHOSTS 100 #define MAXSTR 100000 #define STRING 1 #define INTEGER 2 #define DOUBLE 3 static char g_buffer[MAXSTR]; static SV *recvf_callback = (SV *)NULL; static int (*olmatch)(); static int recvf_foo( int bufid, int tid, int tag ) { dSP ; int count; int compare_val; ENTER ; SAVETMPS ; PUSHMARK(sp) ; XPUSHs(sv_2mortal(newSViv(bufid))); XPUSHs(sv_2mortal(newSViv(tid))); XPUSHs(sv_2mortal(newSViv(tag))); PUTBACK ; count = perl_call_sv(recvf_callback,G_SCALAR); SPAGAIN ; if ( count != 1 ) croak("pvm_recvf: comparison function must return only one scalar\n"); compare_val = POPi; PUTBACK ; FREETMPS ; LEAVE ; return compare_val; } static HV * derefHV( SV *node ) { HV *hv_tmp; if ( SvROK(node) ){ if ( SvTYPE(SvRV(node)) == SVt_PVHV ){ hv_tmp = (HV *)SvRV(node); return hv_tmp; } } return 0; } static int string_byte_cnt( char *str ) { int cnt=0; while( str[cnt] != '\0' ){ cnt++; } /* add 1 for the byte holding the '\0' */ return cnt+1; } static int string_type( char *str ) { int i=0; int could_be_double=0; int must_be_double=0; while ( str[i] != '\0' ){ /* */ if ( ! isdigit(str[i]) ){ if ( str[i] == '.' && could_be_double == 0 ){ could_be_double = 1; }else{ return STRING; } } /* else{ if ( could_be_double ){ if ( str[i] != '0' ){ must_be_double = 1; } } } */ i++; } if ( could_be_double ) return DOUBLE; return INTEGER; } static char * buffer_string( char *str, int new_flag ) { static int cnt; int i; if ( new_flag ){ cnt=0; for (i=0;str[i] && cnt 5) croak("Usage: Parallel::Pvm::spawn(task,ntask,flag=PvmTaskDefault,where=\"\",argvRef=0)"); SP -= items; { char * task = (char *)SvPV(ST(0),na); int ntask = (int)SvIV(ST(1)); int flag; char * where; SV * argvRef; int tids[MAXPROCS]; int info; int i; char ** argv = (char **)0; if (items < 3) flag = PvmTaskDefault; else { flag = (int)SvIV(ST(2)); } if (items < 4) where = ""; else { where = (char *)SvPV(ST(3),na); } if (items < 5) argvRef = 0; else { argvRef = ST(4); } if (argvRef) { int argc; AV * av; SV ** a; if (!SvROK(argvRef)) croak("Parallel::Pvm::spawn - non-reference passed for argv"); av = (AV *) SvRV( argvRef ); argc = av_len( av ) + 1; /* number of elts in vector */ Newz( 0, argv, argc+1, char *); /* last one will be NULL */ for (i = 0; i < argc; i++) { if ( a = av_fetch( av, i, 0) ) argv[i] = (char *) SvPV( *a, na ); } } info = pvm_spawn(task,argv,flag,where,ntask,tids); Safefree( argv ); /* no harm done if argv is NULL */ XPUSHs(sv_2mortal(newSViv(info))); for (i=0;i 1) croak("Usage: Parallel::Pvm::initsend(flag=PvmDataDefault)"); { int flag; int RETVAL; if (items < 1) flag = PvmDataDefault; else { flag = (int)SvIV(ST(0)); } RETVAL = pvm_initsend(flag); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_send) { dXSARGS; if (items != 2) croak("Usage: Parallel::Pvm::send(tid,tag)"); { int tid = (int)SvIV(ST(0)); int tag = (int)SvIV(ST(1)); int RETVAL; RETVAL = pvm_send(tid,tag); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_psend) { dXSARGS; if (items < 2) croak("Usage: Parallel::Pvm::psend(tid,tag,...)"); { int tid = (int)SvIV(ST(0)); int tag = (int)SvIV(ST(1)); int i; char *str, *po; int RETVAL; if ( items == 2 ) croak("Usage: Parallel::Pvm::pack(@argv)"); for(i=2;i 2) croak("Usage: Parallel::Pvm::probe(tid=-1,tag=-1)"); { int tid; int tag; int RETVAL; if (items < 1) tid = -1; else { tid = (int)SvIV(ST(0)); } if (items < 2) tag = -1; else { tag = (int)SvIV(ST(1)); } RETVAL = pvm_probe(tid,tag); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_recv) { dXSARGS; if (items < 0 || items > 2) croak("Usage: Parallel::Pvm::recv(tid=-1,tag=-1)"); { int tid; int tag; int RETVAL; if (items < 1) tid = -1; else { tid = (int)SvIV(ST(0)); } if (items < 2) tag = -1; else { tag = (int)SvIV(ST(1)); } RETVAL = pvm_recv(tid,tag); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_nrecv) { dXSARGS; if (items < 0 || items > 2) croak("Usage: Parallel::Pvm::nrecv(tid=-1,tag=-1)"); { int tid; int tag; int RETVAL; if (items < 1) tid = -1; else { tid = (int)SvIV(ST(0)); } if (items < 2) tag = -1; else { tag = (int)SvIV(ST(1)); } RETVAL = pvm_nrecv(tid,tag); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_trecv) { dXSARGS; if (items < 0 || items > 4) croak("Usage: Parallel::Pvm::trecv(tid=-1,tag=-1,sec=1,usec=0)"); { int tid; int tag; int sec; int usec; struct timeval tmout; int RETVAL; if (items < 1) tid = -1; else { tid = (int)SvIV(ST(0)); } if (items < 2) tag = -1; else { tag = (int)SvIV(ST(1)); } if (items < 3) sec = 1; else { sec = (int)SvIV(ST(2)); } if (items < 4) usec = 0; else { usec = (int)SvIV(ST(3)); } tmout.tv_sec = sec; tmout.tv_usec = usec; RETVAL = pvm_trecv(tid,tag,&tmout); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_precv) { dXSARGS; if (items < 0 || items > 2) croak("Usage: Parallel::Pvm::precv(tid=-1,tag=-1)"); SP -= items; { int tid; int tag; int info, src, stag, scnt; char str[MAXSTR]; char *po; int type; if (items < 1) tid = -1; else { tid = (int)SvIV(ST(0)); } if (items < 2) tag = -1; else { tag = (int)SvIV(ST(1)); } info = pvm_precv(tid,tag,str,MAXSTR,PVM_BYTE,&src,&stag,&scnt); XPUSHs(sv_2mortal(newSViv(info))); XPUSHs(sv_2mortal(newSViv(src))); XPUSHs(sv_2mortal(newSViv(stag))); po = strtok(str,"\v"); while ( po != NULL ){ type = string_type(po); switch(type){ case STRING: XPUSHs(sv_2mortal(newSVpv(po,0))); break; case INTEGER: XPUSHs(sv_2mortal(newSViv(atoi(po)))); break; case DOUBLE: XPUSHs(sv_2mortal(newSVnv(atof(po)))); break; } po = strtok(NULL,"\v"); } PUTBACK; return; } } XS(XS_Parallel__Pvm_parent) { dXSARGS; if (items != 0) croak("Usage: Parallel::Pvm::parent()"); { int RETVAL; RETVAL = pvm_parent(); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_mytid) { dXSARGS; if (items != 0) croak("Usage: Parallel::Pvm::mytid()"); { int RETVAL; RETVAL = pvm_mytid(); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_pack) { dXSARGS; { int i; char *str, *po; int RETVAL; if ( items <= 0 ) croak("Usage: Parallel::Pvm::pack(@argv)"); for (i=0;i 1) croak("Usage: Parallel::Pvm::catchout(io=stdout)"); { FILE * io; int RETVAL; if (items < 1) io = stdout; else { io = IoIFP(sv_2io(ST(0))); } RETVAL = pvm_catchout(io); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_tasks) { dXSARGS; if (items < 0 || items > 1) croak("Usage: Parallel::Pvm::tasks(where=0)"); SP -= items; { int where; int ntask,i,info; struct pvmtaskinfo *taskp; int ti_tid,ti_ptid,ti_host,ti_flag,ti_pid; char ti_a_out[256]; HV *hv_tmp; if (items < 1) where = 0; else { where = (int)SvIV(ST(0)); } info = pvm_tasks(where,&ntask,&taskp); XPUSHs(sv_2mortal(newSViv(info))); for(i=0;i 1) croak("Usage: Parallel::Pvm::mkbuf(encode=PvmDataDefault)"); { int encode; int RETVAL; if (items < 1) encode = PvmDataDefault; else { encode = (int)SvIV(ST(0)); } RETVAL = pvm_mkbuf(encode); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_setrbuf) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::setrbuf(bufid)"); { int bufid = (int)SvIV(ST(0)); int RETVAL; RETVAL = pvm_setrbuf(bufid); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_setsbuf) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::setsbuf(bufid)"); { int bufid = (int)SvIV(ST(0)); int RETVAL; RETVAL = pvm_setsbuf(bufid); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_kill) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::kill(tid)"); { int tid = (int)SvIV(ST(0)); int RETVAL; RETVAL = pvm_kill(tid); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_mstat) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::mstat(host)"); { char * host = (char *)SvPV(ST(0),na); int RETVAL; RETVAL = pvm_mstat(host); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_pstat) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::pstat(tid)"); { int tid = (int)SvIV(ST(0)); int RETVAL; RETVAL = pvm_pstat(tid); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_tidtohost) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::tidtohost(tid)"); { int tid = (int)SvIV(ST(0)); int RETVAL; RETVAL = pvm_tidtohost(tid); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_getopt) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::getopt(what)"); { int what = (int)SvIV(ST(0)); int RETVAL; RETVAL = pvm_getopt(what); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_setopt) { dXSARGS; if (items != 2) croak("Usage: Parallel::Pvm::setopt(what,val)"); { int what = (int)SvIV(ST(0)); int val = (int)SvIV(ST(1)); int RETVAL; RETVAL = pvm_setopt(what,val); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_reg_hoster) { dXSARGS; if (items != 0) croak("Usage: Parallel::Pvm::reg_hoster()"); { int RETVAL; RETVAL = pvm_reg_hoster(); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_reg_tasker) { dXSARGS; if (items != 0) croak("Usage: Parallel::Pvm::reg_tasker()"); { int RETVAL; RETVAL = pvm_reg_tasker(); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_reg_rm) { dXSARGS; if (items != 0) croak("Usage: Parallel::Pvm::reg_rm()"); { struct pvmhostinfo *hip; int RETVAL; RETVAL = pvm_reg_rm(&hip); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_perror) { dXSARGS; if (items != 1) croak("Usage: Parallel::Pvm::perror(msg)"); { char * msg = (char *)SvPV(ST(0),na); int RETVAL; RETVAL = pvm_perror(msg); ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } XSRETURN(1); } XS(XS_Parallel__Pvm_notify) { dXSARGS; if (items < 2) croak("Usage: Parallel::Pvm::notify(what,tag,...)"); { int what = (int)SvIV(ST(0)); int tag = (int)SvIV(ST(1)); int i, cnt, tids[MAXPROCS]; int RETVAL; switch(what){ case PvmTaskExit: case PvmHostDelete: if ( items < 3 ) croak("Usage: Parallel::Pvm::pvm_notify(what,tag,tid_list"); for (i=2;it€Í@ÓÚç?ôþ$D(<GG,lanI˜lˆ•LЮºNÔ€ÓßPTøQd)Rt @JT€coU”€ˆ”W€ª³X”œÊÔZ0€ëõ[°€]0€6A^°àYd`€a «ºb°ÒÝcÀœõe\p#hÌ„@KkP˜ernè8‰‘š¤p Ø¿pø pÒÚæìõ ü.symtab.shstrtab.strtab.text.rodata.data.bss.options.reginfo.rel.text.rel.rodata.gptab.data.gptab.bss.mdebug.text.rodata.data.bssstack_sppush_scopesave_inttmps_floortmps_ixmarkstack_ptrmarkstack_maxmarkstack_growstack_basestack_maxstack_growsv_2mortalnewSVivperl_call_svcroakSvsv_2ivfree_tmpspop_scope__ctypeerrnostrcmpXS_Parallel__Pvm_constantnasv_2pvsv_newmortalsv_setnvXS_Parallel__Pvm_spawnav_lensafemallocmemsetav_fetchpvm_spawnsafefreeXS_Parallel__Pvm_initsendpvm_initsendsv_setivXS_Parallel__Pvm_sendpvm_sendXS_Parallel__Pvm_psendpvm_psendXS_Parallel__Pvm_mcastpvm_mcastXS_Parallel__Pvm_sendsigpvm_sendsigXS_Parallel__Pvm_probepvm_probeXS_Parallel__Pvm_recvpvm_recvXS_Parallel__Pvm_nrecvpvm_nrecvXS_Parallel__Pvm_trecvpvm_trecvXS_Parallel__Pvm_precvpvm_precvstrtoknewSVpvatoinewSVnvatofXS_Parallel__Pvm_parentpvm_parentXS_Parallel__Pvm_mytidpvm_mytidXS_Parallel__Pvm_packpvm_pkstrXS_Parallel__Pvm_unpackpvm_upkstrXS_Parallel__Pvm_exitpvm_exitXS_Parallel__Pvm_haltpvm_haltXS_Parallel__Pvm_catchout__iobsv_2iopvm_catchoutXS_Parallel__Pvm_taskspvm_tasksstrcpynewHVhv_storenewRVXS_Parallel__Pvm_configpvm_configXS_Parallel__Pvm_addhostspvm_addhostsXS_Parallel__Pvm_delhostspvm_delhostsXS_Parallel__Pvm_bufinfopvm_bufinfoXS_Parallel__Pvm_freebufpvm_freebufXS_Parallel__Pvm_getrbufpvm_getrbufXS_Parallel__Pvm_getsbufpvm_getsbufXS_Parallel__Pvm_mkbufpvm_mkbufXS_Parallel__Pvm_setrbufpvm_setrbufXS_Parallel__Pvm_setsbufpvm_setsbufXS_Parallel__Pvm_killpvm_killXS_Parallel__Pvm_mstatpvm_mstatXS_Parallel__Pvm_pstatpvm_pstatXS_Parallel__Pvm_tidtohostpvm_tidtohostXS_Parallel__Pvm_getoptpvm_getoptXS_Parallel__Pvm_setoptpvm_setoptXS_Parallel__Pvm_reg_hosterpvm_reg_hosterXS_Parallel__Pvm_reg_taskerpvm_reg_taskerXS_Parallel__Pvm_reg_rmpvm_reg_rmXS_Parallel__Pvm_perrorpvm_perrorXS_Parallel__Pvm_notifypvm_notifyXS_Parallel__Pvm_recv_notifypvm_upkintXS_Parallel__Pvm_hostsyncpvm_hostsyncXS_Parallel__Pvm_recvfnewSVsvsv_setsvpvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvmsprintfperl_get_svnewXSsv_setpvsv_yes_gp_disp<'œ™à!'½ÿЯ°™¯¿Ž¯¼¯¤0¯¥4 ø ¯¦8¼™„ ø ¼ŽÎƒ¬.Œo™%â¬b9" ™ ø ¼‚ŒBˆ‹H# Pƒ¬Jkp`# hƒ ™ %(% ø $¼@€%™¤0 ø &¼@ %™ ø ¼®ŽÎÐx#Àƒ™ %(% ø $¼@€%™¤4 ø &¼@ %™ ø ¼®™ %90@#Hƒ ™(% ø $¼@€%™¤8 ø &¼@ %™ ø ¼®„™Œ„(% ø ¬0¼$ŽA„™$„ ø ¼‚Ž &ÿü¬JK@ % cÀM£ ™ ø ¼@%ŽÎï¬0Ï* ™¯£  ø ¼£ ™¯£  ø ¿¼¢ °à'½0àŽ%À€%O$càÿý$Bà$b<'œ™à!Ž%À€%…„$.¤x!‘ø3 Å`$à$E$B ÿð¤x!`$à$à<'œ™à!'½ÿ௿¯¼ '¯¤ (%à€p%˜<'‘à !4ƆŸÀ! ƒC$¥$„`$B¦ÿù<4ƆŸ¦¬%†¤„™$„< ø ¼…™Œ¥†¤'9¹@!/¡…‰Œ¥†¤%)« $ © ! Š‘l$„€$¥<4ƆŸ¦* ‘c`! ƒC$¥$„`$B¦* ÿø<4ƆŸ¦ ¬%†¤„™$„p ø ¼…Œ¥†¤%­­ ! €‚¿'½ à$Bà<'œ™à!'½ÿ௿¯¼¯°¯¥$¬ Ž€€%%Ïÿ¿-á ³x€/!Œ/Œüx!à…™ % ø $¥Ì¼@<?ðDD€¥¿…™ % ø $¥Ø¼@<@DD€™¿…™ % ø $¥ä¼@<@DD€¿…™ % ø $¥ð¼@<@DD€¿…™ % ø $¥ü¼@<@DD€u¿…™ % ø $¥¼@<@DD€i¿…™ % ø $¥¼@<@ DD€]¿…™ % ø $¥¼@<@DD€Q¿…™ % ø $¥(¼@D€D€E¿…™ % ø $¥0¼@<@$DD€9¿…™ % ø $¥<¼@<@&DD€-¿…™ % ø $¥H¼@<@"DD€!¿…™ % ø $¥T¼@<@DD€¿…™ % ø $¥d¼@<À>DD€ ¿…™ % ø $¥p¼@<@DD€ý¿…™ % ø $¥|¼@<À(DD€ñ¿…™ % ø $¥ˆ¼@<ÀDD€å¿…™ % ø $¥”¼@<À:DD€Ù¿…™ % ø $¥¤¼@<À=DD€Í¿…™ % ø $¥´¼@<À9DD€Á¿…™ % ø $¥À¼@D€D€µ¿…™ % ø $¥м@<@DD€©¿…™ % ø $¥ܼ@<@DD€¿…™ % ø $¥ì¼@<?ðDD€‘¿…™ % ø $¥ø¼@<@DD€…¿…™ % ø $¥¼@<?ðDD€y¿…™ % ø $¥¼@Ä!øÄ ük¿…™ % ø $¥$¼@<À2DD€_¿…™ % ø $¥0¼@<À®ŽH %H# Pƒ@™(% ø $¼0@€%™& ø  %¼0@ %™ ø ¼0@ %™ ø ¼0®ŽK %p`# hƒ ™(% ø $¼0@€%™& ø  %¼0F ™ ø ¼0@ %™ ø ¼0®…™ % ø $¥€¼0@ÿ“@ˆ%¿4¬0<4!‡(°$±(²,à¡è!<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„„ ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„¤ ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!'½ÿ°†¯µ,ŒÃ•¯¿4¯¼0¯´(¯³$¯² ¯±¯°¯¤PŒn…ޤx€Œ¥ä!DÈ#@ƒ¢ˆ# ƒ% $xÿü¯©D€ˆ%€¬Ø„™$„Ä ø ¼0 8€%²D‘X€`%<ެh€p!Ò!ŒDŒóÀ$ Œ™(®(ŒI*F™ (% ø ¼0@0% ™À %'9Ì ø $¼0@ %™À %'9Ì ø (%¼0@ %&ÿЯ¤8²D™¤8X€ ø `%¼0@€%™ ø ެ¼0’h!­¢Ž®™Òx!ä ø (%¼0¸Dލ¿4È€µ,°±² ³$´((H!'½Pà¬)<'œ™à!<4!†ø¡è#<…=!¯¿$¯¼ ¯²¯±¯°¬$†øŒ¢˜ŒNŽx€ø !#ˆƒ$Yÿü ¬¹„™$„è ø ¼ ™'²HH€ €# ø @ %¼ @ %…™$¥ ø ¼ @q@ˆ%’™ %'9D ø ¼ $A$A$A<XŽJ %PX# `ƒ€™(% ø $¼ @€%™& % ø (%¼ @ %™ ø ¼ >®ŽM %°p#xƒà™(% ø $¼ @€%™& ø  %¼ @ %™ ø ¼ @ %™ ø ¼ ®ŽX %È#@ƒ™(% ø $¼ @€%™& ø  %¼ F ™ ø ¼ @ %™ ø ¼ ®…™ % ø $¥ ¼ @ÿ“@ˆ%¿$¬0<4!†ø°±²à¡è!<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„ ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„0 ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!‡'½ÿÀŒã¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢0#% Pƒ$xÿü¯©4@0%@¬ø)A „™¯¦$ ø $„P¼¦$À£4„X€`%$„£4­`€™¬p!į¬$ ø €%ŒO¼£$ä ™¯£$ ø ¼¯¢(™ ø ¼£$˜ˆÈ!¯"™H!$¥( ø ¼ª4Œ¿Œ X€lh!'½@à¬-<'œ™à!'½þh†¯²$ŒÃ’¯¿D¯¾@¯¼<¯·8¯¶4¯µ0¯´,¯³(¯± ¯°¯¤˜Œn”ŽDx€Ž”ä!Dˆ#‚(#@ƒȃ$xÿü'1€%¬Ø) H€„™$„| ø ¼<H€‰ # %ŽJX€K`!…Œ­ sÀÁŒ¯ä ™  % ø ¼<@ %™'¥€ ø '¦t¼<@€%˜€ %È#@ƒ™€(% ø $¼<@ %™&” ø  %¼<@ %™ ø ¼<®‚©€ð% ¨%ªt™UX!e ø '¤`¬t¼<•!™ŒqŒrŒsŒvŒw  ø ¼<@€%™'¤` ø (%¼< %…™$@8%¯  ø $¥¤¼< %™ ø ¼< %…™$@8%¯  ø $¥°¼<@ %™ ø ¼< %…™$@8%¯  ø $¥¸¼<` %™ ø ¼< %…™$@8%¯  ø $¥À¼<À %™ ø ¼< %…™$@8%¯  ø $¥ȼ<à %™ ø ¼< %…™$@8%¯  ø $¥м<€ %­´p#xƒà™€(% ø $¼<@ %™&” ø  %¼<@ %™ ø ¼<®‚¸€'ÞØ* ÿu&µ¿D¬4´,°± ²$³(µ0¶4·8¾@à'½˜<'œ™à!'½ý€…¯²$Œ¢˜¯¿D¯¾@¯¼<¯·8¯¶4¯µ0¯´,¯³(¯± ¯°¯¤€’ŒNŽRx€ø !D#€ƒ$Yÿü¬¹„™$„Ø ø ¼<™H€I#'¤l'¥h ø '¦`¼<@€%ž@ %ÊRX# `ƒ€™@(% ø $¼<@%™&R ø  %¼<@ %™ ø ¼<®B­l¨% q˜%'·`'¶`®`™Ó!ŒQŒE ø À %¼<¯`™óÀ! ø à %¹`¼<3@!™  ø ¼<@€%™ % ø ¼< %…™$@8%¯  ø $¥ø¼<À %™(% ø ¼< %…™$@8%¯  ø $¥ ¼<à %™(% ø ¼< %…™$@8%¯  ø $¥ ¼<€ %™ ø ¼< %…™$@8%¯  ø $¥ ɼ<2P# Xƒ`@ %™@(% ø $¼<@%™&R ø  %¼<@ %™ ø ¼<®B¬l&µ¬* ÿ“&s¿D¬2²$°± ³(´,µ0¶4·8¾@à'½€<'œ™à!'½üp†¯·4ŒÃ¯² —¯¿<¯¼8¯¶0¯µ,¯´(¯³$¯±¯°¯¤’ŒnŽäŽRx€ä!B(#°ƒDˆ#ȃH€$xÿü'1¬ØÀI#„™$„  ø ¼8À&˜%¨€‘'°ä<ŽêX€K`!•!ŒDŒ´p$À Œø®8ŒY( ® ™ (% ø ¼8®&svÿá&˜%™'¤äÀ(% ø '¦T¼8@€%‘@ %Ž*RX# `ƒ€™@(% ø $¼8@%™&R ø  %¼8@ %™ ø ¼8À®B'°TŽ-@ %²p#xƒà™@(% ø $¼8@%™Ž ø &R¼8@ %™ ø &s¼8&vÿæ®B¿<¬2² °±³$´(µ,¶0·4à'½<'œ™à!'½üh†¯·4ŒÃ¯² —¯¿<¯¼8¯¶0¯µ,¯´(¯³$¯±¯°¯¤˜’ŒnŽäŽRx€ä!B(#°ƒDˆ#ȃH€$xÿü'1¬ØÀI#„™$„ L ø ¼8À&˜%¨€‘'°ô<ŽêX€K`!•!ŒDŒ´p$À Œø®8ŒY( ® ™ (% ø ¼8®&svÿá&˜%™'¤ôÀ(% ø '¦d¼8@€%‘@ %Ž*RX# `ƒ€™@(% ø $¼8@%™&R ø  %¼8@ %™ ø ¼8À®B'°dŽ-@ %²p#xƒà™@(% ø $¼8@%™Ž ø &R¼8@ %™ ø &s¼8&vÿæ®B¿<¬2² °±³$´(µ,¶0·4à'½˜<'œ™à!'½ÿ°ˆ…¯¿¯¼¯°¯¤PŒnŒ¥x€Žå!E0# #Hƒȃ$$xÿü'& 8%! ­„™¯¦D¯©@ ø $„ |¼¦D…§@Œ¥X€«`!„P€Œ €# sÀÁŒø ¯¸<™ ø ¼¯¢<™¤<'¥8'¦4 ø '§0¼@8%™90H# Pƒ@ ™ %(%$ ø ¯¢,¼§,@€%™& ø à %¼@ %™ ø ¼®‹ %kp`# hƒ ™(% ø $¼@€%™¤8 ø &¼@ %™ ø ¼®Ž %ÎÐx#Àƒ™(% ø $¼@€%™¤4 ø &¼@ %™ ø ¼®™ %90H# Pƒ@™(% ø $¼@€%™¤0 ø &¼@ %™ ø ¼®¿¬0°à'½P<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ ¤ ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„ Ì ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„ ì ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!‡'½ÿÀŒã¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢0#% Pƒ$xÿü¯©4@0%@¬ø)A „™¯¦$ ø $„ ¼¦$À£4 %X€`%£4­`€¬p!Å€%Œ¯ÃÀŒ¹$ ™  % ø ¯£$¼£$@ %™¯£$ ø ¼¯¢(™ ø ¼£$ˆŠH!­"J™CX!d¥( ø ¼¬4Ž¿Î h€®x!'½@à¬/<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ @ ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ h ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„  ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ ° ø ¼„Œ„£4`€Œ!ŒF€%ŒÍÀ % s@Á ŒÏø¬8ŒY(™… ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ‰‹)#P!­Bk™c`!„¥( ø ¼­4¿ï p€ÏÀ!'½@à¬8<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ Ô ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ ø ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„  ø ¼„Œ„£4`€Œh!¥€%Œ®{Àጸ ™  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ™‰9#@!­)™#P!D¥( ø ¼«4¿­ `€p!'½@à¬.<'œ™à!†'½ÿ¸ŒÃ¯¤H„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©<a ¬Ø„™$„ D ø ¼„Œ„¦<`€Œ!Œe€0%Œ­ sÀÁŒ¯ç  Œd™  % ø ¯¦$¼¦$˜@8%!ŒdŒ™CÀŒ‰%  ™¯¦$ ø ¯§4¼¦$§4@(%™à % ø ¯¦$¼¯¢,™ ø ¼¦$ŠŒJFX!­bŒ™†h!¤¥, ø ¼®<˜¿x€øÈ!'½Hà¬9<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„ l ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!†'½ÿȌï¤8„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„™$„  ø ¼™ ø ¼¯¢$™ ø ¼£,†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥$ ø ¼¹,‰¿)@€ P!'½8à¬*<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©4`¬Ø„™$„ ´ ø ¼™'¤, ø ¼¯¢(™ ø ¼£4†`€ŒÍ¬p!­ÂŒÏ™ìÀ!¥( ø ¼¹4‰¿)@€ P!'½@à¬*<'œ™à!†'½ÿÀŒÃ¯¤@„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„™$„ Ô ø ¼„Œ„£4`€Œ!ŒF€%ŒÍÀ % s@Á ŒÏø¬8ŒY(™… ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ ø ¼£ ‰‹)#P!­Bk™c`!„¥( ø ¼­4¿ï p€ÏÀ!'½@à¬8<'œ™à!'½þ†¯³$ŒÃ“¯¿,¯¼(¯² ¯±¯°¯¤Œn…Ždx€Œ¥ä!DÈ#¢P# €ƒ@ƒ% *$xÿü¯©ô¯°@ ¬Ø„™$„ ø ø ¼(Žd²ô<`€Œ!Œe€%Œ­ sÀÁŒ¯ø  ¯¸ì™  % ø Žy¼(¯¢ì2!ŒdŒˆH$ ŒŠK ¯«è™ ø ¼(¯¢è¬ì$$$:­@e­@)¡ ®@„™$„ $ ø ¼(®@$)Á '¥XŽoÀ€øÈ!2@!Œ‰1P$@Œ‹l  ¬¬ÿø™¯£ä ø ¯¥8¥8¼(£䬢ÿø$cpÿæ$¥¦@™¤ì¥è'§P ø $Æÿþ¼(/¯¢L­@)¡ ®@„™$„ X ø ¼(®@$Á$ÿÿŽoòÀ!Œ™1@$Œ‰& ™ ø ¼(@0%™¤ì¥è ø 8%¼(¯¢L™ ø Žj¼(RX!­bŽl™’h!¤¥L ø ¼(®ôŽx¿,x€³$°±² øÈ!'½à¬9<'œ™à!'½þ†…ŒÃ¯¿$¯¼ ¯²¯±¯°¯¤èŒn’Œ¥x€ŽRå!E€#B #ˆƒȃ$$xÿü'0! ¬Ø„™$„  ø ¼ …Œ¥P€ªX!dH€ŒŒI# kÀ¡ŒŽÐ ™ ø ¼ @€%™$ÿÿ ø $ÿÿ¼ $'¤Ð$$$'¤ÈP™$ ø $¼ @ %ïòÀ#ȃ ™@(% ø $¼ @%™¤Ð ø &R¼ @ %™ ø ¼ /®B™$ ø $¼ ¥È™'¤8 ø $¨ȼ !€%'±8‰@ %)2P# Xƒ`™@(% ø $¼ @%™Ž$ ø &R¼ @ %™ ø ¼ ®B¬È& * ÿâ&1¿$¬2²°±à'½è<'œ™à!'½ÿ˜ˆ…¯¿$¯¼ ¯°¯¤hŒnŒ¥x€Žå!E0# #Hƒȃ$$xÿü'& 8%! ­„™¯¦\¯©X ø $„ ¸¼ ¦\…§XŒ¥X€«`!„P€Œ €# sÀÁŒç ™ ø ¼ @8%™à %'¥L ø '¦D¼ @8%˜È#Hƒ ™ %(%$ ø ¯¢@¼ §@@€%™& ø à %¼ @ %™ ø ¼ ®ªL«P™¯ª< ø ¯«8¼ ¤<™¯¢4 ø ¼ ¤4…™$@8%¯  ø $¥ ܼ ¤8™ ø ¼ ¤4…™$@8%¯  ø $¥ ä¼ ŒŒh# pƒÀ™ %(% ø $¼ @€%™¤4 ø &¼ @ %™ ø ¼ ®¯D¸H™¯¯< ø ¯¸8¼ ¤<™¯¢4 ø ¼ ¤4…™$@8%¯  ø $¥ ì¼ ¤8™ ø ¼ ¤4…™$@8%¯  ø $¥ ô¼  %™90H# Pƒ@™(% ø $¼ @€%™¤4 ø &¼ @ %™ ø ¼ ®¿$¬0°à'½h<'œ™à!†'½ÿЌï¤0„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©$a ¬Ø„™$„ ü ø ¼„Œ„¬$† h€ŒÆp!ÅÀ ™  % ø ¼¬"™À % ø ¼„™$„ ø ¼¯$™¬"† 9¿À€@!'½0à¬(<'œ™à!†'½ÿЌï¤0„¯¿¯¼Œn…Œ„x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©$`¬Ø„™$„  ø ¼„Œ„† €™ ø ¼ެ$ο h€®x!'½0à¬/<'œ™à!'½þ¨¯¤X„ƒŒ‚¯¿$¯¼ ¯°ŒNŒcx€ã€!È#†Hƒ%* `€$XÿüŒÆ¬˜¯ªL¯¬0l!ŒDŒ s@Á Œø¬8ŒY)*¯ª@™… ø ¯¦T¼ ¦T¯¢@ÐX# `ƒ) ®0­ƒ®x!ø¬x…™'°D¦@ % ø $¥ H¼  %™(% ø ¼ ƒ¬bŒd€MŒ‚<PÈ$ K@! ŒŠK¬+ŒŒ¯­<™… ø ¼ ¯¢<„™¥< ø $„ T¼ @.„Œ„€Œ‚Pp$À{@á Œ˜¬9Œ‰( ™… ø ¼ @%`@%ˆ% ”„§@†™¯¨$„ Xà(% ø $Æ ¼ „™…& @0% ø $„ œ¼ 0%„™… ø $„ ´¼ @ %…™$¥ Ì ø ¼ 0%„™… ø $„ Ô¼ @ %…™$¥ ì ø ¼ 0%„™… ø $„ ð¼ @ %…™$¥ ø ¼ 0%„™… ø $„¼ @ %…™$¥  ø ¼ 0%„™… ø $„(¼ @ %…™$¥@ ø ¼ 0%„™… ø $„D¼ @ %…™$¥\ ø ¼ 0%„™… ø $„`¼ @ %…™$¥x ø ¼ 0%„™… ø $„|¼ @ %…™$¥ ø ¼ 0%„™… ø $„”¼ @ %…™$¥¬ ø ¼ 0%„™… ø $„°¼ @ %…™$¥È ø ¼ 0%„™… ø $„м @ %…™$¥è ø ¼ 0%„™… ø $„ì¼ @ %…™$¥ ø ¼ 0%„™… ø $„¼ @ %…™$¥  ø ¼ 0%„™… ø $„$¼ @ %…™$¥8 ø ¼ 0%„™… ø $„<¼ @ %…™$¥T ø ¼ 0%„™… ø $„X¼ @ %…™$¥l ø ¼ 0%„™… ø $„p¼ @ %…™$¥„ ø ¼ 0%„™… ø $„ˆ¼ @ %…™$¥  ø ¼ 0%„™… ø $„¤¼ @ %…™$¥¼ ø ¼ 0%„™… ø $„À¼ @ %…™$¥Ø ø ¼ 0%„™… ø $„ܼ @ %…™$¥ô ø ¼ 0%„™… ø $„ø¼ @ %…™$¥ ø ¼ 0%„™… ø $„¼ @ %…™$¥, ø ¼ 0%„™… ø $„0¼ @ %…™$¥H ø ¼ 0%„™… ø $„L¼ @ %…™$¥d ø ¼ 0%„™… ø $„h¼ @ %…™$¥€ ø ¼ 0%„™… ø $„„¼ @ %…™$¥œ ø ¼ 0%„™… ø $„ ¼ @ %…™$¥¸ ø ¼ 0%„™… ø $„¼¼ @ %…™$¥Ô ø ¼ 0%„™… ø $„ؼ @ %…™$¥ì ø ¼ 0%„™… ø $„ð¼ @ %…™$¥ ø ¼ 0%„™… ø $„ ¼ @ %…™$¥$ ø ¼ 0%„™… ø $„(¼ @ %…™$¥D ø ¼ 0%„™… ø $„H¼ @ %…™$¥` ø ¼ 0%„™… ø $„d¼ @ %…™$¥| ø ¼ 0%„™… ø $„€¼ @ %…™$¥œ ø ¼ 0%„™… ø $„ ¼ @ %…™$¥¼ ø ¼ 0%„™… ø $„À¼ @ %…™$¥Ø ø ¼ 0%„™… ø $„ܼ @ %…™$¥ô ø ¼ 0%„™… ø $„ø¼ @ %…™$¥ ø ¼ 0%„™… ø $„¼ @ %…™$¥4 ø ¼ 0%„™… ø $„8¼ 0%„™… ø $„P¼ @ %…™$¥h ø ¼ 0%„™… ø $„l¼ @ %…™$¥ˆ ø ¼ ­0Œ‹Œp!­Ë¯L¿$À€° È!'½Xà¬9pvm_recvf: comparison function must return only one scalar Warning: message truncated. Try increasing MAXSTRWarning: message truncated. Try increasing MAXSTR%s not implemented on this architecturePVM_BYTEPVM_CPLXPVM_DCPLXPVM_DOUBLEPVM_FLOATPVM_INTPVM_LONGPVM_SHORTPVM_STRPVM_UINTPVM_ULONGPVM_USHORTPvmAllowDirectPvmAlreadyPvmAutoErrPvmBadMsgPvmBadParamPvmBadVersionPvmCantStartPvmDSysErrPvmDataDefaultPvmDataFooPvmDataInPlacePvmDataRawPvmDebugMaskPvmDontRoutePvmDupEntryPvmDupGroupPvmDupHostPvmFragSizePvmHostAddPvmHostComplPvmHostDeletePvmHostFailPvmMismatchPvmMppFrontPvmNoBufPvmNoDataPvmNoEntryPvmNoFilePvmNoGroupPvmNoHostPvmNoInstPvmNoMemPvmNoParentPvmNoSuchBufPvmNoTaskPvmNotImplPvmNotInGroupPvmNullGroupPvmOkPvmOutOfResPvmOutputCodePvmOutputTidPvmOverflowPvmPollConstantPvmPollSleepPvmPollTimePvmPollTypePvmResvTidsPvmRoutePvmRouteDirectPvmSelfOutputCodePvmSelfOutputTidPvmSelfTraceCodePvmSelfTraceTidPvmShowTidsPvmSysErrPvmTaskArchPvmTaskChildPvmTaskDebugPvmTaskDefaultPvmTaskExitPvmTaskHostPvmTaskSelfPvmTaskTracePvmTraceCodePvmTraceTidUsage: Parallel::Pvm::constant(name,arg)Usage: Parallel::Pvm::spawn(task,ntask,flag=PvmTaskDefault,where="",argvRef=0)Parallel::Pvm::spawn - non-reference passed for argvUsage: Parallel::Pvm::initsend(flag=PvmDataDefault)Usage: Parallel::Pvm::send(tid,tag)Usage: Parallel::Pvm::psend(tid,tag,...)Usage: Parallel::Pvm::pack(@argv)Usage: Parallel::Pvm::pvm_mcast(tids_list,tag)Usage: Parallel::Pvm::sendsig(tid,sig)Usage: Parallel::Pvm::probe(tid=-1,tag=-1)Usage: Parallel::Pvm::recv(tid=-1,tag=-1)Usage: Parallel::Pvm::nrecv(tid=-1,tag=-1)Usage: Parallel::Pvm::trecv(tid=-1,tag=-1,sec=1,usec=0)Usage: Parallel::Pvm::precv(tid=-1,tag=-1) Usage: Parallel::Pvm::parent()Usage: Parallel::Pvm::mytid()Usage: Parallel::Pvm::pack(@argv)Usage: Parallel::Pvm::unpack() Usage: Parallel::Pvm::exit()Usage: Parallel::Pvm::halt()Usage: Parallel::Pvm::catchout(io=stdout)Usage: Parallel::Pvm::tasks(where=0)ti_a_outti_tidti_ptidti_pidti_hostti_flagUsage: Parallel::Pvm::config()hi_tidhi_namehi_archhi_speedUsage: Parallel::Pvm::pvm_addhosts(host_list)Usage: Parallel::Pvm::pvm_delhosts(host_list)Usage: Parallel::Pvm::bufinfo(bufid)Usage: Parallel::Pvm::freebuf(bufid)Usage: Parallel::Pvm::getrbuf()Usage: Parallel::Pvm::getsbuf()Usage: Parallel::Pvm::mkbuf(encode=PvmDataDefault)Usage: Parallel::Pvm::setrbuf(bufid)Usage: Parallel::Pvm::setsbuf(bufid)Usage: Parallel::Pvm::kill(tid)Usage: Parallel::Pvm::mstat(host)Usage: Parallel::Pvm::pstat(tid)Usage: Parallel::Pvm::tidtohost(tid)Usage: Parallel::Pvm::getopt(what)Usage: Parallel::Pvm::setopt(what,val)Usage: Parallel::Pvm::reg_hoster()Usage: Parallel::Pvm::reg_tasker()Usage: Parallel::Pvm::reg_rm()Usage: Parallel::Pvm::perror(msg)Usage: Parallel::Pvm::notify(what,tag,...)Usage: Parallel::Pvm::pvm_notify(what,tag,tid_listUsage: Parallel::Pvm::pvm_notify(PvmHostAdd,tag [,cnt]Usage: Parallel::Pvm::recv_notify(what)Usage: Parallel::Pvm::hostsync(hst)tv_sechi_usectv_sechi_usecUsage: Parallel::Pvm::recvf(fn)Usage: Parallel::Pvm::recvf_old()Pvm.c%s::VERSION1.1%s object version %s does not match %s.pm $VERSION %s1.1(undef)Parallel::Pvm::constantParallel::Pvm::spawn$$;$$$Parallel::Pvm::initsend;$Parallel::Pvm::send$$Parallel::Pvm::psend$$;@Parallel::Pvm::mcast@Parallel::Pvm::sendsig$$Parallel::Pvm::probe;$$Parallel::Pvm::recv;$$Parallel::Pvm::nrecv;$$Parallel::Pvm::trecv;$$$$Parallel::Pvm::precv;$$Parallel::Pvm::parentParallel::Pvm::mytidParallel::Pvm::pack@Parallel::Pvm::unpackParallel::Pvm::exitParallel::Pvm::haltParallel::Pvm::catchout;$Parallel::Pvm::tasks;$Parallel::Pvm::configParallel::Pvm::addhosts@Parallel::Pvm::delhosts@Parallel::Pvm::bufinfo$Parallel::Pvm::freebuf$Parallel::Pvm::getrbufParallel::Pvm::getsbufParallel::Pvm::mkbuf$Parallel::Pvm::setrbuf$Parallel::Pvm::setsbuf$Parallel::Pvm::kill$Parallel::Pvm::mstat$Parallel::Pvm::pstat$Parallel::Pvm::tidtohost$Parallel::Pvm::getopt$Parallel::Pvm::setopt$$Parallel::Pvm::reg_hosterParallel::Pvm::reg_taskerParallel::Pvm::reg_rmParallel::Pvm::perror$Parallel::Pvm::notify$$;@Parallel::Pvm::recv_notify$Parallel::Pvm::hostsyncParallel::Pvm::recvf$Parallel::Pvm::recvf_old```````````````¸``````````À@€ óÿÿþ0óÿÿþ0  D @ d X \ p Œ ¤ ´ ¸ è   4 T p ˆ   À Ø ð     , @ HD \ ” ´ ¬ ° Ð ì DHd ÌÐü 8 HL TP h pl t„ Œˆ ô    $ ,( 0< LX\h ˜ ¤¸ ȼ è øì  ( H XL x ˆ| ¨ ¸¬ Ø èÜ    8 H< h xl ˜ ¨œ È ØÌ ø ü ( 8, X h\ ˆ ˜Œ ¸ ȼ è øì  (  H X L x ˆ | ¨ ¸ ¬ Ø è Ü    8 H < h x l ˜ ¨ œ ¸ À Ä Ð à Ô    0 @ 4 ` p d    ” À Ð Ä ð  ô  0 $ P ` T €  „ ° À ´ à ð ä    @ P D p € t   ° ¤ Ð à Ô   0 @4 ` pd   ” À ÐÄ ð ô   0$ P `T € „ ° À´ à ðä    @ PD p €t   °¤ Ð àÔ   0 @4 ` pd   ” À ÐÄ ð ô   0$ P `T € „ ° À´ à ðä    @ PD p €t   °¤ Ð àÔ   0 @4 ` „ˆ °   ì ôð  H x t Œ Ð ð ø  $ 4 L h t Œœ À ¬    ( `  Œ ¤ è  ` Œ ”  Ô   4 l tp Œ! ¤" ¼# à$   T L |% ¬& Ä ä ü  < \ t Œ ´ ÔØà  ð H XL „ È ä( ü   0) P \ tx€    Ü äà ø H ` ¤ Ä+ Ü ô ø ) 0 < TXd p œ Ü äà < Œ ° ¸ ´ Ø !< !\ !d!| !„!¨ !°!Ä- !è " ) "0 "d"h"t "¬ "€ "ì "ô"ð # #x # $ $ / $8 $P $T $x) $ $œ $Ð$Ô$Ü $ü $ì %8 %@%< %T %¤ %¼ & & 1 &8 &P &T &l) &Œ &˜ &°&´&¼ &Ü &Ì '$ '4'( '` '¤ 'Ø ( (<3 (T (l (p (ˆ) (¨ (´ (Ì(Ð(Ø (ø (è )@ )P)D )| )À )ô *8 *X5 *p *ˆ *Œ *¤) *Ä *Ð *è*ì*ô + + +\ +l+` +˜ +Ü , ,T ,t7 ,Œ ,¤ ,¨ ,À) ,à ,ì --- -0 - -x -ˆ-| -´ -ø ., .p .¤ .è /$ /h /9 /´ /Ì /Ð /è) 0 0 0,000H 0t 0l 0Ä 0Ì0À 0ø 1@ 1x 1¼ 1ð; 2, 2L 2h 2€ 2° 2Ì 2è 3 34 3P 3l 3x3h< 3ˆ 33Ü 3ô= 4 4D 4\> 4t 4Œ 4À 4Ø@ 4ð? 5 5  505$< 5@ 5h5l5t 5” 5„ 5Ì 5Ô5Ð 5èB 6 6 64) 6T 6` 6x6|6„ 6¤ 6” 6Ü 6ä6à 6øD 7 7( 7D) 7d 7p 7ˆ7Œ7˜ 7¤ 7Ì 8 88  80 8œ 8¼ 8Ä8Ü 8ä9 F 9( 9L) 9p 9 9¤9¼ 9ä 9à : :: :,H :L :T:P< :l :t :|:È :à= :ü ;0 ;H> ;` ;x ;¬ ;Ä@ ;Ü? ;ô <  <<< <,  >0) >P >\ >t>x>€ >  > >è >ø>ì ?N ?( ?8O ?dP ?| ?” ?˜ ?°) ?Ð ?Ü ?ô?ø@ @ @D @ˆ @@Œ @ô A R A$ AD A\ At A S AÀT Aè= B BBU B$ B< BTB@U B` Bx BB|U Bœ B´ BÌB¸U BØ Bð CBôU C C, CDC0U CP Cp CˆV C  CÌ DDD DP D D| D„D€ D˜X D¼ DÜ Dô E  E@S E`S E€T E˜ E° EÈE´U EÔ= Eì FEðU F= F( F@F,U FL Fd F|FhU F˜ F°V FÈ Fô G,G0G< GL Gt G´ G¼G¸ GÜ HD HlZ Hˆ H¨ HÀ HØ I I( I@ Id I˜IœI¨ I¸ Ià J  J(J$ JH J° JØ\ Jô K K, KD K| K” K¬ KÐ LLL L4 L Lp L„Lt L LØ Lð^ M M0 MT Ml M„ M¤ M¼ MÔ Mì N  N$ N< NT Nt NŒ N¤ N¼ NÔNØNà O Nð O< ODO@ OX O¨ OÄ` OÜ Oô Oø P) P0 P< PTPXP` P€ Pp P¸ PÀP¼ PÔb Pì Q Q ) Q@ QL QdQhQp Q Q€ QÈ QÐQÌ Qäd Qü R R0) RP R\ RtRxR€ R  R Rè RøRì S$ Sh S„f Sœ S´ S¸ SÐ) Sð Sü TTT T@ T0 T| T„T€ T˜ Tè Uh U U4 U8 UP) Up U| U”U˜U  UÀ U° Uü VV V Vh V„j Vœ V´ V¸ VÐ) Vð Vü WWW W@ W0 W| W„W€ W˜ Wè Xl X X4 X8 XP) Xp X| X”X˜X  XÀ X° Xü YY Y YX Yˆ Y„ Y n Y¸ YÐ YÔ Yì) Z Z Z0Z4Z< Z\ ZL Z˜ Z Zœ Z´ [ [ p [8 [P [T [l) [Œ [˜ [°[´[¼ [Ü [Ì \ \ \ \4 \„ \ r \¸ \Ð \Ô \ì) ] ] ]0]4]< ]\ ]L ]˜ ] ]œ ]´ ^ ^ t ^8 ^P ^T ^l) ^Œ ^˜ ^°^´^¼ ^Ü ^Ì _ _ _ _4 _„ _œ _à `v ` `0 `4 `L) `l `x ``”`œ `¼ `¬ `ô `ü`ø ax a( a@ a\) a| aˆ a a¤a¬ aÌ a¼ b b b b z b8 bP bl) bŒ b˜ b°b´b¼ bÜ bÌ c cc c0| cH c` c|) cœ c¨ cÀcÄcÌ cì cÜ d( d0d, dD d„ d´ d° dÌ~ dä dü e e) e8 eD e\e`el ex e˜ eØ eàeÜ f8 fˆ fÜ fäfà gL g|€ g´ g¼g¸ h$ h<€ hX h|) h¤ hÌhÐhÜ i hà i< iDi@ iX i  i¸5 iô‚ j  j, jD j\ jx‚ j‚ j´ jÔ jì k k0 kPkTk` k€ kd k¼ kÐkÀ kÜ l$ l<„ lX lx lœ l´ lÔT lì m mmU m( m@ mXmDU md m„ m V m¸ mØT mð n n n U n, nD n\nHU nh nˆ n V n¸ nÐ nènìnô o o oP oXoT ol o€ oˆoœ† o´ o¼oÀ‡ oØ oào܈ oô oüoø p p p$p, pL p< p„ pŒpˆ p  p¨p¸ˆ pÐ pÜ pøpüq q8 q q€ q° q¬ qè qÜ qü rr‹ r Œ r8 rt rœ r˜ r° rÀr´ rÐ s s0 s, sL sTsX sls` sxsd s„ s”sˆ s s sŒ s¬ s¼s´ s° sÈ sÐsÌŽ sä sôsì' sè t ttŽ t t,t$* t t8 t@t<Ž tT tdt\, tX tp txttŽ tŒ tœt”. t t¨ t°t¬Ž tÄ tÔtÌ0 tÈ tà tètäŽ tü u u2 u u u uŽ u4 uDu<4 u8 uP uXuTŽ ul u|ut6 up uˆ uuŒŽ u¤ u´u¬8 u¨ uÀ uÈuÄŽ uÜ uìuä: uà uø vuüŽ v v$vA v v0 v8v4Ž vL v\vTC vP vh vpvlŽ v„ v”vŒE vˆ v  v¨v¤Ž v¼ vÌvÄG vÀ vØ vàvÜŽ vô wvüI vø w wwŽ w, w<w4K w0 wH wPwLŽ wd wtwlM wh w€ wˆw„Ž wœ w¬w¤Q w  w¸ wÀw¼Ž wÔ wäwÜW wØ wð wøwôŽ x  xxY x x( x0x,Ž xD xTxL[ xH x` xhxdŽ x| xŒx„] x€ x˜ x xœŽ x´ xÄx¼_ x¸ xÐ xØxÔŽ xì xüxôa xð y yy Ž y$ y4y,c y( y@ yHyDŽ y\ ylyde y` yx y€y|Ž y” y¤yœg y˜ y° y¸y´Ž yÌ yÜyÔi yÐ yè yðyìŽ z zz k z z  z(z$Ž z< zLzDm z@ zX z`z\Ž zt z„z|o zx z z˜z”Ž z¬ z¼z´q z° zÈ zÐzÌŽ zä zôzìs zè { {{Ž { {,{$u { {8 {@{<Ž {T {d{\w {X {p {x{tŽ {Œ {œ{”y { {¨ {°{¬Ž {Ä {Ô{Ì{ {È {à {è{äŽ {ü | |} | | | |Ž |4 |D|< |8 |P |X|TŽ |l |||t |p |ˆ ||ŒŽ |¤ |´|¬ƒ |¨ |À |Ð|È… |Ä |Ü |ä|àŽ |ø }}‰ |ü } }}Ž }4 }0 }< Œ  ” ˜ œ   ¤ ¨ ¬ ° ´ ¸ ¼ À Ä È Ì Ð Ô Ø Ü à ä è ì ð † †°p ZÖÎ  5Ý$ƒçèÕ¨î ò ðø Õ¨Œà@°òP°P(ô0à#à @â!(1ðð á"0à!1PÐ4%!ƒ ñ@À`ðñð0Ð0òððñ$óà(† $F$F$F$F$F$F$F$G#F$F$F$F$F$F$F$F$F$F$F$G#F$F$F$F$F$G%F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$G#F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$G#F$F$G#F$F$F$ððñðñð((5ñ(ðóòð2à à!à(ð€ à"(4(4&!d ðð!'Òx!à"(ó0ððñðñðQ(%ó(ðñðñð((%ó(øòð' à(A&³€€ÿøˆ(ø€‚ÿø€€ÿøˆ òHðó(ðñðñð((%ó(ðñðñða(2(%ó(ðñðñða(2(%ó(ðñðñða(2(%ó(ðñðñð€ (2(2(2(Aàó(ð€ €ÿ÷ (2((ð%(ð8ð87 ððñðñð&5(ðñðñð&5(øP°f&³€ÿø„(ð&P°Bð(ð8ð87 ððñðñð&5(ðñðñð&5(ðñðñðQ(%ó(øð€ €ÿ÷ (%ð` #((„ÿï€ðøð&€ ÿø…ñð à#( à(„ÿó€ðøò€†ó6ððñ ðøòp vó6ððñpðóòð(2à à('ððñðñð((%ó(ðñðñð&5(ðñðñð&5(ðñðñðQ(%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð&5(ðñðñð&5(ðñðñð&E(ðñðñð((%ó(öòð' à(84ò7ð4(7(õñð(2à à(D@ÀÿøDð4ðô0ðóòð(2à à(V Ð0à ð( Ð0à ð(ððñðñð( ðñ%% à à'ðñðñð&%8ò0Ó8"à#ñÿÿÿìÿÿÿÿ0(CÅÿÿÿÿJJ/ÇÿÿÿÿX_0D Ñÿÿÿÿd|5Ì óÿÿÿüÿÿÿÿ ‘DPTÿÿÿÿ™™cXVÿÿÿüÿÿÿÿ ¢¯d„!ÿÿÿÔÿÿÿÿH¸ÅŒ£ÿÿþÿÿÿÿÉ-ÔõÿÿÿÜÿÿÿÿ@ |t]ÿÿÿÔÿÿÿÿH!-–TÕÿÿÿÜÿÿÿÿ`1I±"d™ÿÿþ,ÿÿÿÿMaÝ$Ð 4ÿÿÿÔÿÿÿÿHeq&°" ¬ÿÿÿÔÿÿÿÿHu(Ì$ 3ÿÿÿÔÿÿÿÿH‘©>*è& ºÿÿÿÔÿÿÿÿH­Å]-( AÿÿÿÄÿÿÿÿXÉò|0,* ÿþy ÿÿÿÿ‡(ö#ª5h, Zÿÿÿäÿÿÿÿ8(2ê6x. žÿÿÿäÿÿÿÿ86@ý7ˆ0 â?ÿÿÿäÿÿÿÿPDX9 2hÿþy,ÿÿÿÿ†ø\v.t8ÿÿÿÜÿÿÿÿ@—¨y?ô:ýÐÿÿÿþ¬ÿÿÿÿ˜¬Ô’D<ÐÿÿÿýÄÿÿÿÿ€Ù÷ÒG,>Ëÿÿÿü¬ÿÿÿÿü I˜@fÿÿÿü¤ÿÿÿÿ˜-1LBÿÿÿÌÿÿÿÿP2@UNÔDµÿÿÿÜÿÿÿÿ@EPxPTFÿÿÿäÿÿÿÿ8T^QdHYÿÿÿäÿÿÿÿ8bl£RtJÿÿÿÜÿÿÿÿ@p¶TLÿÿÿÜÿÿÿÿ@…ÐU”NeÿÿÿÜÿÿÿÿ@”ŸèWPÅÿÿÿÜÿÿÿÿ@£®X”R%ÿÿÿÜÿÿÿÿ@²½Z0TŒÿÿÿÜÿÿÿÿ@ÁÌ1[°VìÿÿÿÜÿÿÿÿ@ÐÛI]0XLÿÿÿÜÿÿÿÿ@ßêa^°Z¬ÿÿÿÔÿÿÿÿHîúy`\$ÿÿÿäÿÿÿÿ8þ”a ^hÿÿÿäÿÿÿÿ8 §b°`¬ÿÿÿÜÿÿÿÿ@%ºcÀbðÿÿÿÜÿÿÿÿ@)4Íe\dWÿÿþ,ÿÿÿÿ8XæhÌf3ÿÿþ<ÿÿÿÿè\ukPhÔÿÿÿ¼ÿÿÿÿhz˜=nèjºÿÿÿìÿÿÿÿ0ªxp lÿÿÿìÿÿÿÿ0®·”pøn>ÿÿþÌÿÿÿÿX¾ò¥, qoÿÿOÿÿ† oÿÿ'8 ' 18 1 98 9( ID8 Iˆ UÌ8 c†¤oÿÿU„ gP8 g pX8 y p, ƒ„ ƒ Œ H ´Ô !´  Ît #Îà äT %ä û"d 'ûl $Ð )à +&° ++ "B(Ì -B $X*è /X &o- 1o( (†0, 3†< *5h 5 ,µ6x 7µ .Ì7ˆ 9Ì 0â9  ;â´ 2út A&€ 8@?ô C@ :WD EW( <oG, Gol >‰I˜ I‰l @£L K£Ð B¼NÔ M¼€ DÕPT OÕ FîQd Qî HRt S  JT U€ L7U” W7€ NPW YP€ PfX” [fœ R}Z0 ]}€ T”[° _”€ V¯]0 a¯€ XÇ^° cÇà Zß` eß \ûa  gû ^b° i `/cÀ k/œ bGe\ mGp d_hÌ o_„ f|kP q|˜ h–nè s–8 j­p  u­Ø lÈpø wÈ p n ,  ,  ,  ,  ,  ,  ,  ,  ,   !    "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnp !  !  !  !  !  !  !  !  ! Pvm.cg_bufferrecvf_callbackolmatchrecvf_fooderefHVstring_byte_cntstring_typebuffer_stringcntnot_hereconstantnot_thereXS_Parallel__Pvm_constantXS_Parallel__Pvm_spawnXS_Parallel__Pvm_initsendXS_Parallel__Pvm_sendXS_Parallel__Pvm_psendXS_Parallel__Pvm_mcastXS_Parallel__Pvm_sendsigXS_Parallel__Pvm_probeXS_Parallel__Pvm_recvXS_Parallel__Pvm_nrecvXS_Parallel__Pvm_trecvXS_Parallel__Pvm_precvXS_Parallel__Pvm_parentXS_Parallel__Pvm_mytidXS_Parallel__Pvm_packXS_Parallel__Pvm_unpackXS_Parallel__Pvm_exitXS_Parallel__Pvm_haltXS_Parallel__Pvm_catchoutXS_Parallel__Pvm_tasksXS_Parallel__Pvm_configXS_Parallel__Pvm_addhostsXS_Parallel__Pvm_delhostsXS_Parallel__Pvm_bufinfoXS_Parallel__Pvm_freebufXS_Parallel__Pvm_getrbufXS_Parallel__Pvm_getsbufXS_Parallel__Pvm_mkbufXS_Parallel__Pvm_setrbufXS_Parallel__Pvm_setsbufXS_Parallel__Pvm_killXS_Parallel__Pvm_mstatXS_Parallel__Pvm_pstatXS_Parallel__Pvm_tidtohostXS_Parallel__Pvm_getoptXS_Parallel__Pvm_setoptXS_Parallel__Pvm_reg_hosterXS_Parallel__Pvm_reg_taskerXS_Parallel__Pvm_reg_rmXS_Parallel__Pvm_perrorXS_Parallel__Pvm_notifyXS_Parallel__Pvm_recv_notifyXS_Parallel__Pvm_hostsyncXS_Parallel__Pvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvm/usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h/usr/local/lib/perl5/IP22-irix/5.002/CORE/proto.h/usr/include/ctype.h/usr/include/errno.h/usr/include/string.h/usr/local/lib/perl5/IP22-irix/5.002/CORE/handy.h/usr/local/public/parallel/pvm3/include/pvm3.h/usr/include/stdlib.h/usr/include/stdio.hstack_sppush_scopesave_inttmps_floortmps_ixmarkstack_ptrmarkstack_maxmarkstack_growstack_basestack_maxstack_growsv_2mortalnewSVivperl_call_svcroakSvsv_2ivfree_tmpspop_scope__ctypeerrnostrcmpXS_Parallel__Pvm_constantnasv_2pvsv_newmortalsv_setnvXS_Parallel__Pvm_spawnav_lensafemallocmemsetav_fetchpvm_spawnsafefreeXS_Parallel__Pvm_initsendpvm_initsendsv_setivXS_Parallel__Pvm_sendpvm_sendXS_Parallel__Pvm_psendpvm_psendXS_Parallel__Pvm_mcastpvm_mcastXS_Parallel__Pvm_sendsigpvm_sendsigXS_Parallel__Pvm_probepvm_probeXS_Parallel__Pvm_recvpvm_recvXS_Parallel__Pvm_nrecvpvm_nrecvXS_Parallel__Pvm_trecvpvm_trecvXS_Parallel__Pvm_precvpvm_precvstrtoknewSVpvatoinewSVnvatofXS_Parallel__Pvm_parentpvm_parentXS_Parallel__Pvm_mytidpvm_mytidXS_Parallel__Pvm_packpvm_pkstrXS_Parallel__Pvm_unpackpvm_upkstrXS_Parallel__Pvm_exitpvm_exitXS_Parallel__Pvm_haltpvm_haltXS_Parallel__Pvm_catchout__iobsv_2iopvm_catchoutXS_Parallel__Pvm_taskspvm_tasksstrcpynewHVhv_storenewRVXS_Parallel__Pvm_configpvm_configXS_Parallel__Pvm_addhostspvm_addhostsXS_Parallel__Pvm_delhostspvm_delhostsXS_Parallel__Pvm_bufinfopvm_bufinfoXS_Parallel__Pvm_freebufpvm_freebufXS_Parallel__Pvm_getrbufpvm_getrbufXS_Parallel__Pvm_getsbufpvm_getsbufXS_Parallel__Pvm_mkbufpvm_mkbufXS_Parallel__Pvm_setrbufpvm_setrbufXS_Parallel__Pvm_setsbufpvm_setsbufXS_Parallel__Pvm_killpvm_killXS_Parallel__Pvm_mstatpvm_mstatXS_Parallel__Pvm_pstatpvm_pstatXS_Parallel__Pvm_tidtohostpvm_tidtohostXS_Parallel__Pvm_getoptpvm_getoptXS_Parallel__Pvm_setoptpvm_setoptXS_Parallel__Pvm_reg_hosterpvm_reg_hosterXS_Parallel__Pvm_reg_taskerpvm_reg_taskerXS_Parallel__Pvm_reg_rmpvm_reg_rmXS_Parallel__Pvm_perrorpvm_perrorXS_Parallel__Pvm_notifypvm_notifyXS_Parallel__Pvm_recv_notifypvm_upkintXS_Parallel__Pvm_hostsyncpvm_hostsyncXS_Parallel__Pvm_recvfnewSVsvsv_setsvpvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvmsprintfperl_get_svnewXSsv_setpvsv_yes_gp_dispÛqZ5y€Û2q5y€ 3s5ˆ€@u5—€Vw5¦€ly5µ€ƒ3{5Ä€¶0}5Ó€æ5â€ý5ñ€Ïÿÿ ÏÿÿÏÿÿÏÿÿ(Ïÿÿ0Ïÿÿ>ÏÿÿLÏÿÿ[ÏÿÿfÏÿÿpÏÿÿ{Ïÿÿ†ÏÿÿŽÏÿÿ›Ïÿÿ¡Ïÿÿ¤Ïÿÿ«ÏÿÿµÏÿÿ¿ÏÿÿÇÏÿÿÍÏÿÿÔ„ îÏÿÿñÏÿÿøÏÿÿÏÿÿŒ %Ïÿÿ,Ïÿÿ7Ïÿÿ>ÏÿÿGÏÿÿQÏÿÿZÔ tÏÿÿÏÿÿŠt  Ïÿÿ©T ÀÏÿÿÊ"d áÏÿÿë$Ð Ïÿÿ&° "'Ïÿÿ1(Ì $GÏÿÿP*è &gÏÿÿq- (ˆÏÿÿ’0, *©Ïÿÿ³ÏÿÿºÏÿÿÂÏÿÿÇÏÿÿÏÏÿÿÔ5h ,ìÏÿÿ÷6x .Ïÿÿ7ˆ 0.Ïÿÿ89  2PÏÿÿ[t 8 ³Ïÿÿ¹ÏÿÿÀÏÿÿÍ?ô :äÏÿÿîÏÿÿõÏÿÿûÏÿÿÏÿÿ D <"Ïÿÿ-G, >GÏÿÿTI˜ @nÏÿÿ{L B”Ïÿÿ NÔ D¹ÏÿÿÅPT FÞÏÿÿêQd HÏÿÿRt J&Ïÿÿ0T LIÏÿÿUU” NnÏÿÿzW PÏÿÿ™X” R°ÏÿÿºZ0 TÑÏÿÿÛ[° VöÏÿÿ]0 XÏÿÿ'^° Z?ÏÿÿJ` \fÏÿÿua  ^‘Ïÿÿ b° `¸ÏÿÿÃcÀ bÛÏÿÿæe\ dþÏÿÿ hÌ f&Ïÿÿ1kP hKÏÿÿXnè joÏÿÿwÏÿÿ€ÏÿÿŠp  l¥pø n ¸ÏÿÿÀÏÿÿÌÏÿÿÒÏÿÿÛÏÿÿäÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿ!ÿÿÿ"ÿÿÿÿÿ#ÿÿÿ$ÿÿÿ%ÿÿÿÿÿ&ÿÿÿ'ÿÿÿÿÿÿÿ(ÿÿÿ)ÿÿÿÿÿ*ÿÿÿ+ÿÿÿÿÿ,!ÿÿÿ-ÿÿÿÿÿ.#ÿÿÿ/ÿÿÿÿÿ0%ÿÿÿ1ÿÿÿÿÿ2'ÿÿÿ3ÿÿÿÿÿ4)ÿÿÿ5ÿÿÿÿÿ6ÿÿÿ7ÿÿÿÿÿ8ÿÿÿ9ÿÿÿ:ÿÿÿ;ÿÿ+ÿÿÿ<ÿÿÿÿÿ=-ÿÿÿ>ÿÿÿÿÿ?/ÿÿÿ@ÿÿÿÿÿA1ÿÿÿBÿÿÿÿÿCÿÿÿÿ3ÿÿÿDÿÿÿÿÿE5ÿÿÿFÿÿÿÿÿG7ÿÿÿHÿÿ ÿÿÿIÿÿÿJÿÿÿK9ÿÿÿLÿÿÿÿÿMÿÿÿNÿÿÿOÿÿÿPÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQ;ÿÿÿRÿÿÿÿÿSÿÿÿÿÿÿÿÿ=ÿÿÿTÿÿÿÿÿU?ÿÿÿVÿÿÿÿÿWAÿÿÿXÿÿÿÿÿYCÿÿÿZÿÿÿÿÿ[Eÿÿÿ\ÿÿÿÿÿ]Gÿÿÿ^ÿÿÿÿÿ_Iÿÿÿ`ÿÿÿÿÿaKÿÿÿbÿÿÿÿÿcMÿÿÿdÿÿÿÿÿeOÿÿÿfÿÿÿÿÿgQÿÿÿhÿÿÿÿÿiSÿÿÿjÿÿÿÿÿkUÿÿÿlÿÿÿÿÿmWÿÿÿnÿÿÿÿÿoYÿÿÿpÿÿÿÿÿq[ÿÿÿrÿÿÿÿÿs]ÿÿÿtÿÿÿÿÿu_ÿÿÿvÿÿÿÿÿwaÿÿÿxÿÿÿÿÿycÿÿÿzÿÿÿÿÿÿÿ{ÿÿeÿÿÿ|ÿÿÿÿÿ}gÿÿÿ~ÿÿÿÿÿÿÿÿÿÿÿÿÿiÿÿÿ€ÿÿÿÿÿÿÿÿ‚ÿÿÿƒkÿÿÿ„ÿÿmÿÿÿ…ÿÿÿÿÿ† ÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿˆÿÿÿÿÿ‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠoÿÿÿ‹ÿÿÿÿÿ4   D{ ¿Ð}p!@)¢@/¢P†°4p ¢P =p¢pF ¢ˆ2P Ô Ð\pÕphpÕˆ spÕ¨Dh D{ ¿Ð}p!@)¢@/¢P†°4p ¢P =p¢pF ¢ˆ2P Ô Ð\pParallel-Pvm-1.1/Pvm.pm000644 002141 000024 00000056766 06230405627 015240 0ustar00edwardnsrc000000 000000 package Parallel::Pvm; use strict; use Carp; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); require Exporter; require DynaLoader; require AutoLoader; @ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( PVM_BYTE PVM_CPLX PVM_DCPLX PVM_DOUBLE PVM_FLOAT PVM_INT PVM_LONG PVM_SHORT PVM_STR PVM_UINT PVM_ULONG PVM_USHORT PvmAllowDirect PvmAlready PvmAutoErr PvmBadMsg PvmBadParam PvmBadVersion PvmCantStart PvmDSysErr PvmDataDefault PvmDataFoo PvmDataInPlace PvmDataRaw PvmDebugMask PvmDontRoute PvmDupEntry PvmDupGroup PvmDupHost PvmFragSize PvmHostAdd PvmHostCompl PvmHostDelete PvmHostFail PvmMismatch PvmMppFront PvmNoBuf PvmNoData PvmNoEntry PvmNoFile PvmNoGroup PvmNoHost PvmNoInst PvmNoMem PvmNoParent PvmNoSuchBuf PvmNoTask PvmNotImpl PvmNotInGroup PvmNullGroup PvmOk PvmOutOfRes PvmOutputCode PvmOutputTid PvmOverflow PvmPollConstant PvmPollSleep PvmPollTime PvmPollType PvmResvTids PvmRoute PvmRouteDirect PvmSelfOutputCode PvmSelfOutputTid PvmSelfTraceCode PvmSelfTraceTid PvmShowTids PvmSysErr PvmTaskArch PvmTaskChild PvmTaskDebug PvmTaskDefault PvmTaskExit PvmTaskHost PvmTaskSelf PvmTaskTrace PvmTraceCode PvmTraceTid ); $VERSION = '1.1'; sub AUTOLOAD { # This AUTOLOAD is used to 'autoload' constants from the constant() # XS function. If a constant is not found then control is passed # to the AUTOLOAD in AutoLoader. my $constname; ($constname = $AUTOLOAD) =~ s/.*:://; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { if ($! =~ /Invalid/) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } else { croak "Your vendor has not defined Parallel::Pvm macro $constname"; } } eval "sub $AUTOLOAD { $val }"; goto &$AUTOLOAD; } bootstrap Parallel::Pvm $VERSION; # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # Below is the stub of documentation for your module. You better edit it! =head1 NAME Parallel::Pvm - Perl extension for the Parallel Virtual Machine (PVM) Message Passing System =head1 SYNOPSIS use Parallel::Pvm; =head1 DESCRIPTION The B message passing system enables a programmer to configure a group of (possibly heterogenous) computers connected by a network into a parallel virtual machine. The system was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University. Using PVM, applications can be developed which spawns parallel processes onto nodes in the virtual machine to perform specific tasks. These parallel tasks can also periodically exchange information using a set of message passing functions developed for the system. PVM applications have mostly been developed in the scientific and engineering fields. However applications for real-time and client/server systems can also be developed. PVM simply provides a convenient way for managing parallel tasks and communications without need for B or B level programming. As a utility, PVM enables an organisation to leverage on the computers already available for parallel processing. Parallel applications can be started during non-peak hours to utilise idle CPU cycles. Or dedicated workstation clusters connected via a high performance network like B can be used for high performance computing. It is recommended that you read the PVM manual pages and the book "PVM: Parallel Virtual Machine, A users's guide and tutorial for networked parallel computing". Both the PVM system and the book can be obtained from the HTTP address http://www.epm.ornl.gov/pvm. For the rest of this document we will provide a tutorial introduction to developing PVM applications using perl. The interface for some of the PVM functions have been changed of course to give it a more perl-like feel. Remember think perl think parallel! Good Luck! =head2 Environment Variables After installing PVM on your computer, there are two mandatory environment variables that have to be set in your .login or .cshrc files; B and B. B points to the base of the B installation directory, and B specifies the architecture of the computer on which B is running. An example of how this can be set for csh is shown below, setenv PVM_ROOT /usr/local/pvm3 setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch` =head2 Setting up your rsh permission In order for PVM applications to run, B permission has to be enabled. This involves creating a B<.rhosts> file in your B directory containing, for each line, the host and account name you wish to allow remote execution privillages. An example B<.rhosts> file to allow a PVM application to remotely execute on the host B and B using the account B is shown below, onyx edward prata edward =head2 Configuring your parallel virtual machine Parallel process management and communications is handled by a set of distributed deamons running on each of the nodes of the virtual machine. The daemon executable, B, is started when a computer is added to the virtual machine. A computer can be added to the virtual machine either statically in a console program or using a B, or dynamically within the application code itself. The first method of configuring your virtual machine is to use the console program B<$PVM_ROOT/lib/pvm>. Run it from the command prompt. The console program will first add the local host into the virtual machine and display the prompt pvm> To add a host, eg B, as a node in your parallel virtual machine, simply type pvm> add onyx To display the current virtual machine configuration type pvm> conf which will display node information pertaining to the host name, host id, host architecture, relative speed and data format. The console program has a number of other commands which can be viewed by typing B. The second method of configuring your virtual machine is to use a B. The B is simply an ASCII text file specifing the host names of the computers to be added into your virtual machine. Additional options may be also be defined for the nodes pertaining to the working directory, execution path, login name, alternative hostname etc. A simple example of a B is shown below. * wd=$HOME/work ep=$HOME/bin onyx prata.nsrc.nus.sg laksa ep=$HOME/perl5/bin In the above example B we are adding the hosts B, B and B into the virtual machine. We are also specifying the working directory, B, in which we want our application to run, and the execution path, B, in which we want PVM to look for executables. The B<*> in the first line defines a global option for all the hosts specified after it. We can however provide an option locally to over-ride this global option. This is seen for the host B where we have specified its execution path to be B<$HOME/perl5/bin> instead of the B<$HOME/bin>. The third method of configuring your virtual machine is to call the functions B or B within your application. You must still start your master B daemon first. This can be achieved by starting B and typing B or simply typing echo quit | pvm The PVM application can then be started where we can add the hosts B and B by calling Parallel::Pvm::addhosts("prata","laksa"); Or we can delete a host from our configuration by calling Parallel::Pvm::delhosts("laksa"); PVM also provides a function, B, to query the configuration of the parallel virtual machine. An example code to check the current configuration is shown below. ($info,@conf) = Parallel::Pvm::conf ; if ( $info == PvmOk ){ foreach $node (@conf){ print "host id = $node->{'hi_tid'}\n"; print "host name = $node->{'hi_name'}\n"; print "host architecture = $node->{'hi_arch'}\n"; print "host speed = $node->{'hi_speed'}\n"; } } =head2 Enrolling a task into PVM A task has to expilictly enroll into PVM in order for it to be known by other PVM tasks. This can often be done by the call $mytid = Parallel::Pvm::mytid ; where B<$mytid> is the task id, B, assigned by the PVM system to the calling process. Note however that calling any PVM function in a program will also enroll it into the system. =head2 Spawning parallel tasks A PVM application can spawn parallel tasks in your parallel virtual machine. Assuming there is exists an executable called B, we can spawn four B tasks in our virtual machine by calling ($ntask,@tids) = Parallel::Pvm::spawn("client",4); For each of the four spawned processes, the PVM system first allocates a host node and looks for the executable in the execuation path of that host. If the executable is found it is started. The task which called the B is known as the B task. The number of B tasks which are actually spawned by B is returned in the scalar B<$ntask>. The B<@tids> array returns the task id, B, of the spawned B tasks which will be useful later for communicating with them. A B < 0 indicates a task failure to spawn and can be used to determine the nature of the problem. Eg. foreach $tid (@tids){ if ( $tid < 0 ){ if ( $tid == PvmNoMem ) warn "no memory ! \n"; }else if ( $tid == PvmSysErr ){ warn "pvmd not responding ! \n"; } ... } } For more sophisticated users, B may be given additional argument parameters to control how/where you want a task to be spawned. For example, you can specifically spawn B in the internet host B by calling Parallel::Pvm::spawn("client",1,PvmTaskHost,"onyx.nsrc.nus.sg"); Or you can spawn B on host nodes only of a particular architecture, say RS6K workstations, by calling Parallel::Pvm::spawn("client",4,PvmTaskArch,"RS6K"); Also, if the spawned remote executable requires an argument B, you can supply this by calling Parallel::Pvm::spawn("client",4,PvmTaskArch,"RS6K",argv); Note that tasks which have been spawned by using B do not need to be explicitly enrolled into the pvm system. =head2 Exchanging messages between tasks Messages can be sent to a task enrolled into PVM by specifying the example code sequence Parallel::Pvm::initsend ; Parallel::Pvm::pack(2.345,"hello dude"); Parallel::Pvm::pack(1234); Parallel::Pvm::send($dtid,999); In our example we first call B to initialize the internal PVM send buffer. We then call B to fill this buffer with a double (2.345), , a string ("hello dude"), and an integer (1234). Having filled the send buffer with the data that is to be sent, we call B to do the actual send to the task identifed by the B B<$dtid>. We also label the sending message to disambiguate it with other messages with a tag. This is done with the 999 argument in B function. For the destination task, we can receive the message sent by performing a blocking receive with the function B. A code sequence for the above example on the recipent end will be if ( Parallel::Pvm::recv >= 0 ){ $int_t = Parallel::Pvm::unpack ; ($double_t,$str_t) = Parallel::Pvm::unpack ; } Note that we must unpack the message in the reverse order in which we packed our message. In our example B will receive any message sent to it. In order to selectively receive a message, we could specify the B of the source task and the message B. For example, $tag = 999; Parallel::Pvm::recv($stid,$tag) ; Other message passing functions that you may find useful are B, B, B and B. =head2 Parallel I/O Note that the file descriptors in a parent task are not inherented in the spawned B tasks unlike B. By default any file I/O will be performed in the working directory specified in the B if no absolute path was provided for the opened file. If no working directory is specified, the default is the B<$HOME> directory. For directories which are not NFS mounted, this would mean that each task performs its own separate I/O. In the case of B output, tasks which are not started from the command prompt will have their B and B directed to the file pvml.. This may be redirected to a B task by calling Parallel::Pvm::catchout; for B or Parallel::Pvm::catchout(stderr); for B. You can direct the B or B output of a task to another B , other then its parent, by calling Parallel::Pvm::setopt(PvmOutTid,$tid); =head2 Incorporating fault tolerance The function B can be used to incorporate some fault tolerance into your PVM application. You may use it to ask the PVM to monitor the liveliness of a set of hosts or tasks during the execution of a PVM application. For example you can instrument your application to monitor 3 tasks with B B<$task1>, B<$task2>, and B<$task3>, by using the code segments @monitor = ($task1,$task2,$task3); Parallel::Pvm::notify(PvmTaskExit,999,@monitor_task); ... if ( Parallel::Pvm::probe(-1,999) ){ $task = Parallel::Pvm::recv_notify ; print "Oops! task $task has failed ... \n" ; } If either B<$task1>, B<$task2> or B<$task3> fails, the notification will take the form of a single message with the tag 999. The message content will inform you of the B of the failed task. A similar scheme may be employed for the notification of host failures in your parallel virtual machine. =head2 Client/Server example B use Pvm; use File::Basename; ... # Look for server tid and assume # server name is 'service_provider' @task_list = Parallel::Pvm::tasks ; foreach $task (@task_list){ $a_out = $task->{'ti_a_out'} ; $base = basename $a_out ; if ( $base eq 'service_provider' ) $serv_tid = $task->{'ti_tid'} ; } # This is just one way (not necessarily the # best) of getting a server tid. # You could do the same thing by reading # the server tid posted in a file. ... # send request for service Parallel::Pvm::send($serv_tid,$REQUEST); # receive service from server Parallel::Pvm::recv(-1,$RESPONSE); @service_packet = Parallel::Pvm::unpack ; ... B while(1){ ... if ( Parallel::Pvm::probe(-1,$REQUEST) ){ # a service request has arrived ! $bufid = Parallel::Pvm::recv ; ($info,$bytes,$tag,$stid) = Parallel::Pvm::bufinfo($bufid) ; if ( fork == 0 ){ # fork child process to handle service ... # provide service Parallel::Pvm::initsend ; Parallel::Pvm::pack(@service); Parallel::Pvm::send($stid,$RESPONSE); # exit child process exit ; } } ... } =head2 PVM groups The PVM dynamic group functions have not been ported to perl yet. These functions provide facilities for collecting processes under a single B label, and applying aggregate operations onto them. Examples of these functions are B, B, B etc. One of our concerns is that these group functions may be changed or augmented in the future releases of PVM 3.4*. A decision for porting the group functions will be made after PVM 3.4 has been released. =head1 FUNCTIONS =over 4 =item B Adds one or more host names to a parallel virtual machine. Eg. $info = Parallel::Pvm::addhosts(@host_list) ; =item B Returns information about the requested message buffer. Eg. ($info,$bytes,$tag,$tid) = Parallel::Pvm::bufinfo($bufid); =item B Catches output from children tasks. Eg. # Parallel::Pvm::catchout(stdout); $bufid = Parallel::Pvm::catchout; =item B Returns information about the present virtual machine configuration. Eg. ($info,@host_ref_list) = Parallel::Pvm::config ; =item B Deletes one or more hosts from the virtual machine. Eg. $info = Parallel::Pvm::delhosts(@host_list); =item B Tells the local PVM daemon that the process is leaving. Eg. $info = Parallel::Pvm::exit ; =item B Disposes of a message buffer. Eg. $info = Parallel::Pvm::freebuf($bufid); =item B Shows various libpvm options. Eg. $val = Parallel::Pvm::getopt(PvmOutputTid); $val = Parallel::Pvm::getopt(PvmFragSize); =item B Returns the message buffer identifier for the active receive buffer. Eg. $bufid = Parallel::Pvm::getrbuf ; =item B Returns the message buffer identifier for the active send buffer. Eg. $bufid = Parallel::Pvm::getsbuf ; =item B Shuts down the entire PVM system. Eg. $info = Parallel::Pvm::halt ; =item B Gets time-of-day clock from PVM host. Eg. ($info,$remote_clk,$delta) = Parallel::Pvm::hostsync($host) ; where B is the time-of-day equivalent to B. =item B Clears default send buffer and specifies message encoding. Eg. # Parallel::Pvm::initsend(PvmDataDefault) ; $bufid = Parallel::Pvm::initsend =item B Terminates a specified PVM process. $info = Parallel::Pvm::kill($tid); =item B Multicast the data in the active message buffer to a set of tasks. Eg. $info = Parallel::Pvm::mcast(@tid_list,$tag); =item B Creates a new message buffer. Eg. # Parallel::Pvm::mkbuf(PvmDataDefault); $bufid = Parallel::Pvm::mkbuf ; $bufid = Parallel::Pvm::mkbuf(PvmDataRaw); =item B Returns the status of a host in the virtual machine. Eg. $status = Parallel::Pvm::mstat($host); =item B Returns the tid of the calling process. $mytid = Parallel::Pvm::mytid ; =item B Requests notification of PVM events. Eg. $info = Parallel::Pvm::notify(PvmHostDelete,999,$host_list); # turns on notification for new host $info = Parallel::Pvm::notify(PvmHostAdd); # turns off notification for new host $info = Parallel::Pvm::notify(PvmHostAdd,0); =item B Nonblocking receive. Eg. # Parallel::Pvm::nrecv(-1,-1); $bufid = Parallel::Pvm::nrecv ; # Parallel::Pvm::nrecv($tid,-1); $bufid = Parallel::Pvm::nrecv($tid) ; $bufid = Parallel::Pvm::nrecv($tid,$tag) ; =item B Packs active message buffer with data. Eg. $info = Parallel::Pvm::pack(@data_list); =item B Returns the tid of the process that spawned the calling process. Eg. $tid = Parallel::Pvm::parent ; =item B Prints the error status of the las PVM call. $info = Parallel::Pvm::perror($msg); =item B Receives a message directly into a buffer. # Parallel::Pvm::precv(-1,-1); @recv_buffer = Parallel::Pvm::precv ; # Parallel::Pvm::precv($tid,-1); @recv_buffer = Parallel::Pvm::precv($tid); @recv_buffer = Parallel::Pvm::precv($tid,$tag); Note that the current limit for the receive buffer is 100 KBytes. =item B Checks whether a message has arrived. Eg. # Parallel::Pvm::probe(-1,-1); $bufid = Parallel::Pvm::probe ; # Parallel::Pvm::probe($tid,-1); $bufid = Parallel::Pvm::probe($tid); $bufid = Parallel::Pvm::probe($tid,$tag); =item B Packs and sends data in one call. Eg. $info = Parallel::Pvm::psend($tid,$tag,@send_buffer); =item B Returns the status of the specified PVM process. Eg. $status = Parallel::Pvm::pstat($tid); =item B Receives a message. Eg. # Parallel::Pvm::recv(-1,-1); $bufid = Parallel::Pvm::recv ; # Parallel::Pvm::recv($tid,-1); $bufid = Parallel::Pvm::recv($tid) ; $bufid = Parallel::Pvm::recv($tid,$tag); =item B Redefines the comparison function used to accept messages. Eg. Parallel::Pvm::recvf(\&new_foo); =item B Receives the notification message initiated by B. This should be preceded by a B. Eg. # for PvmTaskExit and PvmHostDelete notification if ( Parallel::Pvm::probe(-1,$notify_tag) ){ $message = Parallel::Pvm::recv_notify(PvmTaskExit) ; } # for PvmHostAdd notification @htid_list = Parallel::Pvm::recv_notify(PvmHostAdd); =item B Resets the comparison function for accepting messages to the previous method before a call to B. =item B Registers this task as responsible for adding new PVM hosts. Eg. $info = Parallel::Pvm::reg_hoster ; =item B Registers this task as a PVM resource manager. Eg. $info = Parallel::Pvm::reg_rm ; =item B Registers this task as responsible for starting new PVM tasks. Eg. $info = Parallel::Pvm::reg_tasker ; =item B Send the data in the active message buffer. Eg. # Parallel::Pvm::send(-1,-1); $info = Parallel::Pvm::send ; # Parallel::Pvm::send($tid,-1); $info = Parallel::Pvm::send($tid); $info = Parallel::Pvm::send($tid,$tag); =item B Sends a signal to another PVM process. Eg. use POSIX qw(:signal_h); ... $info = Parallel::Pvm::sendsig($tid,SIGKILL); =item B Sets various libpvm options. Eg. $oldval=Parallel::Pvm::setopt(PvmOutputTid,$val); $oldval=Parallel::Pvm::setopt(PvmRoute,PvmRouteDirect); =item B Switches the active receive buffer and saves the previous buffer. Eg. $oldbuf = Parallel::Pvm::setrbuf($bufid); =item B Switches the active send buffer. Eg. $oldbuf = Parallel::Pvm::setsbuf($bufid); =item B Starts new PVM processes. Eg. # Parallel::Pvm::spawn("compute.pl",4,PvmTaskDefault,""); ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4); ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4,PvmTaskHost,"onyx"); ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4,PvmTaskHost,"onyx",argv); =item B Returns information about the tasks running on the virtual machine. Eg. # Parallel::Pvm::tasks(0); Returns all tasks ($info,@task_list) = Parallel::Pvm::tasks ; # Returns only for task $tid ($info,@task_list) = Parallel::Pvm::tasks($tid) ; =item B Returns the host ID on which the specified task is running. Eg. $dtid = Parallel::Pvm::tidtohost($tid); =item B Receive with timeout. Eg. # Parallel::Pvm::trecv(-1,-1,1,0); time out after 1 sec $bufid = Parallel::Pvm::trecv ; # time out after 2*1000000 + 5000 usec $bufid = Parallel::Pvm::trecv($tid,$tag,2,5000); =item B Unpacks the active receive message buffer. Eg. @recv_buffer = Parallel::Pvm::unpack ; =back =head1 AUTHOR Edward Walker, edward@nsrc.nus.sg, National Supercomputing Research Centre, Singapore =head1 SEE ALSO perl(1), pvm_intro(1PVM) =cut allel::PvmParallel-Pvm-1.1/Pvm.xs000644 002141 000024 00000056414 06230600725 015240 0ustar00edwardnsrc000000 000000 #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #ifdef __cplusplus } #endif /* MY EXTENSION */ #include #include #include #include #include "pvm3.h" #define MAXPROCS 100 #define MAXHOSTS 100 #define MAXSTR 100000 #define STRING 1 #define INTEGER 2 #define DOUBLE 3 static char g_buffer[MAXSTR]; static SV *recvf_callback = (SV *)NULL; static int (*olmatch)(); static int recvf_foo( int bufid, int tid, int tag ) { dSP ; int count; int compare_val; ENTER ; SAVETMPS ; PUSHMARK(sp) ; XPUSHs(sv_2mortal(newSViv(bufid))); XPUSHs(sv_2mortal(newSViv(tid))); XPUSHs(sv_2mortal(newSViv(tag))); PUTBACK ; count = perl_call_sv(recvf_callback,G_SCALAR); SPAGAIN ; if ( count != 1 ) croak("pvm_recvf: comparison function must return only one scalar\n"); compare_val = POPi; PUTBACK ; FREETMPS ; LEAVE ; return compare_val; } static HV * derefHV( SV *node ) { HV *hv_tmp; if ( SvROK(node) ){ if ( SvTYPE(SvRV(node)) == SVt_PVHV ){ hv_tmp = (HV *)SvRV(node); return hv_tmp; } } return 0; } static int string_byte_cnt( char *str ) { int cnt=0; while( str[cnt] != '\0' ){ cnt++; } /* add 1 for the byte holding the '\0' */ return cnt+1; } static int string_type( char *str ) { int i=0; int could_be_double=0; int must_be_double=0; while ( str[i] != '\0' ){ /* */ if ( ! isdigit(str[i]) ){ if ( str[i] == '.' && could_be_double == 0 ){ could_be_double = 1; }else{ return STRING; } } /* else{ if ( could_be_double ){ if ( str[i] != '0' ){ must_be_double = 1; } } } */ i++; } if ( could_be_double ) return DOUBLE; return INTEGER; } static char * buffer_string( char *str, int new_flag ) { static int cnt; int i; if ( new_flag ){ cnt=0; for (i=0;str[i] && cnt setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch` For a correct installation you will also need perl5.002 or greater. Once all the preliminaries have been done, the installation sequence is as follows: tar xvf Parallel-Pvm-1.1.tar cd Parallel-Pvm-1.1 Have a look into Makefile.PL to see if you have to make any changes. Afterwhich do perl5 Makefile.PL make make test make install Please read the man page, ie. perldoc Parallel::Pvm Any questions, critisims or suggestions are welcome. - eddie ------------------------------------------------------------- Dr Edward Walker National Supercomputing Research Centre 81, Science Park Drive Singapore 0511 Email: edward@nsrc.nus.sg WWW: http://www.nsrc.nus.sg/STAFF/edward .tar cd Parallel-Pvm-1.1 Have a look into Makefile.PL to see if you have to make any changes. Afterwhich do perl5 Makefile.PL make make test make install Please read the man page, ie. perldoc Parallel::Pvm Any questions, critisims or suggestions are welcome. Parallel-Pvm-1.1/blib/000755 002141 000024 00000000000 06230617516 015026 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/000755 002141 000024 00000000000 06230617515 015742 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/auto/000755 002141 000024 00000000000 06230617515 016712 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/auto/Parallel/000755 002141 000024 00000000000 06230617515 020446 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/auto/Parallel/Pvm/000755 002141 000024 00000000000 06230617517 021212 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/auto/Parallel/Pvm/.exists000644 002141 000024 00000000000 06157747530 022527 0ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/auto/Parallel/Pvm/Pvm.bs000644 002141 000024 00000000000 06230405753 022265 0ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/arch/auto/Parallel/Pvm/Pvm.so000755 002141 000024 00001011420 06230600773 022315 0ustar00edwardnsrc000000 000000 ELF_üO`4×`4 (pà_üà_üà _ü _ü H@H@p 6Í6Í_ü_ü_ÿ_ÿ@ÏÀóÿÿþ?ÿ_ÿ³p2cúpí‘L•p p_ü;°p_ü P_ü_ü%@ ” _ÿ3 pgp_üp ©pÊpp-¶³0H_üp pp _ÿ _ÿ_ÿ_ÿ_ÿ_ÿ_ÿü_ÿ_ÿ4_ÿ0_ÿ,_ÿ(_ÿ$_ÿ _ÿ_ÿø_ÿÔ_ÿÐ_ÿÌ_ÿÈ_ÿÄ_ÿÀ_ÿØ_ÿô_ÿð_ÿì_ÿè_ÿä_ÿà_ÿÜ_ÿ8_ÿŒ_ÿˆ_ÿ„_ÿ€_ÿ|_ÿx_ÿ_ÿ°_ÿ¬_ÿ¨_ÿ¤_ÿ _ÿ˜_ÿ”_ÿt_ÿP_ÿL_ÿH_ÿD_ÿ@_ÿ<_ÿT_ÿp_ÿl_ÿh_ÿd_ÿ`_ÿ\_ÿX_ÿœ_ÿ _ÿ_ÿ_ÿ_ÿ_ÿ _ÿ$_ÿD_ÿ<_ÿ8_ÿ4_ÿ0_ÿ,_ÿ(_ÿ_ÿä_ÿà_ÿÜ_ÿØ_ÿÔ_ÿH_ÿè_ÿ_ÿ_ÿü_ÿø_ÿô_ÿð_ÿì_ÿ@_ÿœ_ÿ˜_ÿ”_ÿ_ÿŒ_ÿ„_ÿ _ÿ¼_ÿ¸_ÿ´_ÿ°_ÿ¬_ÿ¨_ÿ¤_ÿˆ_ÿd_ÿ`_ÿX_ÿT_ÿP_ÿL_ÿH_ÿ\_ÿ€_ÿx_ÿt_ÿ|_ÿl_ÿh_ÿp_ÿD_ÿ\_ÿP_ÿh_ÿÀ_ÿ¼_ÿ¸_ÿ´_ÿ°_ÿÄ_ÿÜ_ÿØ_ÿÔ_ÿÐ_ÿÌ_ÿÈ_ÿ¬_ÿŒ_ÿˆ_ÿ„_ÿ€_ÿ|_ÿx_ÿ_ÿ¨_ÿ¤_ÿ _ÿœ_ÿ˜_ÿ”_ÿà_ÿ,_ÿ(_ÿ$_ÿ _ÿ_ÿ0_ÿ$_ÿÀ_ÿÄ_ÿÈ_ÿ8_ÿ4_ÿ_ÿø_ÿô_ÿð_ÿì_ÿè_ÿä_ÿü_ÿ_ÿ_ÿ _ÿ_ÿ_ÿ_ÿt_ÿ_ÿ_ÿ_ÿ _ÿ_ÿ_ÿ4_ÿ0_ÿ,_ÿ(_ÿÌ_ÿ _ÿ_ÿä_ÿà_ÿÜ_ÿØ_ÿÔ_ÿÐ_ÿè_ÿ_ÿü_ÿø_ÿô_ÿð_ÿì_ÿ8_ÿT_ÿP_ÿL_ÿH_ÿD_ÿX_ÿp_ÿl_ÿh_ÿd_ÿ`_ÿ\_ÿ@_ÿ _ÿ_ÿ_ÿD_ÿ@_ÿ<_ÿ$_ÿ<_ÿ8_ÿ4_ÿ0_ÿ,_ÿ(5¬ô4ÐI54¨¡zX¨¡~Y¨¡I£5™£Ge÷¤Ÿ'$¹ûE¾¸ ÙÑ… n­­Q•á¤3?ð¨ý ¾M> È K È È+¤²`TvÜ &vXmvXg‘øëU…Õmäb#DuÃd %m4^' ('W$‡^Eô´àäTàTš´fÆ !«v ¾ž¤ ¾ž” Ûу°ÒÄÇB% ÂÐ Ãó4 ¼&³ GÀ6 =À6 `‡f ˜ Ä ŒÇf Í©§h¶}<â Ô_ã1Ç T_ 5Êt 5áD 6\cïte}$dÝTQÒéeüvo÷dhUgÝT 6ŒÖhÍ 64 Ój—jjÿó †œ$küvŒË½ ž-à&Ö›³«js–¬ –¬`dnf üjæ ¼JÖ ¼Jæ ¼ZÖ ¼Zæv®D Ë7Ÿvý• &SÅgi„Âcdwiwg]bÂW‚Ñ& +PÆykô«MR Ü2Ï*”ypU +)”˜?wE%!= ‚u$ ‚ ‚ Il¥ðW´tì Kÿ6B¥£B¢c¿Õ« LÕ«ßÞdÛëD›ëDkæR XÇ> Ì\Žgüvgí” ÂR” ¼?— Âm% Â{Ô¢ ïÓ¾?ÔãT ¼!ô ¼ôúd·¥ß… ¼8÷ Â%»^† ÂyÐ »•. GÀÔ| =ÀÓÜ|݆Ôû)—”È}\ž%¸ >½0 Í T Ìüõ…úRÄ„·7ØdÇ †¤§l^f§dÇl^œÎ´ œÎ´ ñôÎ!¢ kÇÄ kÕd ¿×Ä ¿ådØŸÚP $ E „P±$»#e\ðŸ EÖ 6Kâ œndÎøåŸgtÚì;lÍ$lß„ |ä¶$¸Ý$¸ï„ ëH”Ô?Øý…J EÛ ÿë;¦ ] >A¬oÖK"ZÀ ä9ôl™O¡9( "å*‰X*Mb G–x \¢ ze`R ÊË”«›[ iΦËß%~¥‹tf¾z+Àyœtܶôœ+¤ _šÄ´t}D •‹YÌ&0ª¾l¥¬‹V¥¡Ä eKÄÌeÏ ¶Ùóiñ«Š@y¦¬)v ªþ¼ iÎö¬)núõ§F' C A6\Ìv/”öj•{Œb¾¼2Ö‹_ÿðÿE_ÿ3 ÿL_ÿ8ÀÿQ_ÿ8ÀÿWÿoÿ€ÿ“ÿñ©_üÿ¶_ü4ÿÍ_üÀXÿà_üÛ ÿë_üépÿö_üïÀÿ_ý/¸ÿ _ý: ÿ_ýIDÿ%_ýIÔÿ2_ýJhÿ=_ýMPÿJ_ý•ÿU_ý—Ôÿa_ýšŒÿm_ýDÿz_ýŸüÿ‡_ý¢´ÿ•_ý¥lÿ¡_ý¨$ÿ®_ý­”ÿ¹_ý³ÿÅ_ý¸tÿÑ_ý»,ÿÝ_ý½äÿê_ýÀœÿö_ýÃTÿ_ýÆ ÿ_ýÈÄÿ_ýÙlÿ(_ýàÄÿ4_ýáÿ@_ýã|ÿL_ýï,ÿZ_þGÿe_þJðÿt_þU8ÿ_þ` ÿŒ_þq¼ÿ—_þr¬ÿ¡_þsdÿª_þs´ÿ³_þuÀÿ¾_þwTÿË_þy,ÿÖ_þ}Ðÿá_þ‡ÿè_üÍdÿð_üÎhÿý_üÔXÿ_üßÿ_üäˆÿ_üçTÿ'_üí¬ÿ0_üóüÿ:_üø ÿD_üúÔÿN_üþ„ÿY_ýhÿc_ýàÿn_ý ,ÿx_ý °ÿ‚_ý4ÿ‹_ýtÿ•_ýTÿž_ý<ÿª_ý!ÿ´_ý(dÿ¾_ý3ÀÿÌ_ý3àÿÖ_ý:$ÿá_ý?@ÿð_ýB¼ÿÿ_ýEÈÿ _ýy0ÿ_ýy´ÿ_ýz8ÿ'_ýzxÿ1_ý}\ÿ=_ý¨ÿI_ý‚ØÿU_ý„¸ÿa_ýˆ ÿm_ý‰ìÿz_ýŒTÿ†_ý¬ÿ‘_ý’dÿ_ýªÜÿ§_ý°Lÿ²_ýµ¼ÿ½_ýË|ÿÇ_ýÎHÿÒ_ýÐðÿÝ_ýÙ°ÿê_ýæÿõ_ýæ ÿ_ýæ¨ÿ_ýçŒÿ_ýçøÿ'_ýè¬ÿ3_ýêÿ=_ýê¸ÿJ_ýì$ÿV_ýìÈÿa_ýí8ÿl_ýîDÿw_ýïàÿ~_þ Ðÿ†_þ¨ÿŒ_þ#ÿ–_þ&$ÿ_þ*¸ÿ¦_þ+€ÿ±_þ5äÿ¼_þ6LÿË_þ6TÿÖ_þ9ðÿá_þEôÿì_þSxÿö_þT`ÿþ_þV ÿ_þZ(ÿ_þ^ ÿ_þ^°ÿ'_þ_”ÿ2_þ`ÿ=_þaTÿG_þgHÿQ_þh¼ÿ^_þiœÿh_þjÿr_þkÿz_þlpÿƒ_þlìÿ_þmÀÿ˜_þnìÿ¡_þoDÿ¬_þrtÿµ_þs<ÿ¾_þs|ÿÆ_þsˆÿÏ_þsÈÿ×_þsÔÿá_þy´ÿé_þz8ÿö_þzÌÿ_þ{Tÿ_þ{¬ÿ_þ~¸ÿ(_þdÿ3_þ€\ÿ@_þ€¬ÿM_þ¤ÿX_þƒäÿ__þ…ÿg_þ…Äÿp_þ†Ìÿw_þ‡,ÿ€_ÿÿ‹_ÿ”ÿ–_ÿÀÿ¢_ÿHÿ­_ÿLÿ¸_ÿPÿÃ_ÿTÿÎ_ÿXÿÙ_ÿ\ÿã_ÿ`ÿí_ÿdÿö_ÿhÿ_ÿlÿ _ÿpÿ_ÿtÿ_ÿxÿ&_ÿ|ÿ2_ÿ€ÿ=_ÿ„ÿG_ÿˆÿS_ÿŒÿ]_ÿÿg_ÿ”ÿu_ÿ˜ÿ_ÿœÿ‰_ÿ ÿ“_ÿ¤ÿŸ_ÿpÿ§_ÿtÿ²`Ãpÿ½`ÈÿÉÌÔ×Þçïû    $ 2 : E N T_üIp \_üI€ c_üI l_üI  u_üI° {_üIÀ €_üIÐ …_üIà ‹_üIð ’_üJ ™_üJ  _üJ  «_üJ0 ²_üJ@ ·_üJP Ã_üJ` È_üJp Ð_üJ€ ×_üJ Ý_üJ  â_üJ° é_üJÀ ñ_üJÐ ù_üJà ÿ_üJð _üK _üK _üK  !_üK0 (_üK@ 5_üKP >_üK` E_üKp P_üK€ __üK j_üK  u_üK° }_üKÀ Š_üKÐ _üKà —_üKð œ_üL ¡_üL ¨_üL  ­_üL0 ²_üL@ ¹_üLP Â_üL` Ð_üLp Û_üL€ â_üL è_üL  ï_üL° ô_üLÀ û_üLÐ _üLà _üLð _üM _üM %_üM  0_üM0 :_üM@ H_üMP M_üM` S_üMp [_üM€ __üM d_üM  o_üM° w_üMÀ €_üMÐ ˆ_üMà ”_üMð š_üN £_üN ¯_üN  ¹_üN0 À_üN@ Ç_üNP Ï_üN` Ö_üNp Ý_üN€ ã_üN é_üN  ñ_üN° ø_üNÀ þ_üNÐ _üNà _üNð _üO _üO _üO  )_üO0 2_üO@ 9_üOP F_ücäÿ `_üeìÿ w_ük4ÿ ‘_ülÔÿ §_ün´ÿ ¾_üqÄÿ Õ_üt0ÿ î_üvÿ _üx,ÿ _üzHÿ 2_ü|dÿ I_üŒÿ `_ü„Èÿ x_ü…Øÿ _ü†èÿ ¥_ü‰ÿ ½_ü‹´ÿ Ó_üŒÄÿ é_üÔÿ_üTÿ_ü“dÿ2_ü–ŒÿL_ü˜øÿf_ü›dÿ_üž4ÿ˜_üŸ´ÿ±_ü ÄÿÊ_ü¡Ôÿá_ü£tÿú_ü¤ôÿ_ü¦tÿ)_ü§ôÿ@_ü©ÿW_ü«ÿr_ü¬ÿŠ_ü®ÿ¢_ü¯ðÿ¾_ü±ÿÚ_ü²ÿò_ü³ ÿ _ü´¼ÿ"_ü¸,ÿ?_üº°ÿY_ü¾Hÿp_ü¿€ÿ‹_ÿ³ÿñg  1×AûG@?aô]çQ0Ù.ýeâ5,Öæ4  &ZÞÜ` I÷àå/b#%Ófãúø3Øñóðc9 üÎ ÝêMÒËPÌ^F Ñ)íÔéÛ_ÕN :ßö'!8LÚèWäÊìOáÍî-òÐÏ;õë$[ïùþÿd 6(27X*" T+E<UH>=KBCDJRSVY\à™€àx! ø 4Ú™€àx! ø 4Û™€àx! ø 4Ü™€àx! ø 4Ý™€àx! ø 4Þ™€àx! ø 4ß™€àx! ø 4à™€àx! ø 4ᙀàx! ø 4♀àx! ø 4㙀àx! ø 4䙀àx! ø 4噀àx! ø 4晀àx! ø 4癀àx! ø 4虀àx! ø 4陀àx! ø 4Ꙁàx! ø 4뙀àx! ø 4와àx! ø 4홀àx! ø 4àx! ø 4àx! ø 4ð™€àx! ø 4ñ™€àx! ø 4ò™€àx! ø 4ó™€àx! ø 4ô™€àx! ø 4õ™€àx! ø 4ö™€àx! ø 4÷™€àx! ø 4ø™€àx! ø 4ù™€àx! ø 4ú™€àx! ø 4û™€àx! ø 4ü™€àx! ø 4ý™€àx! ø 4þ™€àx! ø 4ÿ™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4 ™€àx! ø 4 ™€àx! ø 4 ™€àx! ø 4 ™€àx! ø 4 ™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4™€àx! ø 4 ™€àx! ø 4!™€àx! ø 4"™€àx! ø 4#™€àx! ø 4$™€àx! ø 4%™€àx! ø 4&™€àx! ø 4'™€àx! ø 4(™€àx! ø 4)™€àx! ø 4*™€àx! ø 4+™€àx! ø 4,™€àx! ø 4-™€àx! ø 4.™€àx! ø 4/™€àx! ø 40™€àx! ø 41™€àx! ø 42™€àx! ø 43™€àx! ø 44™€àx! ø 45™€àx! ø 46™€àx! ø 47™€àx! ø 48<'œd0™à!'½ÿЯ°‚왃t¯¿Ž¯¼¯¤0¯¥4 ø ¯¦8¼™„d„‚è ø ¼Ž‚ä‚è΃‚à¬.Œo™‚Ü%â¬b9" ™ƒx ø ¼‚‚àŒBˆ‚Ø‹‚ÔH# Pƒ¬Jkp`# hƒ ™ƒ| %(% ø $¼@€%™ƒ„¤0 ø &¼@ %™ƒ€ ø ¼®Ž‚ÔÎÐx#Àƒ™ƒ| %(% ø $¼@€%™ƒ„¤4 ø &¼@ %™ƒ€ ø ¼®™‚Ô %90@#Hƒ ™ƒ|(% ø $¼@€%™ƒ„¤8 ø &¼@ %™ƒ€ ø ¼®„€d‚왃ˆŒ„(% ø ¬0¼$‚ìŽA„€T™ƒŒ$„ð ø ¼‚‚´Ž &ÿü¬JK@ % cÀM£ ™ƒp ø ¼@%Ž‚è‚ä‚ìÎï¬0Ï* ™ƒT¯£  ø ¼£ ™ƒX¯£  ø ¿¼¢ °à'½0àŽ%À€%O$càÿý$Bà$b<'œ`ì™à!Ž%À€%…„‚È$.¤x!‘ø3 Å`$à$E$B ÿð¤x!`$à$à<'œ`d™à!'½ÿ௿¯¼ '¯¤ (%à€p%˜€d<'8À‘à !4ƆŸÀ! ƒC$¥$„`$B¦ÿù€l<4ƆŸ¦¬%¿d„€T™ƒŒ$„, ø ¼…€l™€dŒ¥¿d'98À¹@!/¡…€l‰€dŒ¥¿d%)8À« $ © ! Š‘l$„€$¥<4ƆŸ¦* ‘c`! ƒC$¥$„`$B¦* ÿø€l<4ƆŸ¦ ¬%¿d„€T™ƒŒ$„` ø ¼…€l€dŒ¥¿d%­8À­ ! €‚€d¿'½ à$B8Àà<'œ^Ø™à!'½ÿà‚Я¿¯¼¯°¯¥$¬ Ž€€%%Ïÿ¿-á ³€Tx€/!Œ/|üx!à…€T™ƒ\ % ø $¥¼¼@<?ðDD€¥¿…€T™ƒ\ % ø $¥ȼ@<@DD€™¿…€T™ƒ\ % ø $¥Ô¼@<@DD€¿…€T™ƒ\ % ø $¥à¼@<@DD€¿…€T™ƒ\ % ø $¥ì¼@<@DD€u¿…€T™ƒ\ % ø $¥ø¼@<@DD€i¿…€T™ƒ\ % ø $¥¼@<@ DD€]¿…€T™ƒ\ % ø $¥ ¼@<@DD€Q¿…€T™ƒ\ % ø $¥¼@D€D€E¿…€T™ƒ\ % ø $¥ ¼@<@$DD€9¿…€T™ƒ\ % ø $¥,¼@<@&DD€-¿…€T™ƒ\ % ø $¥8¼@<@"DD€!¿…€T™ƒ\ % ø $¥D¼@<@DD€¿…€T™ƒ\ % ø $¥T¼@<À>DD€ ¿…€T™ƒ\ % ø $¥`¼@<@DD€ý¿…€T™ƒ\ % ø $¥l¼@<À(DD€ñ¿…€T™ƒ\ % ø $¥x¼@<ÀDD€å¿…€T™ƒ\ % ø $¥„¼@<À:DD€Ù¿…€T™ƒ\ % ø $¥”¼@<À=DD€Í¿…€T™ƒ\ % ø $¥¤¼@<À9DD€Á¿…€T™ƒ\ % ø $¥°¼@D€D€µ¿…€T™ƒ\ % ø $¥À¼@<@DD€©¿…€T™ƒ\ % ø $¥̼@<@DD€¿…€T™ƒ\ % ø $¥ܼ@<?ðDD€‘¿…€T™ƒ\ % ø $¥è¼@<@DD€…¿…€T™ƒ\ % ø $¥ø¼@<?ðDD€y¿…€T™ƒ\ % ø $¥ ¼@€TÄ!èÄ ìk¿…€T™ƒ\ % ø $¥ ¼@<À2DD€_¿…€T™ƒ\ % ø $¥ ¼@<À®ŽH %H# Pƒ@™ƒ|(% ø $¼0@€%™ƒ0& ø  %¼0@ %™ƒ„ ø ¼0@ %™ƒ€ ø ¼0®ŽK %p`# hƒ ™ƒ|(% ø $¼0@€%™ƒ@& ø  %¼0F ™ƒ4 ø ¼0@ %™ƒ€ ø ¼0®…€T™‚ø % ø $¥p¼0@ÿ“@ˆ%‚ì¿4¬0<4!‡(°$±(²,à¡è!<'œ.È™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„t ø ¼™€¬ ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ-¸™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„” ø ¼™€œ ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ,¨™à!'½ÿ°†‚௵,ŒÃ•‚د¿4¯¼0¯´(¯³$¯² ¯±¯°¯¤PŒn…‚쎤x€Œ¥ä!DÈ#@ƒ¢ˆ# ƒ% $xÿü¯©D€ˆ%€¬Ø„€T™ƒŒ$„´ ø ¼0 8€%²D‘‚¼X€`%<ެh€p!Ò!ŒDŒóÀ$ Œ™(®(ŒI*F™ƒd (% ø ¼0@0% ™€À %'9S, ø $¼0@ %™€À %'9S, ø (%¼0@ %&ÿЯ¤8²D™(¤8X€ ø `%¼0@€%™ƒh ø ެ¼0’h!­¢Ž®™‚üÒx!ä ø (%¼0¸Dލ¿4‚ìÈ€µ,°±² ³$´((H!'½Pà¬)<'œ*™à!<4!†ø¡è#<…‚à=!¯¿$¯¼ ¯²¯±¯°¬$†øŒ¢˜‚Ø‚ìŒNŽx€ø !#ˆƒ$Yÿü ¬¹„€T™ƒŒ$„Ø ø ¼ ™,'²HH€ €# ø @ %¼ @ %…€T™‚ø$¥ø ø ¼ @q@ˆ%’‚Ô™€ %'9R¤ ø ¼ $A$A$A<XŽJ %PX# `ƒ€™ƒ|(% ø $¼ @€%™ƒL& % ø (%¼ @ %™ƒ€ ø ¼ >®ŽM %°p#xƒà™ƒ|(% ø $¼ @€%™ƒ0& ø  %¼ @ %™ƒ„ ø ¼ @ %™ƒ€ ø ¼ ®ŽX %È#@ƒ™ƒ|(% ø $¼ @€%™ƒ@& ø  %¼ F ™ƒ4 ø ¼ @ %™ƒ€ ø ¼ ®…€T™‚ø % ø $¥ü¼ @ÿ“@ˆ%‚ì¿$¬0<4!†ø°±²à¡è!<'œ'Ü™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„ ø ¼™€Œ ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ&Ì™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„  ø ¼™€ ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ%¼™à!‡‚à'½ÿÀŒã¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢0#% Pƒ$xÿü¯©4@0%@¬ø)A „€T™ƒŒ¯¦$ ø $„@¼¦$À£4„‚ðX€`%$„‚Ø£4­`€™„X¬p!į¬$ ø €%ŒO¼£$ä ™À¯£$ ø ¼¯¢(™ƒh ø ¼£$˜‚؈‚ØÈ!¯"™‚üH!$¥( ø ¼ª4Œ‚Ø¿Œ‚ì X€lh!'½@à¬-<'œ$<™à!'½þh†‚௲$ŒÃ’‚د¿D¯¾@¯¼<¯·8¯¶4¯µ0¯´,¯³(¯± ¯°¯¤˜Œn”‚ìŽDx€Ž”ä!Dˆ#‚(#@ƒȃ$xÿü'1€%¬Ø) H€„€T™ƒŒ$„l ø ¼<H€‰ # %ŽJX€K`!…Œ­ sÀÁŒ¯ä ™ƒp  % ø ¼<@ %™€Ì'¥€ ø '¦t¼<@€%˜‚Ô€ %È#@ƒ™ƒ|€(% ø $¼<@ %™ƒ„&” ø  %¼<@ %™ƒ€ ø ¼<®‚©€ð% ¨%ªt™„4UX!e ø '¤`¬t¼<•!™„8ŒqŒrŒsŒvŒw  ø ¼<@€%™ƒL'¤` ø (%¼< %…€T™„`$@8%¯  ø $¥”¼< %™ƒ„ ø ¼< %…€T™„`$@8%¯  ø $¥ ¼<@ %™ƒ„ ø ¼< %…€T™„`$@8%¯  ø $¥¨¼<` %™ƒ„ ø ¼< %…€T™„`$@8%¯  ø $¥°¼<À %™ƒ„ ø ¼< %…€T™„`$@8%¯  ø $¥¸¼<à %™ƒ„ ø ¼< %…€T™„`$@8%¯  ø $¥À¼<€ %‚Ô­´p#xƒà™ƒ|€(% ø $¼<@ %™„<&” ø  %¼<@ %™ƒ€ ø ¼<®‚¸€'ÞØ* ÿu&µ‚ì¿D¬4´,°± ²$³(µ0¶4·8¾@à'½˜<'œ ,™à!'½ý€…‚௲$Œ¢˜‚د¿D¯¾@¯¼<¯·8¯¶4¯µ0¯´,¯³(¯± ¯°¯¤€’‚ìŒNŽRx€ø !D#€ƒ$Yÿü¬¹„€T™ƒŒ$„È ø ¼<™€„H€I#'¤l'¥h ø '¦`¼<@€%ž‚Ô@ %ÊRX# `ƒ€™ƒ|@(% ø $¼<@%™ƒ„&R ø  %¼<@ %™ƒ€ ø ¼<®B­l¨% q˜%'·`'¶`®`™„4Ó!ŒQŒE ø À %¼<¯`™„4óÀ! ø à %¹`¼<3@!™„8  ø ¼<@€%™ƒ„ % ø ¼< %…€T™„`$@8%¯  ø $¥è¼<À %™ƒL(% ø ¼< %…€T™„`$@8%¯  ø $¥ð¼<à %™ƒL(% ø ¼< %…€T™„`$@8%¯  ø $¥ø¼<€ %™ƒ„ ø ¼< %…€T™„`$@8%¯  ø $¥ɼ<2P# Xƒ`@ %™ƒ|@(% ø $¼<@%™„<&R ø  %¼<@ %™ƒ€ ø ¼<®B¬l&µ¬* ÿ“&s‚ì¿D¬2²$°± ³(´,µ0¶4·8¾@à'½€<'œ™à!'½üp†‚௷4ŒÃ¯² —‚د¿<¯¼8¯¶0¯µ,¯´(¯³$¯±¯°¯¤’‚ìŒnŽäŽRx€ä!B(#°ƒDˆ#ȃH€$xÿü'1¬ØÀI#„€T™ƒŒ$„  ø ¼8À&˜%¨€‘‚¼'°ä<ŽêX€K`!•!ŒDŒ´p$À Œø®8ŒY( ® ™ƒd (% ø ¼8®&svÿá&˜%™€€'¤äÀ(% ø '¦T¼8@€%‘‚Ô@ %Ž*RX# `ƒ€™ƒ|@(% ø $¼8@%™ƒ„&R ø  %¼8@ %™ƒ€ ø ¼8À®B'°TŽ-@ %²p#xƒà™ƒ|@(% ø $¼8@%™ƒ„Ž ø &R¼8@ %™ƒ€ ø &s¼8&vÿæ®B‚ì¿<¬2² °±³$´(µ,¶0·4à'½<'œ˜™à!'½üh†‚௷4ŒÃ¯² —‚د¿<¯¼8¯¶0¯µ,¯´(¯³$¯±¯°¯¤˜’‚ìŒnŽäŽRx€ä!B(#°ƒDˆ#ȃH€$xÿü'1¬ØÀI#„€T™ƒŒ$„< ø ¼8À&˜%¨€‘‚¼'°ô<ŽêX€K`!•!ŒDŒ´p$À Œø®8ŒY( ® ™ƒd (% ø ¼8®&svÿá&˜%™€ˆ'¤ôÀ(% ø '¦d¼8@€%‘‚Ô@ %Ž*RX# `ƒ€™ƒ|@(% ø $¼8@%™ƒ„&R ø  %¼8@ %™ƒ€ ø ¼8À®B'°dŽ-@ %²p#xƒà™ƒ|@(% ø $¼8@%™ƒ„Ž ø &R¼8@ %™ƒ€ ø &s¼8&vÿæ®B‚ì¿<¬2² °±³$´(µ,¶0·4à'½˜<'œ,™à!'½ÿ°ˆ‚à…‚Ø¯¿¯¼¯°¯¤PŒn‚쌥x€Žå!E0# #Hƒȃ$$xÿü'& 8%! ­„€T™ƒŒ¯¦D¯©@ ø $„l¼¦D…‚ا@Œ¥X€«`!„P€Œ €# sÀÁŒø ¯¸<™ƒp ø ¼¯¢<™¤<'¥8'¦4 ø '§0¼@8%™‚Ô90H# Pƒ@ ™ƒ| %(%$ ø ¯¢,¼§,@€%™ƒ„& ø à %¼@ %™ƒ€ ø ¼®‹‚Ô %kp`# hƒ ™ƒ|(% ø $¼@€%™ƒ„¤8 ø &¼@ %™ƒ€ ø ¼®Ž‚Ô %ÎÐx#Àƒ™ƒ|(% ø $¼@€%™ƒ„¤4 ø &¼@ %™ƒ€ ø ¼®™‚Ô %90H# Pƒ@™ƒ|(% ø $¼@€%™ƒ„¤0 ø &¼@ %™ƒ€ ø ¼®‚쿬0°à'½P<'œ\™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„” ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™€ø¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œÜ™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„¼ ø ¼™ ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œÌ™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„Ü ø ¼™ ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ¼™à!‡‚à'½ÿÀŒã¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢0#% Pƒ$xÿü¯©4@0%@¬ø)A „€T™ƒŒ¯¦$ ø $„ü¼¦$À£4 %X€`%‚Ø£4­`€¬p!Å€%Œ¯ÃÀŒ¹$ ™ƒp  % ø ¯£$¼£$@ %™€ô¯£$ ø ¼¯¢(™ƒh ø ¼£$ˆ‚ØŠ‚ØH!­"J™‚üCX!d¥( ø ¼¬4Ž‚Ø¿΂ì h€®x!'½@à¬/<'œ™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„0 ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œœ™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„X ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™€ü¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œ ™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„€ ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™€”¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œ œ™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„  ø ¼„‚ØŒ„£4`€Œ!ŒF€%ŒÍÀ % s@Á ŒÏ‚¼ø¬8ŒY(™ƒd…‚¼ ø ¯£ ¼£ @ %™€ ¯£  ø ¼¯¢(™ƒh ø ¼£ ‰‚Ø‹‚Ø)#P!­Bk™‚üc`!„¥( ø ¼­4‚Ø¿ï‚ì p€ÏÀ!'½@à¬8<'œ ™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„Ä ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™€´¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œ€™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„è ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™€Ð¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œ™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„ ø ¼„‚ØŒ„£4`€Œh!¥€%Œ®{Àጸ ™ƒp  % ø ¯£ ¼£ @ %™Œ¯£  ø ¼¯¢(™ƒh ø ¼£ ™‚؉‚Ø9#@!­)™‚ü#P!D¥( ø ¼«4‚Ø¿­‚ì `€p!'½@à¬.<'œ€™à!†‚à'½ÿ¸ŒÃ¯¤H„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©<a ¬Ø„€T™ƒŒ$„4 ø ¼„‚ØŒ„¦<`€Œ!Œe€0%Œ­ sÀÁŒ¯ç  Œd™ƒp  % ø ¯¦$¼¦$˜‚Ø@8%!ŒdŒ™CÀŒ‰%  ™ƒp¯¦$ ø ¯§4¼¦$§4@(%™à % ø ¯¦$¼¯¢,™ƒh ø ¼¦$Š‚ØŒ‚ØJFX!­bŒ™‚ü†h!¤¥, ø ¼®<˜‚Ø¿‚ìx€øÈ!'½Hà¬9<'œ ™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„\ ø ¼™€à ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ™à!†‚à'½ÿȌï¤8„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©,`¬Ø„€T™ƒŒ$„€ ø ¼™€Ü ø ¼¯¢$™ƒh ø ¼£,†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥$ ø ¼¹,‰‚Ø¿)‚ì@€ P!'½8à¬*<'œ€™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©4`¬Ø„€T™ƒŒ$„¤ ø ¼™€Ø'¤, ø ¼¯¢(™ƒh ø ¼£4†‚Ø`€ŒÍ¬p!­ÂŒÏ™‚üìÀ!¥( ø ¼¹4‰‚Ø¿)‚ì@€ P!'½@à¬*<'œp™à!†‚à'½ÿÀŒÃ¯¤@„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©4a ¬Ø„€T™ƒŒ$„Ä ø ¼„‚ØŒ„£4`€Œ!ŒF€%ŒÍÀ % s@Á ŒÏ‚¼ø¬8ŒY(™ƒd…‚¼ ø ¯£ ¼£ @ %™”¯£  ø ¼¯¢(™ƒh ø ¼£ ‰‚Ø‹‚Ø)#P!­Bk™‚üc`!„¥( ø ¼­4‚Ø¿ï‚ì p€ÏÀ!'½@à¬8<'œþÔ™à!'½þ†‚௳$ŒÃ“‚د¿,¯¼(¯² ¯±¯°¯¤Œn…‚ìŽdx€Œ¥ä!DÈ#¢P# €ƒ@ƒ% *$xÿü¯©ô¯°@ ¬Ø„€T™ƒŒ$„è ø ¼(Žd²ô<`€Œ!Œe€%Œ­ sÀÁŒ¯ø  ¯¸왃p  % ø Žy¼(¯¢ì2!ŒdŒˆH$ ŒŠK ¯«虃p ø ¼(¯¢è¬ì$$$:­@e­@)¡ ®@„€T™ƒŒ$„ ø ¼(®@$)Á '¥XŽoÀ€øÈ!2@!Œ‰1P$@Œ‹l  ¬¬ÿø™ƒp¯£ä ø ¯¥8¥8¼(£䬢ÿø$cpÿæ$¥¦@™€¤¤ì¥è'§P ø $Æÿþ¼(/¯¢L­@)¡ ®@„€T™ƒŒ$„H ø ¼(®@$Á$ÿÿŽoòÀ!Œ™1@$Œ‰& ™ƒp ø ¼(@0%™€¤¤ì¥è ø 8%¼(¯¢L™ƒh ø Žj¼(RX!­bŽl™‚ü’h!¤¥L ø ¼(®ôŽx¿,‚ìx€³$°±² øÈ!'½à¬9<'œûd™à!'½þ†‚à…‚ØŒÃ¯¿$¯¼ ¯²¯±¯°¯¤èŒn’‚쌥x€ŽRå!E€#B #ˆƒȃ$$xÿü'0! ¬Ø„€T™ƒŒ$„€ ø ¼ …‚ØŒ¥P€ªX!dH€ŒŒI# kÀ¡ŒŽÐ ™ƒp ø ¼ @€%™€¸$ÿÿ ø $ÿÿ¼ $'¤Ð$$$'¤ÈP™ $ ø $¼ @ %‚ÔïòÀ#ȃ ™ƒ|@(% ø $¼ @%™ƒ„¤Ð ø &R¼ @ %™ƒ€ ø ¼ /®B™ $ ø $¼ ¥È™ '¤8 ø $¨ȼ !€%'±8‰‚Ô@ %)2P# Xƒ`™ƒ|@(% ø $¼ @%™ƒ„Ž$ ø &R¼ @ %™ƒ€ ø ¼ ®B¬È& * ÿâ&1‚ì¿$¬2²°±à'½è<'œøà™à!'½ÿ˜ˆ‚à…‚Ø¯¿$¯¼ ¯°¯¤hŒn‚쌥x€Žå!E0# #Hƒȃ$$xÿü'& 8%! ­„€T™ƒŒ¯¦\¯©X ø $„¨¼ ¦\…‚اXŒ¥X€«`!„P€Œ €# sÀÁŒç ™ƒp ø ¼ @8%™€äà %'¥L ø '¦D¼ @8%˜‚ÔÈ#Hƒ ™ƒ| %(%$ ø ¯¢@¼ §@@€%™ƒ„& ø à %¼ @ %™ƒ€ ø ¼ ®ªL«P™„8¯ª< ø ¯«8¼ ¤<™ƒ„¯¢4 ø ¼ ¤4…€T™„`$@8%¯  ø $¥̼ ¤8™ƒ„ ø ¼ ¤4…€T™„`$@8%¯  ø $¥Ô¼ Œ‚ÔŒh# pƒÀ™ƒ| %(% ø $¼ @€%™„<¤4 ø &¼ @ %™ƒ€ ø ¼ ®¯D¸H™„8¯¯< ø ¯¸8¼ ¤<™ƒ„¯¢4 ø ¼ ¤4…€T™„`$@8%¯  ø $¥ܼ ¤8™ƒ„ ø ¼ ¤4…€T™„`$@8%¯  ø $¥ä¼  %™‚Ô90H# Pƒ@™ƒ|(% ø $¼ @€%™„<¤4 ø &¼ @ %™ƒ€ ø ¼ ®‚ì¿$¬0°à'½h<'œõH™à!†‚à'½ÿЌï¤0„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$$xÿü¯©$a ¬Ø„€T™ƒŒ$„ì ø ¼„‚ØŒ„¬$†€d h€ŒÆp!ÅÀ ™„  % ø ¼€d¬"™„À % ø ¼„€™€¼$„O` ø ¼¯$€l™‚ج"¿`9¿‚ìÀ€@!'½0à¬(<'œô™à!†‚à'½ÿЌï¤0„‚د¿¯¼Œn…‚쌄x€Œ¥ä!DÈ#@ƒ¢P#%  Xƒ$xÿü¯©$`¬Ø„€T™ƒŒ$„  ø ¼„€lŒ„¿`€™€¼ ø ¼Ž‚ج$΂ì¿ h€®x!'½0à¬/<'œó8™à!'½þ¨¯¤X„‚àƒ‚ØŒ‚¯¿$¯¼ ¯°ŒNŒcx€ã€!È#†‚ìHƒ%* `€$XÿüŒÆ¬˜¯ªL¯¬0l!ŒDŒ s@Á Œ‚¼ø¬8ŒY)*¯ª@™ƒd…‚¼ ø ¯¦T¼ ¦T¯¢@ÐX# `ƒ) ‚Ø®0­ƒ‚´®x!ø¬x…€T™„ '°D¦@ % ø $¥8¼  %™„(% ø ¼ ƒ‚´¬bŒd€MŒ‚<PÈ$ K@! ŒŠ‚¼K¬+ŒŒ¯­<™ƒd…‚¼ ø ¼ ¯¢<„€T™ƒ\¥< ø $„D¼ @.„‚´Œ„€Œ‚Pp$À{@á Œ˜‚¼¬9Œ‰( ™ƒd…‚¼ ø ¼ @%`@%ˆ€T%„„€T§@†€T™ƒŒ¯¨$„Hà(% ø $Æ€¼ €T„€T™„…„p&00% ø $„Œ¼ 0%„€T™„…„t ø $„¤¼ @ %…€T™„$¥¼ ø ¼ 0%„€T™„…„x ø $„ļ @ %…€T™„$¥Ü ø ¼ 0%„€T™„…„| ø $„༠@ %…€T™„$¥ô ø ¼ 0%„€T™„…„€ ø $„ø¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…„„ ø $„¼ @ %…€T™„$¥0 ø ¼ 0%„€T™„…„ˆ ø $„4¼ @ %…€T™„$¥L ø ¼ 0%„€T™„…„Œ ø $„P¼ @ %…€T™„$¥h ø ¼ 0%„€T™„…„ ø $„l¼ @ %…€T™„$¥€ ø ¼ 0%„€T™„…„” ø $„„¼ @ %…€T™„$¥œ ø ¼ 0%„€T™„…„˜ ø $„ ¼ @ %…€T™„$¥¸ ø ¼ 0%„€T™„…„œ ø $„À¼ @ %…€T™„$¥Ø ø ¼ 0%„€T™„…„  ø $„ܼ @ %…€T™„$¥ô ø ¼ 0%„€T™„…„¤ ø $„ø¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…„¨ ø $„¼ @ %…€T™„$¥( ø ¼ 0%„€T™„…„¬ ø $„,¼ @ %…€T™„$¥D ø ¼ 0%„€T™„…„° ø $„H¼ @ %…€T™„$¥\ ø ¼ 0%„€T™„…„´ ø $„`¼ @ %…€T™„$¥t ø ¼ 0%„€T™„…„¸ ø $„x¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…„¼ ø $„”¼ @ %…€T™„$¥¬ ø ¼ 0%„€T™„…„À ø $„°¼ @ %…€T™„$¥È ø ¼ 0%„€T™„…„Ä ø $„̼ @ %…€T™„$¥ä ø ¼ 0%„€T™„…„È ø $„è¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…„Ì ø $„¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…„Ð ø $„ ¼ @ %…€T™„$¥8 ø ¼ 0%„€T™„…„Ô ø $„<¼ @ %…€T™„$¥T ø ¼ 0%„€T™„…„Ø ø $„X¼ @ %…€T™„$¥p ø ¼ 0%„€T™„…„Ü ø $„t¼ @ %…€T™„$¥Œ ø ¼ 0%„€T™„…„à ø $„¼ @ %…€T™„$¥¨ ø ¼ 0%„€T™„…„ä ø $„¬¼ @ %…€T™„$¥Ä ø ¼ 0%„€T™„…„è ø $„ȼ @ %…€T™„$¥Ü ø ¼ 0%„€T™„…„ì ø $„༠@ %…€T™„$¥ø ø ¼ 0%„€T™„…„ð ø $„ü¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…„ô ø $„¼ @ %…€T™„$¥4 ø ¼ 0%„€T™„…„ø ø $„8¼ @ %…€T™„$¥P ø ¼ 0%„€T™„…„ü ø $„T¼ @ %…€T™„$¥l ø ¼ 0%„€T™„…… ø $„p¼ @ %…€T™„$¥Œ ø ¼ 0%„€T™„…… ø $„¼ @ %…€T™„$¥¬ ø ¼ 0%„€T™„…… ø $„°¼ @ %…€T™„$¥È ø ¼ 0%„€T™„……  ø $„̼ @ %…€T™„$¥ä ø ¼ 0%„€T™„…… ø $„è¼ @ %…€T™„$¥ ø ¼ 0%„€T™„…… ø $„¼ @ %…€T™„$¥$ ø ¼ 0%„€T™„…… ø $„(¼ 0%„€T™„…… ø $„@¼ @ %…€T™„$¥X ø ¼ 0%„€T™„……  ø $„\¼ @ %…€T™„$¥x ø ¼ ­0Œ‚Ø‹‚ÀŒ‚ìp!­Ë¯L¿$À€° È!'½Xà¬9<'œæ¼™à!'½ÿà™Ü¯¿¯¼¯¥$ ø ¯¦(¼¤$¥(¿@$ÿÿ$ÿðƒŒNŽ £ŒO¯%$%`%à'½ <'œæ,™à!‚D‚lï'½ÿ`¯¿¯¼¯¥¤€8%à1¬%™„,£  '¤ à(% ø $|¼'¤ …€T™„($¥ð ø ¼'¤ ™” ø ¼„‚ð™„$$„  ø ¼$‚‚DŒX¿$¬Y™€Œ ø ¼¤¤™ƒü ø ¼¿¢¤à'½ <'œå(™à!'½ÿ8Ž‚”¯²΀%¯¿$¯¼ ¯±¯°¯¥Ì¯¦ÐÀ>¯®0‚”‚`¬ ï$ÿÿá%™€ ø ¼ @%`/«Ì˜‚˜)«Ì™‚¬“93("«Ì™˜ % ø ¼ @'¤Ì™$ ø $©Ì¼  ˆ%@€%™(Ž ø ªÌ&1¼ ** ÿ÷&™œ ø ¼ «Ì`$ÿþ‚„™ƒøŽ ø Ž ¯Ì$M¬p¼ Ï* $ÿþÔ¯¸¼™‚`$ÿÿ9%!™€ ø ¼ @%`ů£¼™€ô$ ø ˆ%¼ @ %™€ü ø ¼ ¯¢Ä™ % ø ¼ ¯¢À™'¤Ì$ ø $¨Ì¼  @€%™(Ž ø ©Ì&1¼ )* ÿ÷&„‚x<€Œ„€™t<€ ø 4¥¼ ¯¢¼™t<€ ø 4¥¼ ¯¢¼@y'¤¼™ $ ø $ª¼¼ @d«Ì¦ÌKO'¤¼™ $$ ø ˆ%¼ ¤Ì™„0`€ ø € %­Ì¼ ¯ ¼ *¯¢´@€%¯¢´'²4§´™ p€$$ ø Ç !¼ @ %™, ø ¼ @ %™, ø ¼ @ %™ $ ø $޼ à¨Ì¸¼'¯¹¼¨Ì&1(* ÿÛ&©Ð§´  (%¦Ì™ƒðP€@0%à % ø ¯§´¼ §´™ƒìà % ø ¼ €l…€T™„ §¼&¿p % ø $¥ô¼  %™< ø $ ÿå¼ ¯«¼™¤À ø ¼ @ %™€ø ø ¼ ™¤À ø ¼ ™€ü¤Ä ø ¼ @ %™€ø ø ¼ ¬0€5¨¼‚`$ÿÿ­%¡™€ ø ¼ @%`"¹0Ž‚˜ÎÀ¹0‚¬‘ï1ø¹0™˜$ ø ¼ @ '¤¼™$ ø $¼ ™œ ø ¼ ¹0‚”¬9¨¼ ¿$„€T™€|(% ø $„$¼ ¿$¢¼°±²à'½È<'œß8™à!'½þ¨Ž‚”¯¿,ί¼(¯³$¯² ¯±¯°¯¤X¯¥\¯¦`À+¯®D‚”‚`¬ ï$ÿÿá%™€ ø ¼(@%`˜‚˜™‚¬“93(™˜$ ø ¼(@™œ ø ¼(‡€dŒçTà6“€d€dŽsL*&sÿÿ`!¬3L‰€d‡€d)LŒçT Q™ƒìêX!d ø ¼(Œ€d‡€dŒLŒçT i™ƒìíp!Ä ø ¼(“€d€dŽsL*&sÿÿ`ÿá¬3L‡€d™ƒìŒäT ø ¼(€d¬ T€d¬ L‚`$ÿÿï%ᙀ ø ¼(@%`ѯ£L™€ô$ ø ¼(@ %™€ü ø ¼(¯¢T™ % ø ¼(¯¢P„‚x<€Œ„€™t<€ ø 4¥¼(¯¢L™t<€ ø 4¥¼(¯¢L@˜$„€d™ $ ø $„L¼($„€d™ $ ø $„P¼(“€d™„0ŽsL ø !¼(ˆ%“€d€dŽsL%`W¬"T€d'°H¬"T‡€d™ ŒçT™$$ ø g !¼( %™, ø ¼( %™„h ø ¼($D™„0 ø ¼(@ %™„4(% ø ¼( %‡€dŒçTòÀ!¯™, ø ¼( %™„h ø ¼($D™„0 ø ¼(@ %™„4(% ø ¼($‡€d$ŒçTòÈ!¯"™ g ! ø $„ ¼(&1“€d&RŽsL3* ÿ®™¤P ø ¼(@ %™€ø ø ¨X¼(ª\‰€d)L­ ª\@¬`‹€dkP­K¬`€‡€dŒçT­‡¯ L™€ü¤T ø ¼(@ %™€ø ø ¼(¤P™ ø ¼(­D C¨LŽ‚`$ÿÿÎ%Á™€ ø ¼(@%`0©D‚˜ïà*©D˜‚¬“3 #©D™˜$  ø ¼(@'¤L™$ ø $¼($„€d™$ ø $„L¼($„€d™$ ø $„P¼(™œ ø ¼(©D‚”¬)¨L ¿,„€T™€|(% ø $„4¼(¿,¢L°±² ³$à'½X<'œØ„™à!Ž‚”'½ÿÈί¿¯¼¯¤8¯¥<À@¯®(‚”‚`¬ ï$ÿÿá %™€ ø ¼@ %€1ª8˜‚˜+ª8™‚¬“93($ª8™˜$  ø ¼@ª8©8  %„€T$„@™( ø ¼'¤<™$ ø $¼™œ ø ¼ª8$ ÿþ@‘K¬<`)ÿÿ d¯­,Ž‚`$ÿÿÎ %Á™€ ø ¼@ %€U¯¤,™€ô$ ø ¼@ %™€ü ø ¼¯¢4™ % ø ¼$™¯¢0¯¯,'¤,$ ø $¼¤8™( ø ¼'¤<™$ ø $¼<€™t4¥ ø <€¼@¯¢,™ '¤,$ ø $¼¤0™ ø ¼@ %™€ø ø ¼™¤0 ø ¼™€ü¤4 ø ¼@ %™€ø ø ¼¸(5¬,™‚`$ÿÿ9 %!™€ ø ¼@ %€"«(ˆ‚˜«(‰‚¬‘)1*@«(™˜$  ø ¼@ '¤,™$ ø $¼™œ ø ¼«(‚”¬+¬,$ÿà ¿ ¿„€T™€|€(% ø $„D¼¿¢,à'½8<'œÔ|™à!'½ÿ°Ž‚”¯¿$ί¼ ¯±¯°¯¤P¯¥T¯¦XÀ?¯®8‚”‚`¬ ï$ÿÿá %™€ ø ¼ @ %€0«T˜‚˜*«T™‚¬“93(#«T™˜$  ø ¼ @'¤T™$ ø $©T¼  ˆ%°P™(Ž ø ªT&1¼ ** ÿ÷&™œ ø ¼ «T`$ÿþ‚„™ƒøŽ ø Ž ¯T$M¬p¼ Ï* $ÿþ¶¯¸D™‚`$ÿÿ9 %!™€ ø ¼ @ %€§¯¤D™€ô$ ø ˆ%¼ @ %™€ü ø ¼ ¯¢L™ % ø ¼ ¯¢H™'¤T$ ø $¨T¼  °P™(Ž ø ©T&1¼ )* ÿ÷&„‚x<€Œ„€™t<€ ø 4¥¼ ¯¢D™t<€ ø 4¥¼ ¯¢D@Y'¤D™ $ ø $ªD¼ @D«T¦TK/™„0 € ø ¼ ¥T™ @€%@ % ø $¬T¼ ¯ D€ %‘ÿÿ€!Œm(D $Bÿü®D%ϯ¯D€ÿ÷$cÿü¸X¦TÈ€ 0%™ƒð % ø (%¼ ™ƒì % ø ¼ €l…€T™„ §D&¿p % ø $¥P¼  %™< ø $ÿå¼ ¯¨D™¤H ø ¼ @ %™€ø ø ¼ ™¤H ø ¼ ™€ü¤L ø ¼ @ %™€ø ø ¼ ©8 5¯DŠ‚`$ÿÿJ %A™€ ø ¼ @ %€"®8‹‚˜k`®8Œ‚¬‘Œ1 ®8™˜$  ø ¼ @ '¤D™$ ø $¼ ™œ ø ¼ ®8‚”¬.¯Dá ¿$„€T™€|à(% ø $„€¼ ¿$¢D°±à'½P<'œÏ™à!Ž‚”'½ÿÐί¿¯¼¯ $À+¯® ‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$ ø ¼@™œ ø ¼‰‚`$ÿÿ)!dª ™€¨$ÿÿ ø $ÿÿ¼@™€¨$ÿÿ ø $ÿÿ¼@ÿú™¼ ø ¼„‚ð™„$$„  ø ¼„‚ð™„$$„ ø ¼$™€ô ø ¼@ %™€ü ø ¼¯¢,™ % ø ¼<€™t4¥<€ ø ¯¢(¼¦(@¯¢$™À % ø ¼@ %™€ø ø ¼¯ $™À % ø ¼™€ü¤, ø ¼@ %™€ø ø ¼™„ ø ¼ª @«$‚”¬*«$a ¿„€T™€|`(% ø $„¼¿¢$à'½0<'œÌ<™à!Ž‚”'½ÿÐί¿¯¼À+¯® ‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$  ø ¼@™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`0`(%™€ô$ ø ¼@ %™€ü ø ¼¯¢(™ % ø ¼<€™t¯¢$4¥ ø <€¼A$ÿò(%™€ü¤( ø ¯¥,¼@ %™€ø ø ¼¤$™ ø ¼¥,ª @‚”¬*¡ ¿„€T™€|¯¥, ø $„œ¼¥,¿'½0à %<'œÊ ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@ÀF¯®(‚”‚`¬ ï$ÿÿá %™€ ø ¼@ %€7ª8˜‚˜1ª8™‚¬“93(*ª8™˜$$ ø ¼@#ª8©8  %„€T$„¨™( ø ¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª8$ ÿþ@‘K¬<`)ÿÿ j¯­,Ž‚`$ÿÿÎ %Á™€ ø ¼@ %€[¯¤,™€ô$ ø ¼@ %™€ü ø ¼¯¢4™ % ø ¼$™¯¢0¯¯,'¤,$ ø $¼¤8™( ø ¼'¤<™$ ø $¼'¤@™$ ø $¼<€™t4¥ ø <€¼@¯¢,™ '¤,$ ø $¼¤0™ ø ¼@ %™€ø ø ¼™¤0 ø ¼™€ü¤4 ø ¼@ %™€ø ø ¼¸(5¬,™‚`$ÿÿ9 %!™€ ø ¼@ %€"«(ˆ‚˜«(‰‚¬‘)1*@«(™˜$% ø ¼@ '¤,™$ ø $¼™œ ø ¼«(‚”¬+¬,$ÿß ¿ ¿„€T™€|€(% ø $„¬¼¿¢,à'½8<'œÅä™à!Ž‚”'½ÿÐί¿¯¼¯¤0À1¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`!˜‚˜™‚¬“93(™˜$( ø ¼@ '¤0™$ ø $¼™œ ø ¼™€Ä¤0 ø $©(¼ 4¯¢,Š‚`$ÿÿJ%A™€ ø ¼@%`"®(‹‚˜k`®(Œ‚¬‘Œ1 ®(™˜$) ø ¼@ '¤,™$ ø $¼™œ ø ¼®(‚”¬.¯,á ¿„€T™€|à(% ø $„¸¼¿¢,à'½0<'œÃЙà!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À@¯®(‚”‚`¬ ï$ÿÿá %™€ ø ¼@ %€1ª8˜‚˜+ª8™‚¬“93($ª8™˜$* ø ¼@ª8©8  %„€T$„Ä™( ø ¼'¤<™$ ø $¼™œ ø ¼ª8$ ÿþ@‘K¬<`)ÿÿ p¯­,Ž‚`$ÿÿÎ %Á™€ ø ¼@ %€a¯¤,™€ô$ ø ¼@ %™€ü ø ¼¯¢4™ % ø ¼$™¯¢0¯¯,'¤,$ ø $¼¤8™( ø ¼'¤<™$ ø $¼<€™t4¥ ø <€¼@!¯¢,™ '¤,$ ø $¸,¼ ¹@  %™ $ ø $¼™¤0 ø ¼@ %™€ø ø ¼™¤0 ø ¼™€ü¤4 ø ¼@ %™€ø ø ¼¨(5®,‰‚`$ÿÿ) %!™€ ø ¼@ %€"­(Š‚˜J@­(‹‚¬‘k1l€­(™˜$+ ø ¼@ '¤,™$ ø $¼™œ ø ¼­(‚”¬-®,$ÿàÁ ¿Á ¿„€T™€|À(% ø $„ȼ¿¢,à'½8<'œ¿”™à!'½ÿ¸Ž‚”¯¿ί¼¯¤H¯¥L¯¦PÀ=¯®0‚”‚`¬ ï$ÿÿá %™€ ø ¼@ %€-˜‚˜'™‚¬“93( ™˜$. ø ¼@'¤L™$ ø $¼'¤P™$ ø $¼¤H™¥L ø $¼™œ ø ¼‰‚`$ÿÿ) %!™€ ø ¼@ %€,¯¤DŠ‚<¬LJ$ ÿñ@$¯«D€ $ÿþ‚‚|­PŒB p@Á¯¯D@«D¸L<'ÿÿ¹H€4Æÿÿ<À"!Œd$cÿü…@$†H$ (D$ ÿþ¯ªD€ÿõ$Bÿü«D¬L`^®0€\®0™€ô$ ø ¼@ %™€ü ø ¼¯¢@™ % ø ¼¯¢<™'¤L$ ø $¼¤H™¥L ø $¼<€™t4¥ ø <€¼@¯¢D™ '¤8$ ø $¼¤<™¯¢D ø ¼@ %™€ø ø ¼™¤< ø ¼™€ü¤@ ø ¼@ %™€ø ø ­D¼ ®0„‚<‡€d™h¥8¦PŒ„ ø $çX¼@¯¢D¯ D®0À5ªD‚`$ÿÿï %ᙀ ø ¼@ %€"©0˜‚˜©0™‚¬“93(©0™˜$/ ø ¼@ '¤D™$ ø $¼™œ ø ¼©0‚”¬)ªDA ¿„€T™€|@(% ø $„Ô¼¿¢Dà'½H<'œºð™à!Ž‚”'½ÿÐί¿¯¼À+¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$4 ø ¼@™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`¯£,Š‚`J¯ª,«(`5¹,Œ‚`$ÿÿŒ%™€ ø ¼@%`"¸(‚˜­ ¸(Ž‚¬‘Î1Ïà¸(™˜$5 ø ¼@ '¤,™$ ø $¼™œ ø ¼¸(‚”¬8¹,! (%™€|„€T ø $„༿¢,à'½0<'œ¸¼™à!Ž‚”'½ÿÈί¿¯¼¯¤8À:¯®(‚”‚`¬ ï$ÿÿá %™€ ø ¼@ %€+ª8˜‚˜%ª8™‚¬“93(ª8™˜$2 ø ¼@ª8©8  %„€T$„ì™( ø ¼™œ ø ¼ª8$ ÿþ@‘K`U¯¬,‚`$ÿÿ­ %¡™€ ø ¼@ %€F¯¤,™€ô$ ø ¼@ %™€ü ø ¼¯¢4™ % ø ¼¤8™(¯¢0 ø ¼<€™t4¥ ø <€¼@¯¢,™ '¤,$ ø $¼¤0™ ø ¼@ %™€ø ø ¼™¤0 ø ¼™€ü¤4 ø ¼@ %™€ø ø ¼®(À5ª,‚`$ÿÿï %ᙀ ø ¼@ %€"©(˜‚˜©(™‚¬“93(©(™˜$3 ø ¼@ '¤,™$ ø $¼™œ ø ¼©(‚”¬)ª,$ÿúA ¿A $ÿêA ¿„€T™€|@(% ø $„𼿢,à'½8<'œµ ™à!'½ÿÀŽ‚”¯¿ί¼¯¤@¯¥D¯¦H¯§LÀG¯®0‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`7˜‚˜1™‚¬“93(*™˜$6 ø ¼@#'¤@™$ ø $¼'¤D™$ ø $¼'¤H™$ ø $©@¼$!™¤L¥H ø $¼™œ ø ¼Š‚`$ÿÿJ%A™€ ø ¼@%`‘¯£8‹‚|¬Dk¯@` h¡$ÿþ‡¯®8$á$á$á+$ÿþ,¯¸8¹H$ÿþ §H¯¨8§H$¯§4©H«H $ ÿþ¯ª8`%gÿÿ¬Lh€<4¥ÿÿ¯§4<À!ŒC§4dp$Àex$à*$ÿþ¯¸8$çÿÿ¯§4`ÿó$Bÿü§H¯§4'¹4¯¹L¯ 4¨8Pª0™€ô$ ø ¼@ %™€ü ø ¼¯¢<™'¤@$ ø $¼'¤D™$ ø $¼'¤H™$ ø $¼¥4™¤L ø $¼<€…‚x4ÆŒ¥  „‚<‡€d™h<€Œ„4Æ  ø $ç`¼ ¯¢8„‚<‡€d™hŒ„<€ ø $ç`¼¯¢8™€ü¤< ø ¼@ %™€ø ø ©8¼ ª0¯ 8ª0@5¸8‹‚`$ÿÿk%a™€ ø ¼@%`"¯0Œ‚˜Œ€¯0‚¬‘­1®À¯0™˜$7 ø ¼@ '¤8™$ ø $¼™œ ø ¼¯0‚”¬/¸8 ¿„€T™€|(% ø $„ü¼¿¢8à'½@<'œ°(™à!'½ÿ Ž‚”¯´$ί¿,¯¼(¯³ ¯²¯±¯°¯¤`¯¥d %%À;¯®H‚”‚`¬ ï$ÿÿá %™€¯ L ø ¼(£L@ %€*˜‚˜$™‚¬“93(™˜$8 ø ¯£L¼(£L@'¤`™$$ ø ¯£L¼('¤d™$ ø $¼(™œ ø ¼(£L‰‚`$ÿÿ) %! ™€¯£L ø ¼(£L@ %€]¯¤P’‚8ŽD€™Ø¯£L ø ¼(£L‘‚€®@Ž"’€d³XŒP&Rh€.` %?¯ P™hŽ(%0% ø @8%¼(@6¯¢PŽŽ*$ ÿdŽ9H¥`¦d ø ¯£L¼(£L@&¯¢P$A‚* ˜%‚* @ %˜%ŽŽ"ÿÐŽkŽl$ÿü­‹ŽnŽm­ÍŽo$®`áÀ$®`®x$™Žd ø ¼(@¯¢PŽh¯¨P©H O¸PŠ‚`$ÿÿJ %A™€ ø ¼(@ %€<¯H™‚˜9 6¯H‹‚¬‘k1l€/¯H™˜$9 ø ¼(@''¤P™$ ø $­P¼( '¤<™'°<(%  %'¦@ ø '§D¼( %™$ ø $¼( ™$ÿÿ¯®<$ ø $¼(™œ ø ¼(¯H‚”¬/¸P ¿,„€T™€|(% ø $„¼(¿,¢P°±²³ ´$à'½`<'œ«°™à!Ž‚”'½ÿÐί¿¯¼À+¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$: ø ¼@™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%` ¯£,‚‚\$ ÿéŒB@¯¢,¯ª,«(`5¹,Œ‚`$ÿÿŒ%™€ ø ¼@%`"¸(‚˜­ ¸(Ž‚¬‘Î1Ïà¸(™˜$; ø ¼@ '¤,™$ ø $¼™œ ø ¼¸(‚”¬8¹,$ÿé! ¿! (%™€|„€T ø $„¼¿¢,à'½0<'œ©d™à!'½ÿ°Ž‚”¯´$ί±¯¿,¯¼(¯³ ¯²¯°¯¤P¯¥T %ˆ%À7¯®8‚”‚`¬ ï$ÿÿá%™€ ø ¼(@%`'˜‚˜!™‚¬“9 3(™˜$V ø ¼(@'¤P™$ ø $¼('¤T™$ ø $¼(™œ ø ¼(‰‚`$ÿÿ)%!™€ ø ¼(@%`@¯£@’‚€“€dŽB&spŒP€¢H.ŒK$  %-¯ @™hŽ(%0% ø `8%¼(@$¯¢@ŽŽJ$ ÿdŽ9H¥P¦T ø ¼(@¯¢@$A‚* %‚* @ %¯°HŽŽBÿÎŒK$$ÿüŒMa`$¬L$¯­@®8À5¹@‚`$ÿÿï%ᙀ ø ¼(@%`"ª8˜‚˜ª8ˆ‚¬‘ 1  ª8™˜$W ø ¼(@ '¤@™$ ø $¼(™œ ø ¼(ª8‚”¬*¹@! (%™€|„€T ø $„ ¼(¿,¢@°±²³ ´$à'½P<'œ¥à™à!Ž‚”'½ÿÈί¿¯¼¯¤8À1¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`!˜‚˜™‚¬“9 3(™˜$X ø ¼@ '¤8™$ ø $¼™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`P¯£,ª8¬8 _‚` k€ $ÿþG¯®,™€ô$ ø ¼@ %™€ü ø ¼¯¢4™ % ø ¼¯¢0™'¤8$ ø $¼<€™t4¥  ø <€¼@¯¢,™ '¤,$ ø $¼¤0™ ø ¼@ %™€ø ø ¼™¤0 ø ¼™€ü¤4 ø ¼@ %™€ø ø ¼¯(à5«,˜‚`$ÿÿ%™€ ø ¼@%`"ª(™‚˜9 ª(ˆ‚¬‘ 1  ª(™˜$Y ø ¼@ '¤,™$ ø $¼™œ ø ¼ª(‚”¬*«,$ÿáa ¿a ¿„€T™€|`(% ø $„,¼¿¢,à'½8<'œ¢\™à!'½ÿ¨Ž‚”¯³$ί¿,¯¼(¯² ¯±¯°¯¤X¯¥\˜%À7¯®D‚”‚`¬ ï$ÿÿá%™€ ø ¼(@%`'˜‚˜!™‚¬“9 3(™˜$Z ø ¼(@'¤X™$ ø $¼('¤\™$ ø $¼(™œ ø ¼(‰‚`$ÿÿ)%!™€ ø ¼(@%`W¯£H’‚8ŽD€™Ø ø ¼(‘‚€®@Ž"²PŒP`*™hŽ %(%0% ø 8%¼(@5¯¢HŽŽ* ÿò™€dŽ9H¥X¦\ ø ¼(@&¯¢H$Ab* %b* @˜%%ŽŽ"ÿÔŽKŽL$ÿü­‹ŽNŽM­ÍŽO$®@áÀ$®@®X$™ŽD ø ¼(@¯¢HŽH¯¨H©D O¸HŠ‚`$ÿÿJ%A™€ ø ¼(@%`<¯D™‚˜9 6¯D‹‚¬‘k 1l€/¯D™˜$[ ø ¼(@''¤H™$ ø $­H¼( '¤8™'°8(%  %'¦< ø '§@¼( %™$ ø $¼( ™$ÿÿ¯®8$ ø $¼(™œ ø ¼(¯D‚”¬/¸H ¿,„€T™€|(% ø $„8¼(¿,¢H°±² ³$à'½X<'œž™à!Ž€d‚”'½ÿØÎHﯿ¯¼¯¤(¯®$à+¯¯ ‚”˜‚`¬ $ÿÿ%™€ ø ¼@%`ª(™‚˜9 ª(ˆ‚¬‘ 1  ª(™˜$\ ø ¼@ª(™œ ø ¼ª(@€d¬*H‹€€d%kÌÔ¬+H¬ €/¿‚`$ÿÿ­%¡™€ ø ¼@%`¹ Ž‚˜ÎÀ¹ ‚¬‘ï 1ø¹ ™˜$] ø ¼@¹ ™œ ø ¼¹ ‚”¬9¿¢$à'½(<'œœ<™à!Ž‚”'½ÿÐί¿¯¼¯¤0¯¥4À7¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`'˜‚˜!™‚¬“9 3(™˜$^ ø ¼@'¤0™$ ø $¼'¤4™$ ø $¼™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`$¯£,Š‚|«0J g‚@ €­0¯4 s€ÀÀ$ÿþ¯¹,„‚<¥0Œ„$ÿñ€ ¯¨,‡€d™h¦4 ø $çx¼@¯¢,¯ ,©( 5¯,Š‚`$ÿÿJ%A™€ ø ¼@%`"®(‹‚˜k`®(Œ‚¬‘Œ 1 ®(™˜$_ ø ¼@ '¤,™$ ø $¼™œ ø ¼®(‚”¬.¯,á ¿„€T™€|à(% ø $„D¼¿¢,à'½0<'œ™T™à!Ž‚”'½ÿÈί¿¯¼¯¤8¯¥<À7¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`'˜‚˜!™‚¬“9 3(™˜$` ø ¼@'¤8™$ ø $¼'¤<™$ ø $¼™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`O¯£4ª8¬8 _‚` k€ $ÿþF¯®4™€ô$ ø ¼@ %™€ü ø ¼¯¢0™ % ø ¼¯¢,™'¤8$ ø $¼'¤<™$ ø $¼<€™t4¥  ø <€¼@¯¢4™¤, ø ¼@ %™€ø ø ¼¯ 4™¤, ø ¼™€ü¤0 ø ¼@ %™€ø ø ¼¯(à5«4˜‚`$ÿÿ%™€ ø ¼@%`"ª(™‚˜9 ª(ˆ‚¬‘ 1  ª(™˜$a ø ¼@ '¤4™$ ø $¼™œ ø ¼ª(‚”¬*«4a ¿„€T™€|`(% ø $„P¼¿¢4à'½8%€]%0‡ààX%p€®0!ŒÇx€á ¯@!  ¬É­$c$Æ$c$Æ$BbÿïDDÀ€¸0!ŒÇ`€á h€È€¹@!  ¬É­ŒÇ$c$ÆŒÇ$c$Æá ¬@!  ¬É­ŒÇ$c$ÆŒÇ$c$Æá ­@!  ¬É­ŒÇ$c$ÆŒÇ$c$Æá p€®@!  ¬É­ $c$Æ$c$Æ$BDÿ¿à`%<'œ”<™à!'½þد¤(„€T™„D¯¿<¯¾8¯¼4¯·0¯¶,¯µ(¯´$¯³ ¯²¯±¯° ø $„\¼4@M@€%™„0$ ø $¼4&ÿõ@¸%¬N$'¾T$:’B’&Bÿý@5ª(™„H % ø @(%¼4@P˜#™„h % ø ¼4@˜%™„PÀ %(% ø `0%¼4Óx!¡à™„DÀ % ø ¼4@@ %Õ ˆ€¡ÀC&¡ÀC™ƒÐ¸¨!&µ(€ ø à %¼4@¸%“È#'(ÿÿñH!­(&ÖÿÄ€!ª(À%­W%¿<°±²³ ´$µ(¶,·0¾8à'½(<'œ’|™à!'½ÿˆŽ‚”¯¿ί¼¯¤x¯¥|¯¦€¯§„¯ \ÀS¯®,‚”‚`¬ ï$ÿÿá %™€ ø ¼@ %€C˜‚˜=™‚¬“9 3(6™˜$h ø ¼@/©x  %„€T$„h™( ø ¼'¤€™$ ø $ª„¼@@ %„€T$„l™( ø ¼'¤ˆ™$ ø $¼™œ ø ¼‹‚`$ÿÿk %a™€ ø ¼@ %€ ¯¤l£ˆ`$ ÿþ¯¬l™€ô$ ø ¼@ %™€ü ø ¼¯¢t™ % ø ¼¤x™(¯¢p ø ¼'¤€™$ ø $­„¼   %„€T$„p™( ø ¼'¤ˆ™$ ø $®|¼À'¤d¯ dÏÀ%à ¸d$B'¯¹dŒHÿú¸d¯ d™$ ø $©d¼ %¥|™(Œ¤¯¥$ ø ¯£h£hªd¥$$c¼j* ÿô$¥™„‚H$ ø $¼$™„‚L ø $¼$™„‚P ø $¼$™„‚T ø $¼'¤`™€'9T ø ¼$K™¯«d'¤d$ ø $¼¬d…€T™„ †‚°%ÿÿ¯­d'¤0 ø $¥t¼'¤0™( ø ¯d¼p*ÀÀ%(%¸`È!$™(¯¥$ ø ¯£h£h¨d¥$$c¼h* ÿñ$¥™ƒì¤` ø ¼„‚x<€Œ„€™t<€ ø 4¥¼¯¢l™t<€ ø 4¥ ¼¯¢l@1'¤l™ $ ø $£ˆ©l¼#ªŒ@¯ª\™„0 € ø ¼¯¢\™ ¤\¥l ø $¼¤l™€¥\'9Ð ø ¼¯¢l™¤p ø ¼@ %™€ø ø ¼™¤p ø ¼™€ü¤t ø ¼@ %™€ø ø ¼«,`=¨\Œ‚`$ÿÿŒ %™€ ø ¼@ %€*¹,‚˜­ $¹,‚¬‘ï 1îÀ¹,™˜$i ø ¼@'¤l™$ ø $¸l¼(%™¤\ ø $¼™œ ø ¼¹,‚”¬9¨\©Œ ªl™ƒì % ø ¼ªlA ¿„€T™€|@(% ø $„€¼¿¢là'½x<'œ‹,™à!'½û¨‚”¯²ï$¯¿$¯¼ ¯±¯°¯¤X¯¥\¯¦`¯®<$à1¯¯8‚”˜‚`¬ $ÿÿ%™€ ø ¼ @%`!™‚˜9 ˆ‚¬‘ 1  ™˜$l ø ¼ @ '¤X™$ ø $¼ ™œ ø ¼ …€dŒ¥€ .‡€d€dŒç„$*$çÿÿ`¬'„Š€d…€dJ„Œ¥€Q™ƒìX«`!„ ø ¼ ‡€d€dŒç„*$çÿÿ`ÿì¬'„…€dŒ¥€™ƒì  % ø ¼ €d¬ €€d¬ „‚`$ÿÿ­$¡%™€ ø ¼ @%`¯£T™€ô$ ø ¼ @ %™€ü ø ¼ ¯¢L™ % ø ¼ ¯¢H™'¤X$ ø $¼ <€„‚xŒ„€™t<€ ø 4¥¼ ¯¢T™t<€ ø 4¥ ¼ ¯¢T@Á'¤P™ $ ø $¼ @ž¯¢T¢P@š¯¢T™„0$x ø ¼ $€d™(% ø ¬"€¼ ¯¢D„€d€d™ Œ„€$$ ø ¬ „¼ @|'°<‡€d€dŒç„ï€ñ™ $$pÏ ! ø $„¼ $‡€d™€dŒç„9€ñ$À !™ $„ ø ¼ $‡€d‰€dŒç„)€ñ™ $@ ! ø $„ ¼  %™, ø ¼  %™„h ø ¼ $D™„0 ø ¼ @ %™„4(% ø ¼ $Š€dƒ€dJ„Œc€Q€d$Xk`!­‚­„™ ±pà ! ø $„¼ ¯<‡€d€dŒç„$çò¬'„O!Q„€d€d™ƒÐŒ„€¯§<¬'„( ø ¼ €d¬"€‡€d™€dŒç„9€ñ$$À !™  ø ¼ @ÿ†™¥D ø $¼ ¯ T™¤H ø ¼ @ %™€ø ø ¨\¼ ª`‰€d)„­ ª`@ ‹€dk€­K™¤H ø ¼ ™€ü¤L ø ¼ @ %™€ø ø ¼ ¬8€<©T‚`$ÿÿ­%¡™€ ø ¼ @%`)¹8Ž‚˜ÎÀ#¹8‚¬‘ï 1ø¹8™˜$m ø ¼ @'¤T™$ ø $¼ $„€d™$ ø $„„¼ ™œ ø ¼ ¹8‚”¬9©T! ¿$„€T™€| (% ø $„Œ¼ ¿$¢T°±²à'½X<'œƒØ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@¯§DÀ7¯®$‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`'˜‚˜!™‚¬“9 3(™˜$n ø ¼@'¤8™$ ø $¼¤<™¥8 ø $¼™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`d¯£4ª8$ ÿþ@)A  \¯«4™€ô$ ø ¼@ %™€ü ø ¼¯¢0™ % ø ¼¯¢,™'¤8$ ø $¼¤<™¥8 ø $¼<€™t4¥  ø <€¼@$¯¢4™ '¤($ ø $¬@¼€$­(­®DÀ™ ¥( ø À %¼™¤, ø ¼@ %™€ø ø ¼¯ 4™¤, ø ¼™€ü¤0 ø ¼@ %™€ø ø ¼¯$à;«4˜‚`$ÿÿ%™€ ø ¼@%`(ª$™‚˜9 "ª$ˆ‚¬‘ 1  ª$™˜$o ø ¼@'¤4™$ ø $¼'¤(™$ ø $¼™œ ø ¼ª$‚”¬*«4a ¿„€T™€|`(% ø $„˜¼¿¢4à'½8<'œÐ™à!Ž‚„ÎàŽ$<'œ°™à!'½ÿŽ‚”¯µ,ί±Àˆ%¯¿4¯¼0¯´(¯³$¯² ¯°¯¤p¯¥t¨%ÀX¯®L‚”‚`¬ ï$ÿÿá%™€ ø ¼0@%`H˜‚˜B™‚¬“93(;™˜$r ø ¼0@4'¤p™$ ø $¼0'¤t™$ ø $¼0 $ ÿÿŽ)™'¤`$$ ø ¯©`¼0Ž*™'¤`$$ ø ¯ª`¼0™¯«`'¤`$ ø $¼0'¤`™$ ø $¼0™œ ø ¼0™„l'¤X ø (%¼0$ÿÿŒ‚`%Œ™€ ø ¼0@%`¦¯£`’‚8ŽD€™Ø ø ¼0”‚€®@Ž‚<ŒP6sB@'²P tZŽ J %™„l@ % ø (%£T¤\¼0d* dP#­P®Xd#®x#¯¯P¯£T¸P¹XS!@#% ÿÿ¯©P¯£TŽ"«P­TK*  %b (%Ž,*  I¢ha¯ `Ž.¯TªPÏ* JX#¸PXÈ#¯¹PŽ(H# ¯©T%lÿÿ¯¬PŽ-®T®À#È!¯¹T™h0% ø @8%¼0A ¯¢`B¨L™h(%0% ø 8%¼0@9¯¢`ŽŽˆÿ¨™€dŽ9H¥p¦t ø ¼0@*¯¢`$A¢* ¯°h¢* @¨%¯°hŽŽ‚ÿŠ¢h$ÿüŒOŒI­/ŒKŒJ­jŒL$¬@h$¬@¬M$™ŒD ø ¼0@¯¢`®hد¸`¨LO®`™‚`$ÿÿ9%!™€ ø ¼0@%`<­L‚˜ïà6­L‰‚¬‘)1*@/­L™˜$s ø ¼0@''¤`™$ ø $«`¼0`'¤@™'°@(%` %'¦D ø '§H¼0 %™$ ø $¼0 ™$ ÿÿ¯¬@$ ø $¼0™œ ø ¼0­L‚”¬-®`Á ¿4„€T™€|À(% ø $„¤¼0¿4¢`°±² ³$´(µ,à'½p<'œy„™à!‚€Tà$B°<'œyl™à!Ž‚”'½þÀί¿¯¼¯¤@À+¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$ ø ¼@™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`¾¯£8™€ô$ ø ¼@ %™€ü ø ¼¯¢4™ % ø ¼¯¢0„‚x<€Œ„€™t<€ ø 4¥¼¯¢8™t<€ ø 4¥¼¯¢8@…'¤8™ $ ø $ª8¼@p‡€dŒçˆà€d™ƒìŒä ø ¬'ˆ¼‡€d™ƒìŒçˆŒä ø ¼ ™„0$ ø ¼€d¬"ˆ‡€d™ Œäˆ$ ø $¼'¤0™, ø ¼'¤0™„h ø ¼$D™„0 ø ¼@ %™„4'¥0 ø ¼'¤0‡€dŒçˆ¬â™, ø ¼'¤0™„h ø ¼$D™„0 ø ¼@ %™„4'¥0 ø ¼$‡€d$Œçˆ¬â™ $ä  ø «@¼`‡€dŒçˆ­g™¤0 ø ¼@ %™€ø ø ¼™¤0 ø ¼™€ü¤4 ø ¼@ %™€ø ø ¼¬,€5¨8‚`$ÿÿ­%¡™€ ø ¼@%`"¹,Ž‚˜ÎÀ¹,‚¬‘ï1ø¹,™˜$‘ ø ¼@ '¤8™$ ø $¼™œ ø ¼¹,‚”¬9¨8 ¿„€T™€|(% ø $„¸¼¿¢8à'½@<'œtP™à!Ž‚”'½ÿÈί¿¯¼À+¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$’ ø ¼@™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`W¯£4™€ô$ ø ¼@ %™€ü ø ¼¯¢0™ % ø ¼¯¢,Š€d$ JŒ'¤4@¯ 4¯«4™$ ø $¼<€™t4¥ ø <€¼@¯¢4™ '¤4$ ø $¬4¼€€d€d­Œ-®¬.Œ™¤, ø ¼@ %™€ø ø ¼¯ 4™¤, ø ¼™€ü¤0 ø ¼@ %™€ø ø ¼¯(à5«4˜‚`$ÿÿ%™€ ø ¼@%`"ª(™‚˜9 ª(ˆ‚¬‘1  ª(™˜$“ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª(‚”¬*«4a ¿„€T™€|`(% ø $„ļ¿¢4à'½8<'œpÔ™à!Ž‚”'½ÿÈί¿¯¼À+¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$Ž ø ¼@™œ ø ¼‰‚`$ÿÿ)%!™€ ø ¼@%`;¯£4™€ô$ ø ¼@ %™€ü ø ¼¯¢0™ % ø ¼<€™t4¥<€ ø ¯¢,¼¦,@¯¢4™À % ø ¼@ %™€ø ø ¼¯ 4™À % ø ¼™€ü¤0 ø ¼@ %™€ø ø ¼ª(@5¸4‹‚`$ÿÿk%a™€ ø ¼@%`"¯(Œ‚˜Œ€¯(‚¬‘­1®À¯(™˜$ ø ¼@ '¤4™$ ø $¼™œ ø ¼¯(‚”¬/¸4 ¿„€T™€|(% ø $„Ô¼¿¢4à'½8<'œmÈ™à!Ž‚`'½ÿ°Î$ÿÿ¯¿¯¼¯¤P¯¥TÁ¯¦X™€ ø ¼@%%`º¯£L™€ô$ ø ¼@ %™€ü ø ¼¯¢H™ % ø ¼¯¢D™'¤P$ ø $¼'¤<™„l(% ø ¼<€™t4¥ ø <€¼@‚¯¢L™„l'¤4 ø (%¼'¤L™ $ ø $¯L¼àg'¤$™ ¯ L$ ø $¸$¹(¨T¼¯¸,¯¹0'©,!­+­ ¬X¢@€P<£<4„B@¦4¥8a0m %­ÿþ¤pÂ!AxC$AxCà%aÀC$aÀC%Á0Ù '9ÿþ$'¹<PE(!¡@C$¡@C(%ÁHC$ÁHCE!D* 0% ¯¥8i!¯©4<ÿð4!½Àf!$cA!¯¦4«0­,K* ®0¬,K#l#¯£<¯¢@®0m#Nx#ä!$cÿÿ¯£<¯¢@¸X!¯)¯ ™¤D ø ¼@ %™€ø ø ¼™¤D ø ¼™€ü¤H ø ¼@ %™€ø ø ¼¬L ¿„€T™€|€(% ø $„伿¢Là'½P<'œjL™à!'½ÿà$¯¿¯¼8%‡‚°€‡‚¬à „€T™€|$ÿþ ø $„ô¼¿™ƒðà % ø $¼%¿'½ à<'œi¼™à!'½ÿà$¯¿¯¼¯¥$8%‡‚°€‡‚¬à à(%„€T™€|$ÿþ ø $„¼¿™ƒð¤$ ø $¼%¿'½ à<'œi(™à!'½ÿȯ¿,¯¼(¯³$¯² ¯±¯°Ž€˜%À¦¿,„€T™„D$„ ø ¼(@p¯¢0O@ˆ%à&$:’"B@%’"&1Bÿý@%@  €%C’&@Bÿû™„h` % ø ¼(0#F™ƒô` % ø  (%¼(@y¿,’ˆ%ÿÜ™„h¤0 ø ¼(@ˆ%„€T™„h$„ ø ¼(@€%™„h` % ø ¼(PÈ!1 !™„0$„ ø ¼(@ˆ%…€T™„4@ % ø $¥¼( %…€T™„($¥  ø ¼(¥0™„( % ø ¨0¼(‘  …€T™„( % ø $¥$¼(™„( % ø `(%¼( %™ø ø ¼(/¿,„€T™„h$„ ø ¼(@€%™„h` % ø ¼(P !™„0$„ ø ¼(¯¢0…€T™„4@ % ø $¥¼(¤0…€T™„($¥( ø ¼(¤0™„(`(% ø ¼(¤0™ø ø ¼(¿,°±² ³$'½8à%<'œf@™à!'½ÿȯ¿,¯¼(¯³$¯² ¯±¯°Ž€˜%Àv¿,„€T™„D$„, ø ¼(@m¯¢0O@€%ài$:’B@%’&Bÿý@%@ ˆ%C’"&1@Bÿû™„h` % ø ¼(00#FK™ƒô` % ø (%¼(@D’8¹0X0+&1 ’ÿÿH&ÿÿ„€T™„h$„, ø ¼(@˜%™„h % ø ¼(©0™„0SP! #R ! ø $„¼(@€%…€T™„4@ % ø $¥,¼( %…€T™„($¥8 ø ¼(¥0™„, % ø @0%¼( %™„( (% ø ¼( %™ø ø ¼(¿,’+ €%`ÿ™¿,°±² ³$'½8à%<'œd™à!'½ÿÀ¯³$€˜%„‚<™Ü¯¿<¯·4¯¶0¯µ,Œ„ ¨%À°%à¸%¯¼8¯´(¯² ¯± ø ¯°¼8×@ %Õ$°À¸%*ö¸#@8&µÿÿÀ2À%ŽŽ,` %ÐŽ ŽŽŽXÈ#ù@#ˆ#2* ™ƒðC(! ø @0%Ž ¼8r˜!2P!® % ` %™ƒðC(! ø  0%Ž ¼8q`!® Q# q˜!™€ì€ % ø ¼8@ ¿<@ÿÐ*&µÿÿ@ÿÊw˜!%¿<°±² ³$´(µ,¶0·4à'½@<'œbl™à!'½ÿȯ³ €˜%„‚8™Ü¯¿4¯¶,¯µ(¯´$Œ„  %À¨%à°%¯¼0¯²¯± ø ¯°¼0¶@%´$¨ °%*Õ°#@4&”ÿÿ . ˆ%ŽB0ŽC4ŒN`(%À#* ŒO ™ƒð 0% ø ã !ŽX4¼0q˜!È!®Y4ˆ% `(%ŒH ™ƒð0% ø  !ŽI4¼00P!®J40ˆ# p˜!™€ð@ % ø ¼0@ ¿4 ÿÔ*&”ÿÿ@ÿÎv˜!%¿4°±²³ ´$µ(¶,à'½8<'œ`ð™à!„‚<™Ü'½ÿد¿Œ„ ø ¯¼ŒC,¼Œnn¿„‚X™‚$Œ„ ø ¯¢$ŒO ¥$¼%ø ¬X Œ¹,(¬HŒ©,¬IŒª,K­bŒ¬,­‚¿'½(à%<'œ`8™à!„‚8™Ü'½ÿ௿Œ„ ø ¯¼ŒN,¼Ϭ@4¬O0¿'½ à%<'œ_ì™à!'½ÿ௦(¯(™€ç¯§,à0%¯¿'9O¯¼8 ø ¿¼à'½ <'œ_œ™à!'½ÿ௦(¯(™€ç¯§,à0%¯¿'9Q$¯¼8 ø ¿¼à'½ <'œ_L™à!„‚<™Ü'½ÿد¿Œ„ ø ¯¼ŒD,¼Œˆ@%„‚X™‚$Œ„ ø ¯¢$ŒN £$¼%Ï ¬O Œx,@@%¬YŒi,¬IŒj,K­bŒl,­‚  ™ƒè®x#$d<8% ø ¯0#¿¼'½(à%<'œ^l™à!„‚<™Ü'½ÿد¿Œ„ ø ¯¼¼@ %™€ì¯¢$ ø ¼£$@¿Œn,$d<Â8%ŒE ŒXŒO¸È#ù0#™ƒè ø ¼%¿'½(à<'œ]È™à!'½ÿد¤(„‚<™Ü¯¿Œ„¯¼¯¥,¯¦0 ø ¯§4¼ŒN,™€Ã¤(¥,§0'9O¯¢$$ ø ¯£ ¼£ ¨$@"¿,%<â8%bŒE ŒYŒX¹H#™ƒè¯¨$¯¢  ø  0#¼£ ¨$Œj$ÿü%Ka($¬e @%<¹ ø ¼%¿'½(à<'œ\´™à!'½ÿȯ¤8„‚<™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$Q<˜%`&&Rÿÿ™ƒÔ % ø (%¼0@@@Ž. %Ù ø ¼0ޝ,™€ø'9U$ ø ¯¼0@@˜%™ƒÔ % ø (%¼0@@@$ÿö@@*&Rÿÿ`ÿÜ€!Ž) %9 ø Žª,¼0K­b¿4`%³$µ,´(² ±°à'½8<'œ[\™à!'½ÿȯ¤8„‚<™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$Q<˜%`&&Rÿÿ™ƒØ % ø (%¼0@@€Ž. %Ù ø ¼0ޝ,™€ø'9U$ ø ¯¼0@@˜%™ƒØ % ø (%¼0@@€$ÿö@€*&Rÿÿ`ÿÜ€!Ž) %9 ø Žª,¼0K­b¿4`%³$µ,´(² ±°à'½8<'œZ™à!'½ÿȯ³ €˜%„‚<™Ü¯¿4¯µ(¯²Œ„ %À¨%¯¼0¯¶,¯´$¯±¯° ø ¯§D¼0*@°%$Q< %&Rÿÿ`0`€%<€™ƒÜ % ø (%¼0@$H€ŽÓ$@b$ÿüŽ/ %ù ø ¼0ŽØ,™€'9U$ ø ­¼0@@ %™ƒÜ % ø (%¼0@H€$ÿöH€*&Rÿÿ`ÿÓ €!Ž* %Y ø ŽË,¼0l­‚¿4€%´$¶,µ(³ ²±°à'½8<'œX|™à!'½ÿȯ¤8„‚<™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$Q<˜%`&&Rÿÿ™ƒà % ø (%¼0@@€Ž. %Ù ø ¼0ޝ,™€ø'9U$ ø ¯¼0@@˜%™ƒà % ø (%¼0@@€$ÿö@€*&Rÿÿ`ÿÜ€!Ž) %9 ø Žª,¼0K­b¿4`%³$µ,´(² ±°à'½8<'œW$™à!'½ÿȯ¤8„‚<™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$Q<˜%`&&Rÿÿ™ƒä % ø (%¼0@@€Ž. %Ù ø ¼0ޝ,™€ø'9U$ ø ¯¼0@@˜%™ƒä % ø (%¼0@@€$ÿö@€*&Rÿÿ`ÿÜ€!Ž) %9 ø Žª,¼0K­b¿4`%³$µ,´(² ±°à'½8<'œUÌ™à!'½ÿȯ²€%„‚<™Ü¯¿4¯¶,¯³ Œ„ ˜%À°%¯¼0¯µ(¯´$¯±¯° ø ¯§D¼0*@¨%$P< %&sÿÿ`'@ˆ%™„ % ø  (%¼0@™€'9U$ ø ¼0@@ %™„ % ø  (%¼0@$ÿöŽ %ÙÀ ø ޝ,*ø¼0&sÿÿ2ˆ!`ÿÛ¯¿4€%´$°±²³ µ(¶,à'½8<'œT”™à!'½ÿȯ¤8„‚<™Ü¯¿4¯µ,¯² Œ„ %À¨%¯¼0¯´(¯³$¯±¯° ø ¯§D¼0p@°8*@ %$Q<˜%%Õÿÿ`G&Rÿÿ™ƒä % ø (%¼0@Ž/ %ù ø ¼0Ž˜,™€'9U$ ø ­¼0@0@˜%™ƒä % ø (%¼0@'$ÿö™ƒä&(% ø  %¼0@`€Ž) %9 ø ¼0ŽŠ,™€K'9U$ ø ­b¼0@@˜%™ƒä % ø (%¼0@`€$ÿö`€*&Rÿÿ`ÿ» €!Ž- %¹ ø ŽŽ,¼0Ï­â¿4`%³$µ,´(² ±°à'½8<'œR°™à!'½ÿȯ²€%„‚<™Ü¯¿4¯¶,¯³ Œ„ ˜%À°%¯¼0¯µ(¯´$¯±¯° ø ¯§D¼0p@*@ %$P<¨%%Öÿÿ&sÿÿ`J@ˆ%™„ % ø  (%¼0@™€'9U$ ø ¼0@;@¨%™„ % ø  (%¼0@2$ÿöŽ %ù ø Ž˜,¼0&1­™„ (% ø  %¼0@™€'9U$ ø ¼0@@¨%™„ % ø  (%¼0@$ÿöŽ  %9À ø ŽŠ,*K¼0&sÿÿ2ˆ!`ÿ¸­b¿4 %µ(°±²³ ´$¶,à'½8<'œPä™à!„‚8™Ü'½ÿ௿Œ„ ø ¯¼ŒN,¼ì@4¬C0™ƒèŒfŒe $DT ø $¿¼'½ à%<'œP|™à!„‚8™Ü'½ÿȯ¿Œ„¯¼ ø ¯°ŒN0ŒX4ϼø/@€%ŒB0Ž4ŒY  %#@!¯¨$ŒI™€ð#0# ø ¯¦(¼¦(@2¿Ž0Œb ŒjF(#JX#f* „€T™<$„@ ø ¼ $ÿôŒm¬e ¦p!¬n™ƒð¤$ ø ¯£0¼£0 ™€ð % ø ¼@ ¿Ž0™ƒèŒe Œf&T ø $¼%¿°à'½8<'œO$™à!'½ÿد¤(„‚8™Ü¯¿Œ„¯¼¯¥,¯¦0 ø ¯§4¼ŒH0™€¤(¥,§0'9Q$¯¢$$ ø ¯¨ ¼£$¨ @¿Œb0$dT $™ƒèŒE ŒF ø ¯£$¼£$Œn4$ÿü%ÏŒyXá($¬e49$dT ø ¼%¿'½(à<'œN4™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™ƒÔ % ø (%¼0@x@Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™ƒÔ % ø (%¼0@x@$ÿûx@*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œLè™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™ƒØ % ø (%¼0@x€Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™ƒØ % ø (%¼0@x€$ÿûx€*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œKœ™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™ƒÜ % ø (%¼0@x€Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™ƒÜ % ø (%¼0@x€$ÿûx€*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œJP™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™„ % ø (%¼0@x@Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™„ % ø (%¼0@x@$ÿûx@*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œI™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™„  % ø (%¼0@x€Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™„  % ø (%¼0@x€$ÿûx€*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œG¸™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™ƒà % ø (%¼0@x€Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™ƒà % ø (%¼0@x€$ÿûx€*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œFl™à!'½ÿȯ¤8„‚8™Ü¯¿4¯´(¯² Œ„ %À %¯¼0¯µ,¯³$¯±¯° ø ¯§D¼0°8*@¨%$QT˜%`&&Rÿÿ™ƒä % ø (%¼0@x€Ž. %Ù ø ¼0®¢4™€'9c ø ¼0@@˜%™ƒä % ø (%¼0@x€$ÿûx€*&Rÿÿ`ÿÜ€!Ž8 % ø ¼0®¢4¿4`%³$µ,´(² ±°à'½8<'œE ™à!'½ÿȯ²€%„‚8™Ü¯¿4¯¶,¯³ Œ„ ˜%À°%¯¼0¯µ(¯´$¯±¯° ø ¯§D¼0*@¨%$PT %&sÿÿ`%@ˆ%™„ % ø  (%¼0@™€'9c ø ¼0@@ %™„ % ø  (%¼0@ $ÿûŽ %ÙÀ ø *¼0&sÿÿ2ˆ!`ÿÝ®¢4¿4€%´$°±²³ µ(¶,à'½8<'œCð™à!'½ÿȯ¤8„‚8™Ü¯¿4¯µ,¯² Œ„ %À¨%¯¼0¯´(¯³$¯±¯° ø ¯§D¼0p@°8*@ %$QT˜%%Õÿÿ`G&Rÿÿ™ƒä % ø (%¼0@Ž/ %ù ø ¼0®‚4™€'9c ø ¼0@0@˜%™ƒä % ø (%¼0@'$ÿû™ƒä&(% ø  %¼0@@€Ž8 % ø ¼0®‚4™€'9c ø ¼0@@˜%™ƒä % ø (%¼0@@€$ÿû@€*&Rÿÿ`ÿ»€!Ž) %9 ø ¼0®‚4¿4`%³$µ,´(² ±°à'½8<'œB™à!'½ÿȯ²€%„‚8™Ü¯¿4¯¶,¯³ Œ„ ˜%À°%¯¼0¯µ(¯´$¯±¯° ø ¯§D¼0p@*@ %$PT¨%%Öÿÿ&sÿÿ`F@ˆ%™„ % ø  (%¼0@™€'9c ø ¼0@7@¨%™„ % ø  (%¼0@.$ÿûŽ %ù ø ¼0®‚4™„&1 (% ø  %¼0@™€'9c ø ¼0@@¨%™„ % ø  (%¼0@ $ÿûŽ %À ø *¼0&sÿÿ2ˆ!`ÿ¼®‚4¿4 %µ(°±²³ ´$¶,à'½8à%<'œ@T™à!'½ÿد¤(„‚<™Ü¯¿Œ„¯¼¯¥,¯¦0 ø ¯§4®0¼¤(¦,§4$Á@% $ÿè€%À%à%Ç™‚(¯£$( ø £$¼Œo,ø¬XŒy,¬YŒh, ­"Œj,­B%¿'½(à<'œ?h™à!„‚<™Ü'½ÿد¿Œ„ ø ¯¼ŒC,¼Œnn¿„‚X™‚$Œ„ ø ¯¢$ŒO ¥$¼%ø ¬X Œ¹,(¬HŒ©,¬IŒª,K­bŒ¬,­‚¿'½(à%<'œ>°™à!'½ÿ௦(¯(™€ç¯§,à0%¯¿'9O¯¼8 ø ¿¼à'½ <'œ>`™à!'½ÿ¸¯² ¯±¯°*À%¯¿,¯¼(¯³$¯§T$°ÿÿ@€ˆ%'³@Ž"™€v|Â'9O£®@£¯A£¸B` %$$$ ø £¢C¼(@¿,È€*&ÿÿ@ÿè9ˆ!%¿,°±² ³$à'½H<'œ=˜™à!'½ÿ¸¯² ¯±¯°*À%¯¿,¯¼(¯³$¯§T$°ÿÿ@€ˆ%'³@Ž"™€v|Â'9O£®@£¯A£¸B` %$$$ ø £¢C¼(@¿,È€*&ÿÿ@ÿè9ˆ!%¿,°±² ³$à'½H<'œ<Йà!„‚8™Ü'½ÿ௿Œ„ ø ¯¼ŒN,¼Ϭ@4¬O0¿'½ à%<'œ<„™à!'½ÿ௦(¯(™€ç¯§,à0%¯¿'9Q$¯¼8 ø ¿¼à'½ <'œ<4™à!'½ÿ¸¯² ¯±¯°*À%¯¿,¯¼(¯³$¯§T$°ÿÿ@#€ˆ%'³@™€` %'9Q$$$ ø $¼(@“£@¿,“£@“¸C0n€À €“«A“«A`È%“¯BFH! d,h!ʹÀ!*®8$ˆ!@ÿà&ÿÿ%¿,°±² ³$à'½H<'œ;L™à!'½ÿÀ¯² ¯±¯°*À%¯¿,¯¼(¯³$¯§L$°ÿÿ@€ˆ%'³8™€` %'9Q$$$ ø $¼(@¿,“¹8“¯;“«9“¸:FèH! d,h!ʹx!@€*®/(ˆ!@ÿå&ÿÿ%¿,°±² ³$à'½@àà$ÿèà$ÿô<'œ:`™à!€$‚€dà$B4$‚€dà$Bô$‚€dà$B”Ž‚pÎŽ‚€dà$BÔ‚€d$BTà<'œ9Ü™à!'½ÿد¿¯¼Œ…,„‚X™‚$Œ„ ø ¯¥$¼¥$@@% $ÿöŒn %%Ï ¬o Œ¸¬e¬xŒ¹¯#¬£¿'½(àŒ‚,Œƒ0¬€4Cà$ÿûŒnN¬Ž0à$ÿû%à<'œ9™à!Ž‚”'½ÿÈί¿¯¼¯¤8¯ ,À1¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`"©8˜‚˜©8™‚¬“93(©8™˜$0 ø ¼@ '¤8™$ ø $¼™œ ø ¼©8$ ! $!$ $! $  $ ÿþ ¯ 8Š‚pJ¯ª8¯«8¯¬8¯­,®,À¹(™Ô ø ¼@¯¢,™Ü@ % ø ¼¯8¬O ™€è¤8 ø ¯¢4¼£4˜‚`¬b(¬x¹( 5­,ˆ‚`$ÿÿ%™€ ø ¼@%`"¬(‰‚˜) ¬(Š‚¬‘J1K`¬(™˜$1 ø ¼@ '¤,™$ ø $¼™œ ø ¼¬(‚”¬,­,¡ ¿„€T™€| (% ø $„d¼¿¢,à'½8<'œ64™à!Ž‚”'½ÿÐί¿¯¼¯¤0À1¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`!˜‚˜™‚¬“93(™˜$ ø ¼@ '¤0™$ ø $¼™œ ø ¼‚‚<©0ŒJ*¬@‚‚8«0ŒLl¬@™Ø¤0 ø ­(¼ 4¯¢,Ž‚`$ÿÿÎ%Á™€ ø ¼@%`"¨(‚˜ïà¨(˜‚¬“3 ¨(™˜$ ø ¼@ '¤,™$ ø $¼™œ ø ¼¨(‚”¬(©,! ¿„€T™€| (% ø $„p¼¿¢,à'½0<'œ3è™à!Ž‚”'½ÿÈί¿¯¼¯¤88%¯ 0À5¯®,‚”‚`¬ ï$ÿÿá %™€¯ 4 ø ¼§4@%`%©8˜‚˜©8™‚¬“9 3(©8™˜$f ø ¯§4¼§4@'¤8™$$ ø ¯§4¼™œ ø ¼§4©8«8!$ ÿþ¯ª0`©0Œ‚¨$ÿðŒl* ‚¤ pÀ­®x!ç௸0‚‚8¹8ŒH(©0¬@©0 "©,ƒ‚<Œb@¯¢0¯ 0ª8à¬jŒì$1‹`©,¯§4Œí(¹ ø §4$ÿýŒî$¼Áx$5è¬ï$¬è$©, 5®0Š‚`$ÿÿJ%A™€ ø ¼@%`"¹,Œ‚˜Œ€¹,‹‚¬‘k 1m ¹,™˜$g ø ¼@ '¤0™$ ø $¼™œ ø ¼¹,‚”¬9®0Á ¿„€T™€|À(% ø $„|¼¿¢0à'½8<'œ0¸™à!Ž‚”'½ÿÐί¿¯¼À+¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$ ø ¼@™œ ø ¼‚‚<ŒB@¯¢,¯ ,©( 5¿Š‚`$ÿÿJ%A™€ ø ¼@%`"®(‹‚˜k`®(Œ‚¬‘Œ1 ®(™˜$ ø ¼@ '¤,™$ ø $¼™œ ø ¼®(‚”¬.¿¢,à'½0<'œ.Ø™à!Ž‚”'½ÿÈί¿¯¼¯¤88%¯ 0À5¯®,‚”‚`¬ ï$ÿÿá %™€¯ 4 ø ¼§4@%`%©8˜‚˜©8™‚¬“9 3(©8™˜$d ø ¯§4¼§4@'¤8™$$ ø ¯§4¼™œ ø ¼§4©8«8!$ ÿþ¯ª0`©0Œ‚¨$ÿðŒl* ‚¤ pÀ­®x!ç௸0‚‚<¹8ŒH(©0¬@©0 +¨,ƒ‚8Œb@¯¢0¯ 0ª8à¬jŒâ$0L€0K` $ÿþAh$¬í$™ä¯§4 ø à %¼§4¯§4Œî(Ù ø §4¼Œï$5ø¬ø$¨,5®0‰‚`$ÿÿ)%!™€ ø ¼@%`"­,Š‚˜J@­,Œ‚¬‘Œ 1‹`­,™˜$e ø ¼@ '¤0™$ ø $¼™œ ø ¼­,‚”¬-®0Á ¿„€T™€|À(% ø $„ˆ¼¿¢0à'½8<'œ+„™à!Ž‚”'½ÿÐί¿¯¼À+¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`˜‚˜™‚¬“93(™˜$ ø ¼@™œ ø ¼‚‚8ŒB@¯¢,¯ ,©( 5¿Š‚`$ÿÿJ%A™€ ø ¼@%`"®(‹‚˜k`®(Œ‚¬‘Œ1 ®(™˜$ ø ¼@ '¤,™$ ø $¼™œ ø ¼®(‚”¬.¿¢,à'½0<'œ)¤™à!Ž‚”'½ÿÐί¿¯¼¯¤0À1¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`!˜‚˜™‚¬“93(™˜$" ø ¼@ '¤0™$ ø $¼™œ ø ¼™€ô¤0 ø ¼@¯¢,„‚<Œ„€™€ø ø ¼™€ü¤, ø ¼©( 5¯,Š‚`$ÿÿJ%A™€ ø ¼@%`"®(‹‚˜k`®(Œ‚¬‘Œ1 ®(™˜$# ø ¼@ '¤,™$ ø $¼™œ ø ¼®(‚”¬.¯,á ¿„€T™€|à(% ø $„”¼¿¢,à'½0<'œ'<™à!'½ÿÐŽ‚”¯¿ί¼¯¤0¯¥4¯¦8¯§<À1¯®$‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`"©0˜‚˜©0™‚¬“93(©0™˜$ ø ¼@ '¤0™$ ø $¼™œ ø ¼©0$ ÿþ 6¯ª(Œ‚¨«0Œl* ‚¤ pÀ­®x!ø¯¸,$ÿð#¯¹(¨4©,¯ (*$1L€«,™ä % ø ¼«,®4m ­Í¯8¸,à¨<­ù¨<ª,©$L­ ©$ Lª(‹‚`$ÿÿk%a™€ ø ¼@%`9¯$‚˜­ 3¯$Ž‚¬‘Î1Ø,¯$™˜$ ø ¼@$'¤(™$ ø $¹(¼ $¤,™$ ø $„ ¼¤,™$$ ø $„¼¤,™$$ ø $„¼™œ ø ¼¯$‚”¬/ª(A ¿„€T™€|@(% ø $„¤¼¿¢(à'½0<'œ#ä™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$> ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$? ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„°¼@%¿'½8à`%<'œ!,™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$t ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹ ¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$u ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„¼¼@%¿'½8à`%<'œt™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$@ ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹P¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$A ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„ȼ@%¿'½8à`%<'œ¼™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$v ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹T¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$w ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„Ô¼@%¿'½8à`%<'œ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$B ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹X¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$C ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„à¼@%¿'½8à`%<'œL™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$x ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹\¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$y ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„ì¼@%¿'½8à`%<'œ”™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$D ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹H¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$E ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„ü¼@%¿'½8à`%<'œÜ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$z ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹L¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜${ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„ ¼@%¿'½8à`%<'œ$™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$F ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹@¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$G ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„¼@%¿'½8à`%<'œ l™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$| ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹D¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$} ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„(¼@%¿'½8à`%<'œ´™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“9 3(#ª<™˜$H ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘ 1  ª,™˜$I ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„8¼@%¿'½8à`%<'œü™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“9 3(#ª<™˜$J ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹0¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘ 1  ª,™˜$K ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„D¼@%¿'½8à`%<'œD™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$~ ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„P¼@%¿'½8à`%<'œŒ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$€ ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹4¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„\¼@%¿'½8à`%<'œýÔ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“9 3(#ª<™˜$L ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹ ¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘ 1  ª,™˜$M ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„h¼@%¿'½8à`%<'œû™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“9 3(#ª<™˜$N ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹8¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘ 1  ª,™˜$O ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„t¼@%¿'½8à`%<'œød™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$‚ ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹$¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$ƒ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„€¼@%¿'½8à`%<'œõ¬™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$„ ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹<¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$… ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„Œ¼@%¿'½8à`%<'œòô™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“9 3(#ª<™˜$P ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘ 1  ª,™˜$Q ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„œ¼@%¿'½8à`%<'œð<™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“9 3(#ª<™˜$R ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚<$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹(¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘ 1  ª,™˜$S ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„¨¼@%¿'½8à`%<'œí„™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$† ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$‡ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„¸¼@%¿'½8à`%<'œêÌ™à!'½ÿÈŽ‚”¯¿ί¼¯¤8¯¥<¯¦@À?¯®,‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`0ª<˜‚˜*ª<™‚¬“93(#ª<™˜$ˆ ø ¼@'¤0©8™$$$ ø ¯©0¼'¤<™$ ø $¼'¤@™$ ø $¼™œ ø ¼ª<$ ÿþA¯«4„‚8$ ÿñŒ„€¯¬4™Ü ø ŒM(¼¹,¤8¥<¦@ ø $¼¯¢4®,À5«4‚`$ÿÿï%ᙀ ø ¼@%`"ª,˜‚˜ª,ˆ‚¬‘1  ª,™˜$‰ ø ¼@ '¤4™$ ø $¼™œ ø ¼ª,‚”¬*«4%a „€T™€|`(% ø $„ȼ@%¿'½8à`%<'œè™à!™„h'½ÿÀ¯¿¯¼ ø ¯¤@¼$N‚”¯®<ïà3¯¯0‚”˜‚`¬ $ÿÿ%™€ ø ¼@%`#™‚˜9 ˆ‚¬‘ 1  ™˜$T ø ¼@'¤4ª@™$$$ ø ¯ª4¼™œ ø ¼„‚<$ ÿñŒ„€"¯«8™Ü ø ŒL ¼$@%$ ÿ语8¯£,Œn('¤<Ù$$ ø $¼£,@ ¯¢8Œo(¤@ù¥<$ ø $¼¯¢8¸05­8ˆ‚`$ÿÿ%™€ ø ¼@%`"¬0‰‚˜) ¬0Š‚¬‘J 1K`¬0™˜$U ø ¼@ '¤8™$ ø $¼™œ ø ¼¬0‚”¬,­8%¡ „€T™€| (% ø $„ؼ@%¿'½@à`%<'œåH™à!Ž‚”'½ÿÈί¿¯¼¯¤8À3¯®(‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`#˜‚˜™‚¬“93(™˜$Š ø ¼@'¤,©8™$$$ ø ¯©,¼™œ ø ¼„‚8$ ÿñŒ„€¯ª0™Ü ø ŒK(¼y'¤4$$ ø $¼@¯¢0„‚8™ÜŒ„ ø ŒL(¼™ ¤8¥4$ ø $¼¯¢0­( 5ª0Ž‚`$ÿÿÎ%Á™€ ø ¼@%`"©(‚˜ïà©(˜‚¬“3©(™˜$‹ ø ¼@ '¤0™$ ø $¼™œ ø ¼©(‚”¬)ª0%A „€T™€|@(% ø $„ä¼@%¿'½8à`%<'œâ ™à!'½ÿPŽ‚”¯²ί±¯° ˆ%€%¯¿<¯¾8¯¼4¯·0¯¶,¯µ(¯´$¯³ €€%À1¯®P‚”‚`¬ ï$ÿÿá%™€ ø ¼4@%`!˜‚˜™‚¬“93(™˜$¤ ø ¼4@ ™(@ % ø ¼4™œ ø ¼4’I$%!’J$+A $ÿü&+uˆ$Ž$™ &1 ø ¯¤¨¼4@x@8%¯¢¨&P„‚<$ÿüŒ„€n$ÿñ™Ü ø ¯¢ˆ’¼4ŒV(€c$h“‚È$l8ƒ%`Z&$ ¯­¤’$*$$(% %&.Õˆ$Ž/&1¯¯¤’0%&“À!“3($.™ƒ0 % ø ¯¥œ¯¢¤’¼4“H!‘*¥œ1K0%` &’&“`!‘1®Àÿù$.)$’$*0%&&/õˆ$Ž4&1&“À!“ %3($™ƒ0¯¥œ ø ¯¦’ ¼43P!‘K¥œ¦1l@ %€ &’ &³p!‘Ï1øÿù$¯§¨’§¨w&§¨~$ua8%$$&ÿÿàÿﯧ¨’&$yÿ/! æ$ÿþ€TÈ€9!Œ9 <È! À$&(ˆ$’)&1'²‡£©‡&*Uˆ$Ž2&1ŽÙ¥¤@ % ø €0%¼4É@8%@$À&-&+uˆ$Ž,&1'¤l¯¬lµˆ$Ž$&1ŽÙ ¥¤ ø €0%¼4´@8% $À$&.Õˆ$†/&1'¤~§¯~&8ˆ$Ž$&1ŽÙ¥¤ ø €0%¼4ž@8%À&*&(ˆ$Ž)&1'¤t¯©tUˆ$Ž$&1ŽÙ¥¤ ø €0%¼4‹@8%@$$À$2+`'¤X&1 &#ÿê2,€$ÿø&1 &"ÿØ&1!h$%± %@%ÄeÿøÄdÿüç¥Xç¤\&.Õˆ$Ž$&1ŽÙH¥¤ ø €0%¼4f@8%À&)2/à'¤d&1 &#ÿê28$ÿø&1 &"ÿØ&1!@$% %@%ÄgÿøÄfÿüç§Xç¦\Ǩ\Ç©XF B çªd5ˆ$Ž$&1ŽÙ@¥¤ ø €0%¼4?@8%@ &+&*ŽÙXUˆ$Ž$¥¤&1€0% ø $¼41@8%ŽÙPuˆ$Ž$¥¤&1€0% ø $¼4&@8%¬ˆ$ &.¡$ÿèÕˆ$Ž2™„h&1 ø @ %$O¯¯¤ŽÙ¼4'¤¤$$ ø $¼4@ @8%¯¢¨ŽÙ¥¤@ %$ ø $¼4@8%$ÿþ௧¨’€þ¢8ƒ%8%¸P6ˆ‚`$ÿÿ%™€¯§¨ ø ¼4@%¯§¨§¨`"¬P‰‚˜¯§¨) ¬PŠ‚¬¯§¨‘J1K`¬P™˜$¥ ø ¼4@ '¤¨™$ ø $¼4™œ ø ¼4¬P‚”§¨¬,á à(%„€T™€|¯§¨ ø $„ð¼4§¨¿<°±²³ ´$µ(¶,·0¾8'½°àà%<'œÚ$™à!'½ÿØ™0¯¿¯¥,¯¼¯¤(¯¦0¯§4 ø '¥,¿¼à'½(<'œÙà™à!'½ÿxŽ‚”¯²ί±¯°€ˆ% %¯¿<¯¾8¯¼4¯·0¯¶,¯µ(¯´$¯³ €€%À1¯®L‚”‚`¬ ï$ÿÿá%™€ ø ¼4@%`!˜‚˜™‚¬“93(™˜$° ø ¼4@ ™( % ø ¼4™œ ø ¼4„‚8$ ÿñŒ„€)¯©€™Ü ø ’*¼4ŒU(@$h’“‚È$l$ÿü8ƒ%`&$ ¯«|’$*$(%0% ˆ%&L–$ŽM&R¯­|’&“p!‘Ï1ø$.™ƒ0 %¯¥l ø ¯¦t¯¢|’¼4“È!“(¥l¦t1  &’&“P!‘K1l€ÿù$.($’$*&&M¶$ŽT&R&“p!‘Ï %1ø$™ƒ0¯¥l ø ¯¦t’¼43@!‘ ¥l¦t1*@ %@ &’ &s`!‘1®Àÿù$¯¯€$u’&w~b¯ €$$$&ÿÿ¸€ÿì’&$yÿ/! š$ÿþ€TÈ€9!Œ9x<È! &H޹ $ŽD¥|&R€0% ø $¼4‡¯¢€ &I6$ŽD &RŽ£<¥|Ž£$¥|€0%$`ø `È%¼4t¯¢€À&K&JV$ŽD &RŽ£,¥|Ž£¥|€0%$`ø `È%¼4`¯¢€v$ŽD &RŽ£4¥|Ž£¥|€0%$`ø `È%¼4¯¢€O©€ &M&L޹L–$ŽD¥|&R€0% ø $¼4@¯¢€Ž¹D¶$ŽD¥|&R€0% ø $¼4¯¢€5©€ &O&N޹\Ö$ŽD¥|&R€0% ø $¼4&¯¢€Ž¹Tö$ŽD¥|&R€0% ø $¼4¯¢€©€&X޹$ŽQ&R'¤|$$ ø $¼4@ ¯¢€Ž¹ ¥| %$ ø $¼4¯¢€©€$ÿþ¯¨€©€ ªL’€þè8ƒ%¯ €ªL@5¸€‹‚`$ÿÿk%a™€ ø ¼4@%`"¯LŒ‚˜Œ€¯L‚¬‘­1®À¯L™˜$± ø ¼4@ '¤€™$ ø $¼4™œ ø ¼4¯L‚”¬/¸€ ¿<„€T™€|(% ø $„ü¼4¿<¢€°±²³ ´$µ(¶,·0¾8à'½ˆ<'œÒÌ™à!'½ÿØ™4¯¿¯¥,¯¼¯¤(¯¦0¯§4 ø '¥,¿¼à'½(<'œÒˆ™à!Ž‚”'½ÿÐί¿¯¼¯¤0¯ (À1¯®$‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`"©0˜‚˜©0™‚¬“93(©0™˜$ž ø ¼@ '¤0™$ ø $¼™œ ø ¼©0$ ÿþ!¯ª(Œ‚¨«0Œ$ÿðl* ‚¤ pÀ­®x!â@¯¸(ŒY¯¹(¨$5®(‰‚`$ÿÿ)%!™€ ø ¼@%`"­$Š‚˜J@­$Œ‚¬‘Œ1‹`­$™˜$Ÿ ø ¼@ '¤(™$ ø $¼™œ ø ¼­$‚”¬-®(Á ¿„€T™€|À(% ø $„¼¿¢(à'½0<'œÐ™à!'½ÿÐŽ‚”¯¿ί¼¯¤0¯¥4¯ (À7¯®$‚”‚`¬ ï$ÿÿá%™€ ø ¼@%`(©0˜‚˜"©0™‚¬“93(©0™˜$¬ ø ¼@'¤0™$ ø $¼'¤4™$ ø $¼™œ ø ¼©0$ ÿþ!¯ª(Œ‚¨«0Œ$ÿðl* ‚¤ pÀ­®x!â@¯¸(¹4¬Y¨$5®(‰‚`$ÿÿ)%!™€ ø ¼@%`"­$Š‚˜J@­$Œ‚¬‘Œ1‹`­$™˜$­ ø ¼@ '¤(™$ ø $¼™œ ø ¼­$‚”¬-®(Á ¿„€T™€|À(% ø $„¼¿¢(à'½0௤<'œÍp™à!†‚`'½ÿàŒÆ$ÿÿ¯¿¯¼Á €8%†‚d„‚ð…€T™„@ŒÆ$„  ø $¥ ø¼ ¿„‚ð…€T™„@$„  ø $¥! ¼¿'½ à<'œÌè™à!‚‚Ð'½ÿØŒB¯¿$¯¼ @€8%Ž‚ÄÎN* ˜‚Ìx€øÈ!#ƒ€T$c! †‚`$ÿÿŒÆÁ †‚d„‚ð…€T™„@ŒÆ¯£$„  ø $¥!0¼  ¿$„‚ð…€T™„@¯£$„  ø $¥!H¼ ¿$'½(à<'œÌ™à!0®À yB™€lÀ€'9Ű!ŒH0‰$ *X `%¬L‚€d$Ž$BôŒM* ¬Nà%<'œË˜™à!0®À yB…€lÀ€$¥Å°¸!0ˆ$ ŒY P@X'+`$¬L†€d…€l$ÆôŒÂ$¢$¥Å°@$NÿÿyBÀ€¸H!(1Ê$YX `$¬Î€À%%ͬÍà%@ÿð$Nÿÿà%<'œÊä™à!'½ÿȯ´(  %€(%¯² ¯¤8’€T„€l™„4¯¿4¯µ,À¨%¯¼0¯³$¯±¯°&R!` ø $„à¼0„€l™„h$„à ø ¼0€%Ž€l%Îà€ Nˆ!“€T&s!dyBÀ€¸È!(2 $ *X `$€ %@0%’€T™„ `(%8% ø &R!l¼0 %™„h ø ¼0"ˆ!&ÿæyB…€T™„( % ø $¥!p¼0„€l™<$„à ø ¿4¼0°±² ³$´(µ,'½8à%<'œÉ|™à!™„0'½ÿ௿¯¼¯° ø $@¼@@€%™„\@ % ø $@¼$ÿÿ®™Ä ø ¼®4™„\@ % ø $lŽ4¼¬„Ž4­ä¿%°à'½ <'œÈØ™à!'½ÿد¿$¯¼ ¯²¯±¯°Œ‚€%@ ŒŽ¬NŒ˜Œ¯¬€¬€ŽD$ÿÿ ™H$ ø ¼ ŽD™„T ø ¼ ŽQ4 Ž00 ™ØŽ ø Ž0¼ 0ÿù™È % ø ¼ ŽD8€™‚, ø ¼ ŽD<€™„L ø ¼ ™ƒì@ % ø ¿$¼ °±²à'½(<'œÇl™à!™P'½ÿ௿¯¼ ø ¯¤ ¼¥ @@0%„€d¬EŒ„쌃d Œn®* ŒcdÿøŒo¬C¬OŒx¯¬b¿'½ àÀ%<'œÆÈ™à!ƒ€dŒcìŒbC ŒNÄ* ŒBCÿøŒO%àà`%<'œÆX™à!'½ÿد¿$¯¼ ¯±¯°Œ†$ÿÿ$€€%& ¬Ž ™HÀ % ø $¼ Ž™„T ø ¼ ®Ž<€™„L ø ¼ ®<Ž8€™‚, ø ¼ ®8Ž4 ¿$Ž00 ¿$™ØŽ ø Ž0¼ 0ÿù¿$°±à'½(<'œÅL™à!'½ÿЙ‚¯°€€%¯¿$¯¼  ø $„¼ Ž„€l…€T™„ ޝ¢$„à ø $¥!t¼ „€l™„h$„à ø ¼ ¯¢(™‚&$ ø ¼ ®(€l…€T™„ Ž %ïà@0%Ï ! ø $¥!”¼ „€l™<$„à ø ¿$¼ °'½0à%<'œÄd™à!'½ÿØ„€T™<¯¿$¯¼ ¯±¯° ø $„!¨¼ „€d™dŒ„ð ø ¼ ‘€d&1ìŽ"ŒP ¿$™d % ø ŽŽ.¼ ÿø¿$°±'½(à%<'œÃ°™à!'½ÿ™Ü¯¿,¯°À€%¯¼(¯²$¯± ¯¤¯¥¯§ ¯ Ð ø ¯ Ì¼(@º®€d¬P¬Nïè$ᲦÀ®Ç‚¬Ë€ ª‚`ŽÈ¤™\À % ø ¼(@‚‚„¦ŒBŽ ÂH$BX$+_$™ƒD$$ ø 0%¼($ÿÿQ @€%„€T™@$„!¼ ø ¼(L±ü™ƒ$'²@ ø @ %¼('¤\™„\$n ø ¼($ ™ƒ$§¬\£ @ ø @ %¼('¤^™„4@(% ø ¼( %™ƒ('¥\ ø $n¼(Q„€T™@$„!Ì ø ¼( %™„T ø ¼($ÿÿ™X¤ ø ¼(¬P™„h@ˆ% ø @ %¼($D™„0 ø ¼(@ %™„4@(% ø ¼(®"<¯¢Ì$ ®- ¯±ü±ü—™ƒD$ ø 0%¼($ÿÿQ @€%„€T™@$„!Ü ø ¼(±ü†Ž€l'²Ü%ÎÅ Á$®AØ@(%®XÁ %®AØ $®X ¯¹Ø™ƒ( ø ¼(Q %„€T™@$„!ì ø ¼( %™„T ø ¼(±ü`$ÿÿ™ƒ,@(% ø '¦Ø¼(Q$„€T™@$„!ü ø ¼( %™„T ø ¼(±üJ$ÿÿ™ƒ $ ¯¨Ø¯ª %$$ ø '§Ø¼(Q„€T™@$„" ø ¼(™ƒ 4 €$ ¯©Ø¯« %4ÿÿ$ ø '§Ø¼(Q  %™ƒ $ ¯¬4ÿÿ$ ø '§Ø¼(Q„€T™@$„"( ø ¼(™X¤ ø ¼(¬PŽA$¬AŽO@ˆ%¬OŽA@ %¬AŽO ¬N ¬O ™‚ ø ¼(¯¢ÌŸ™€ô$ ø ¼(@ %™€ü ø ¼($%™@€%¯¸Ø'¤Ø$ ø $¼(¤Ì™( ø ¼( %™€ü ø ¼(@€%™Ü@ % ø ¼(¹<€5¬H¬Y™€ô$ ø ¼(@ %™€ü ø ¼($ ™@%¯ªØ'¤Ø$ ø $¼(< €™5)¯©Ø'¤Ø$ ø $¼($ ™¯«Ø'¤Ø$ ø $¼('¤™$ ø $¼(@ %™€ü ø ¼(@%™Ü@ % ø ¼(< €€d< €5­¬L¬Mïà¦1îÀ„€l…€T™„ $„à ø $¥"H¼(„€l™<$„à ø ¼(@(%…€d$¥™p % ø ¼(@¸ÐÈ! ¯¹Ð™€ø % ø ¼(@€%@€%%Ž" $Aÿâ$Aÿß™p¤¥  ø ¼(¯¢Ôƒ€dŒcìŒq#.«Ô’€T$&R"`Ž( "Š€d@(%Jà1I „€l™„ Ž& ø $„à¼(„€l™<$„à ø ¼(Ž1™TŽ$ ø ¼(ƒ€dŒcìŽ1#ÿث԰a¬Ð`(%¬Ð­Ô(!¿,± ²$'½à %<'œ»P™à!'½þ Ž€T™ ¯¿$¯¤à%Î"|¯¼ ¯°¯ ܯ®Ì'¤Ø$ ø $¼ '¤8™, ø ¼ ¯à™\ä ø ¼ @û@€%˜€d¨àà3 „€l…€T™„ $„à ø $¥"€¼ „€l™<$„à ø ¼ Ž $áϨà“©8$/!a$ Š€dJà1K` ¬à„€T™<$„"¤ ø ¼ ¬àŽ‚`ή* ™ƒ8Ž ø $¼ $ÿÿA $„€T™@$„"Ü ø ¼ Ž ® ™DŽ ø $¼ ¯ Й€ô$ ø ¼ @ %™€ü ø ¼ $%™¯¢ܯ¸Ø'¤Ø$ ø $¼ '¤Й$ ø $¼ Ž<™( ø ¼ ¤Ü™€ü ø ¼ ¯¢Ü™Ü@ % ø ¹༠(< €5)¬IF¬H¦ $™‚&$¯¥( ø '¤8¼ Ž™ƒH¥( ø $¼ $ÿÿA¯¢È‹‚Ð$ka$ÿÿ™ƒHŽ¥( ø $¼ $ÿÿA¯¢ÈŒ‚Ð$Œÿò$ÿÿA $ „€T™@$„"ð ø ¼ Ž ® ™ƒ ‡€dŽ$¯®4ÿÿ$€ ø $ç¼ $ÿÿA„€T™@$„# ø ¼ Ž $á`$™ƒ<Ž ø 0%¼ $ÿÿA ¯¢È„€T™@$„# ø ¼  ¸È™ƒ<7¯¦ÈŽ ø $¼ ™DŽ ø $¼ A¿$¨à„€l…€T™„ $„à ø $¥#,¼ „€l™<$„à ø ¼ /¿$‰€d«à)à1*@­à„€l…€T™„ f$„à ø $¥#X¼ „€l™<$„à ø ¼ ­à$ ™X¯¬Ф ø ¼ $Ž€d“¯8Îè@€%ÁÌ$/áf$™ƒD$$ ø 0%¼ $ÿÿA ®„€T™@$„#t ø ¼ ¹™ƒ$'¤8 ø ¼ '¤T™„\$n ø ¼ $™ƒ$§¸T£ 8 ø '¤8¼ '¤V™„4'¥8 ø ¼ Ž™ƒ('¥T ø $n¼ $ÿÿA „€T™@$„#ˆ ø ¼ ™ƒ8Ž ø $¼ $ÿÿA $„€T™@$„#˜ ø ¼ €® ™DŽ ø $¼ ¯ Й„h'¤8 ø ¼ $D™„0 ø ¼ @ %™„4'¥8 ø ¼ ®<e¯¢Ì™ƒD$ ø 0%¼ $ÿÿA ®„€T™@$„#¬ ø ¼ Uˆ€l&%Å $ ¬¡ $¬ª¬¡ ¬ª ™ƒ(¯«ÈŽ ø ¯¥(¼ $ÿÿA „€T™@$„#À ø ¼ 5™ƒ,Ž¥( ø '¦ȼ $ÿÿA „€T™@$„#Ð ø ¼ $™ƒ8Ž ø $¼ $ÿÿA „€T™@$„#è ø ¼ ™‚'¤8 ø &$¼ $ ® ™DŽ ø $¼ ¤(™‚¯ Ð ø ¼ ¯¢Ì™€ô$ ø ¼ @ %™€ü ø ¼ $ %™¯¢ܯ­Ø'¤Ø$ ø $¼ '¤Й$ ø $¼ ¤Ì™( ø ¼ ¤Ü™€ü ø ¼ ¯¢Ü™Ü@ % ø ®༠Ï<€7¬X¬O¹Ð ¿$™T % ø ¼ ¿$¢ܰà'½à<'œ² ™à!'½þH™ ¯²$€%¯¿,¯¼(¯± ¯°'¤´$ ø $¼('¤°™ $ ø $¼('¤8™, ø ¼(ŽD™\ ø ¼(@@ˆ%ŒN $Á€dïà1ø€l…€T™„ ŽF&à % ø $¥#ü¼( %™< ø ¼(€l¹´$%!&à…€T™„ Ž& % ø $¥$¼( %™< ø ¼($¯¨°Î$ÿÿ©°“¬8 $/Š€d %Jà1K`…€T™„ Ž& ø $¥$D¼( %™< ø ¼(´$ÿÿS$ ™„\'¤8 ø $n¼($ ™„4§­8'¤: ø '¥8¼(Ž$™ƒH'¥8 ø $n¼($ÿÿR‚Ð$ŽÁ ™ƒHŽ$'¥8 ø $n¼(RŽ$áÿõR $„€T™@$„$d ø ¼($€¯¸°®9 ™ƒ<Ž$$ ø 0%¼(R @0%„€T™@$„$x ø ¼( ™ƒ<4ÈŽ$0% ø $¼(™DŽ$ ø $¼(a¸°¦)$™‚&%$¯¥4 ø '¤8¼(Ž$™ƒH¥4 ø $¼($ÿÿR‚Ð$Ž A ™ƒHŽ$¥4 ø $¼(RŽ $aÿõR $ „€T™@$„$ˆ ø ¼($ 3¯¬°®- ™ƒ ‡€dŽ$$¯®4ÿÿ$€ ø $ç¼(R„€T™@$„$œ ø ¼(™ƒ<Ž$$ ø 0%¼(R @0%„€T™@$„$´ ø ¼( ™ƒ<4ÏŽ$à0% ø $¼(™DŽ$ ø $¼(¸°-¿,$®9 ™„TŽ$ ø ¼(#®2€l…€T™„ ŽFŽ' &à % ø $¥$ļ( %™< ø ¼(¿,€l…€T™„ ŽF&à % ø $¥$ì¼( %™< ø ¼(¿,°± ²$'½¸à%<'œ¬À™à!'½þÈ™¯¿¯¼¯¤8¯ 0Œ„ ø §8¯¢4Œä<ü4!ÿÿx!¼-á …€Tx€/!Œ/,0üx!à™€à %'9ø@ ø ¼Œ¯¢0™€à %'9p ø ¼„¯¢0™ '¤($ ø $¼¦(˜€dà3 „€l…€T™„ $„à ø $¥%¼„€l™<$„à ø ¼™\¤( ø ¼@ @ %ŒH $™` ø ¼T™¸ ø ¼M‰€d)à G„€l…€T™„ Œæ$„à ø $¥%,¼„€l™<$„à ø ¼6™,'¤( ø ¼'¤(™„h ø ¼$A'¤(™ƒð…‚¬ ø $¼„€T™<$„%H ø ¼™‚ (% ø ¼ª8„€l…€T™„ F@8%$„à ø $¥%d¼„€l™<$„à ø ¼™¤4 ø ¼«8™Ød ø ¿¼¢0à'½8<'œ©À™à!'½ÿ°¯¿$¯¼ ¯°¯¤P¯ LŒƒ8` „‚X™‚$Œ„ ø ¤P¼ @%¬‚8Œg`€%(á  ¯ @Ž ™ð$„ ø ¯¢@޼ ˆ€d¯@àçÀ#'1  ¯¹@ªPŽ Ž F¯¹™„ „€l…€Tlh#¯­$„à ø $¥%„¼ „€l™<$„à ø ¼ Ž®PŽ ™ƒ¦@Ä ø ç(!¼ @0%ƒ€d$càŒx3$ÿÿ„€l…€T™„ ¯¢@$„à ø $¥%´¼ „€l™<$„à ø ¼ ¦@ƒ€d$cà$ÿÿÁ ‚‚Ð$ ŒBA$AŒi«P1*@„€l…€T™„ f$„à ø $¥%ȼ „€l™@$„à ø ¼ h$ÿòÀŒl1 ¹P„€l&™„ …€T$„à ø $¥%ܼ „€l™<$„à ø ¼ N$ÿÿÀJ%ŽÆx!)á ®B%Ž ™ð$„ ø $C¯£<޼ $7©<Ž Ž Ž *X#‹h#£* /©<™‚$` % ø ¼ ¯¢D™ƒðŒE Ž  ø $¼ Ž®D %­Ù™‚, ø ¼ °D¯P˜€d­ð8à¦<3©<„€l…€T™„ $„à ø $¥%ô¼ „€l™<$„à ø ¼ ©<Ž ¬P*û¢L­€8Ž ™ð$D ø ¯¢4¼ ¤4™ô¯¢0 ø $„ ¯¢,¼ Ž Ž ¦0€d%mÿð'.® ® ïà¨,1ø 8%„€l…€T™„ ¯¨¯¦0$„à ø $¥&¼ „€l™<$„à ø ¼ ¦0©,­P1*@L¬4%‹¯«4Ž Ž %¹ÿð%Ï®® ™Ô¯¦0 ø ¼ @ %™Ü ø ¼ ¤4™ð¯¢8 ø £8¼ ¬b¤4™ð$„ ø £8¼ ¬b ¤4™ð$„ ø £8¼ ¬b¤4™ð$„  ø £8§P¦0¼ ¬b8¬fŒø4¬hŒé4¬iŒê4L­ƒŒë4­cŒä4¤4Œƒd ŒyÙŒcdÿùd„€T™<$„&8 ø ¼  %™‚, ø ¼ `¢LŒn,Ï®Œx,®Œh, ­0Œj,­PŒl Ž ‹h!¬m ¹,3.ÀF¢LŒoŒxŠ€d¯ŒiŒh(%­(¬`¬`Jà1L€™‚ Œd ø ¯£8¼ £8«PŒfg¯¢„€l…€T™„ Œm $„à$¥&X ø ¯­¼ „€l™<$„à ø ¼ £8™€èŒd  ø ¯£8¼ £8„‚€¬b(Œ™$ .¬nŒ¬oŒ˜­Œ‰­#¯ªL¢L¿$°à'½P<'œ¡è™à!'½ü¯´,¯³(¯²$¯°$€€%¯¿D¯¾@¯¼<¯·8¯¶4¯µ0¯± ¯¥t %%¯®L¯ H¯ <¯ 8¯  ˜%™„l'¤\ ø (%¼<™Ü % ø ¼<@0@¨%ŒX,ŽY ™‚$$  ø ŒH ¼<% ¬I Žª,@%K¬Kެ,¬LŽ­,®­Âޝ,­â™\ޤ ø ¼<@@ %ŒX $ø”€dŽ”ð™€d$9à0%3(I„€l…€T™„ $„à ø $¥&„¼< «t„€l™„h$„à ø ¼<ޤ™‚ @ˆ% ø (%¼<ŽŠ‰€l…€T™„ ާ%)à) !@0%¯ª ø $¥&”¼<«t`„€l™„h$„à ø ¼<£tŒ€l…€T™„ ŒfŒg%ŒÃ L ! ø $¥&°¼< „€l…€T™„($„à ø $¥&À¼<„€l™<$„à ø ¼<–‚€@ '¾€€d¯L­ð®8ÀT€%àP'°T¸t'°TJ™„l % ø (%£X¤`¼<d* «T¨T©\d# P#¯ªT ¯£X«T¬\<4!B@d#lh#%®ÿÿa!¯£X¯®T¯t¸TâX*  ©tù¨X(* ©t¯ T¯ L ¯ X©t«X*¯TK* OÈ#¬TLh#¯­T.ËÀ#¯¸Xªt'(ÿÿ¯¨T­XL<4!B@H#!p!¯®X€%¯ T¯ X˜€l'«Ð'Ű'x' ­aÿø%k ­aÿøÿüÿø­aÿü­a­h™„\'¤P ø $€¼<@ '­PŽ‚$QB `€!Œi0NÙx/@%¬h˜€dà3 `- „€l…€T™„ ŽŽ$„à ø $¥&̼< „€l…€T™„ $„à ø $¥&ð¼<„€l™<$„à ø ¼<'¦Ð…€d„€T™LŒ¥ô ø $„'¼<'¦P…€d„€T™LŒ¥ô ø $„' ¼<„€d™ƒŒ„ô'¥Ð'¦P8% ø ¯°¼<$ÿÿA¯¢@Š‚Ð$JA „€T™@$„'0 ø ¼<ú$ÿòŒ€d¦@Œà1 ¹@„€l…€T™„ $„à ø $¥'@¼<„€l™<$„à ø ¼<¹@$ÿÿ!Є€d'¯ÐŒ„ð$ Œ‚qBH€/@!0Kj` h$ q™€d®H9ä ÀiŽÉ™l0 ø ¼<A¯¢@$ÿÿA „€T™<$„'\ ø ¼<¶$ÿò€dïà1è„€T™<$„'ˆ ø ¼<¦$ÿò£Hb!`¯£H¯ LŽŽÊ ;Ž<€4!A* 0<€4!A* ,Ž™€Ž'9Ð ø ¼<@#@ %@X€ËÀ!¯&s™Ü$  ø ¯¬ŒM,¼<²@¨%ŽY %™\ޤ ø ¼<@@ %ŒN dŽ”ðŽŽÉ ÿÇ„€dŒ„쌑$ûŽ# 'ªÐãe$Ž"$ yB@€ X!x0LÈp$ÀZŽÉ™l0 ø  %¼<A¯¢@™` % ø ¼<F£Hb!`¯£H¯ LŽŽÏ;Ž<€4!A* 0<€4!A* ,Ž™€Ž'9Ð ø ¼<@#@ %@@€ÈP!­B&s™Ü$  ø ¯«ŒM,¼<²@¨%ŽL€%™\ޤ ø ¼<@@ %ŒX ø”€dŽ”ðŽŽÙÿÇ„€dŒ„ìŽ1a'¯ÐŽ"$ qBH€/@! 0Km`LÀ$‚'¥ $¯¹@™ƒŽ$ ø '¦@¼<$ÿÿA@€%„€T™@$„'¤ ø ¼< %™` ø ¼<„€dŒ„ìgŽ1Ž.<$ À4 %™ƒ $¯©@¯¯$$ ø '§@¼<$ÿÿA„€T™@$„'´ ø ¼<™ƒ 4€$ ¯¨@¯­ %4ÿÿ$ ø '§@¼<$ÿÿA  %™ƒ $ ¯«4ÿÿ$ ø '§@¼<$ÿÿA„€T™@$„'È ø ¼<Š€dJà1L€„€l…€T™„ Ž&$„à ø $¥'è¼<„€l™<$„à ø ¼<™„TŽ$ ø ¼<Ž$™H$ ø ¼<®0®7 ™D % ø $¼<„€dŒ„ìŽ1$ÿ@ Ž˜ ø ¯ <¯ 8”€d޹,Ž”ð2@'¯PŽ‚$ qBH€/@! 0Kj`¬À$¹8 e†Iˆ%!ŽO ¯¯<¯¾<ŽH¤<¯¨8ŽJŽ£,% j$$„ÿð™è¯­8Ž¥ ø ¯¤<Ž£ ¼<$a`€%‚pޤ<¤<™è(% ø $„¼<¤<™èŽ¥ ø $„¼<¤<™è(% ø $„ ¼<Ž£,$ŽL¹<l'$ÿð68ˆ%™è¯¤<Ž¥ ø ¼<¤<…‚`™èŒ¥ ø $„¼<¤<™è¥8 ø $„¼<°<™è&  % ø (%¼< %™ì (% ø ©8¼<%/¯¯8†J@ŽKëh#¯­8Œ€d§8Œà1˜„€l…€T™„ ަ$„à ø $¥(¼<„€l™<$„à ø ¼<™ƒŽ„¥<¦8 ø ¼<¯¢@™€d@0%9à3.À©@„€l…€T™„ $„à ø $¥(¼<„€l™<$„à ø ¼<©@$ÿÿ!*¯@‚‚Ð$ ŒBA#$A"¯@ˆ€dðˆ „€T™@$„(0 ø ¼<$ÿò„€T™@¯ <¯ 8 ø $„(H¼<€ %™` ø ¼<Žª,”€dRŽ”ð¯@«<àCoh!¬8¯­<À#>¯¸8'¹`'. ®ŽI ¯©<ŽH4¯¨8¯ <ŽR«ŽJ@-`™ØŽ¤ ø ¼<`#%&bÿÿ`€™ÜÌx!ä$¯¸ ø @˜%ŒY,¼<2@¨%ŽM %™\ޤ ø ¼<@@ %ŒN dŽ”ð‰€d§H)à1(„€dˆ%Œ„ð@€%$ŒŠ8 0%@$„€l…€T™„ ¯°$„à ø $¥(`¼<„€l™<$„à ø ¼<@üG‹€dkðl8€ü?¯Làü;¢H¿D°± ²$³(´,µ0¶4·8¾@à'½p<'œ™à!'½ÿȯ°‚<¯´(ޝ³$ ˜%€ %¯¿4¯¼0¯µ,¯² ¯±Š$ÿñ•€d&µàŽ®1Ïà™‚ ` % ø (%¼0€0%‘€l…€T™„ &1à %@8% ø $¥(„¼0 %™< ø ¼0‚<Ž‘€l™h %€(%`0%8% ø &1à¼0A\¿4‚‚€’€TŒB&R( ŒP %™hŽ(%0% ø 8%¼0AI¿4Žޏ3 ™‚ Ž ø (%¼0Ž™„  %@(% ø @8%¼0 %™< ø ¼0ŽˆŽ i‚‚€ŽŒBÿÍŽ Ž ‘‚8­jŽ Ž ­¬®®Ž$€™Ø ø ¼0® ™Ž ø ¼0@¿4Ž¿4°±² ³$´(µ,à'½8<'œl™à!'½þÀ¯³(“€d¯¿4&sðŽn¯¼0¯´,¯²$¯± À¯° %„€T™„D$„(À ø ¼0@C@%™‚ ø ¼0@ @%„€T™<$„(È ø ¼0ëŽg™ƒ @ %(% ø 0%¼0$ÿÿT¯¢¼™@@ % ø ¼0ÛŽg™ƒ'±À¤¼ (% ø $€¼0¤¼™„T@€% ø ¼0 „€T™@$„(è ø ¼0ÄŽg 0x!„€T™<$„) ø ¼0ºŽg¡à %„€l™„\$ÿÿ$€ ø $„Ű¼0€d™P¬ ô ø ¼0®b<€¬X’H$/:$™ƒD$$ ø 0%Ži¼0T ­"„€T™@$„), ø ¼0’Žg$'±@™„\ % ø $n¼0$ ™„4§ª@'¤B ø @(%¼0Žk™ƒHd (% ø $n¼0To&ÿÿ „€T™@$„)< ø ¼0qŽg™ƒ$ ø ¼0ÿÛ™ƒD$ ø 0%Žl¼0T ­‚„€T™@$„)P ø ¼0ZŽg$$Že™‚@ % ø $¥$Žm¼0¥±$Žg™ƒHŒä$ ø $å$¼0T&ÿÿ „€T™@$„)` ø ¼0=Žg™ƒ$ ø ¼0ÿàŽeŽo$™ƒ ¯®¼'°¼$䯸8%$ ø $¼0T $„€T™@$„)t ø ¼0ŽgŽg¯¹¼™ƒ,Œä0% ø $å¼0T „€T™@$„)ˆ ø ¼0 ŽgŽi$­( Žj™DD ø $¼0 %Žgà™Tà % ø ¼0®`$ÿò¿4°± ²$³(´,à'½@<'œˆØ™à!„€d'½ÿØŒ„ð¯¿$¯¼ ¯±€¯°!$‘€d&1ìŽ"ŒPP™T % ø Ž"¼ ŒPPÿ÷„€dŒ„ð™T ø ¼ %€d¬ ð¿$°±à'½(<'œˆ™à!Ž‚`'½ÿ€Î$ÿÿ¯¿Á¯¼Š%ƒ‚”Œb@¬`™ƒ£ P ø ¯¢0¼‚d„€T™„D¬" ø $„) ¼@@ %™ƒ0 ø ¼¯¢p¯ p™‚ô ø ¼$ÿÿƒ‚ A ¬b„€T™<$„)¨ ø ¼$ÿòV¯¸l„€T™„D$„)¸ ø ¼@@ %™ü ø ¼@0%ƒ€d$cà@¬b„€l…€T™„ $„à ø $¥)ȼ„€l™<$„à ø ¼™x ø ¼@-¯¢l™Ä ø ¼@ %†‚€$l¬Â™„\ ø ¼$@†‚€ŒÃ¬cŒÃŒy¬y™„0 ø ¼@ %†€d$@$Æì¬Â™„\ ø ¼'¤P†€d$ÆìŒÃ¬cŒÃŒh¬h™ƒ$ ø ¼'¤P™ƒ $ ø $€¼$ÿÿA¯¢L™@'¤P ø ¼„€T™<$„)ä ø ¼$ ÿòܯ©l™€ô$ ø ¼@ %™€ü ø ¼¯¢|™ % ø ¼$ €d™$ %¯¢x¯«t'¤t$$ ø ¬*ä¼'¤P™( ø ¼<€™t4¥ ø <€¼@f¯¢l™ '¤t$ ø $¬t¼$%'¤l„€l…€T™„ $%€8%$„à ø $¥* ¼„€l™<$„à ø ¼$ ÿòI¯­l™ $ ø $®l¼À '¥l„€T™<$„*8 ø ¼9™ƒ¤L ø $¼$ÿÿA ¯¢l„€T™@$„*` ø ¼$ÿò(¯¯l$A „€T™<$„*| ø ¼$ÿò¯¸l™„T¤L ø ¼'¤P™„L ø ¼'¤P™, ø ¼'¤P™ƒ $ ø 0%¼$ÿÿA¯¢L™@'¤P ø ¼„€T™<$„*¨ ø ¼$ÿò£ Pò¯¹l™ƒ¤L'¥P ø $¼¤L™„T¯¢l ø ¨l¼$$ ÿÿ$ÿÿ™@'¤P ø ¼„€T™<$„*Ô ø ¼$ ÿò£ Pϯ©l™ ¯ªL£ P ø $¼$™„‚d ø $¼'¤p™$ ø $¼<€™t4¥ ø <€¼@µ¯¢l™ '¤l$ ø $«l¼` $„€T™<$„*ü ø ¼¤™ „‚` ø $¼$™ „‚\ ø $¼$™ „‚ˆ ø $¼$™ „‚Œ ø $¼$Œ‚ˆ‚HŒ‚Œ¬,‚L™ ­„‚˜$ ø ¬-¼$™ „‚œ ø $¼Ž‚˜‚P΂œ¬.‚T„€T™„Dï$„+$ ø ¬/¼@@ %™„h¯¢4 ø ¼¤4$A™ƒð…‚¬ ø $¼ ‚¬‚‚¬…‚¬$@  $B$¥E+$Bÿÿ`ÿý D™ƒð„‚¬…‚° ø $¼$™ „‚h ø $¼$˜‚h‚X™ „‚p$ ø ¬8¼'¤8™, ø ¼'¤8…€l™‚$¥Å  ø ¼$ƒ€l„‚x$cÅ ¤y¤`™ $ ø $¼¤x™ ø ¼@ %™€ø ø ¼¤|™€ü ø ¼@ %™€ø ø ¼¨0€d%¬ ä‚”P¬(™ ø ¼@ ™ ø ¼@ %™€ø ø ¼™ ø ¼@ ™ ø ¼@ %™€ø ø ¼™¤x ø ¼¤|™€ü ø ¤L¼$ÿÿ“©P™„T ø ¼“©P ™„L'¤P ø ¼™| ø ¼ª0‚”¢l¬*¿'½€à<'œ}¬™à!Ž‚`'½ÿàÎ$ÿÿ¯¿Á ¯¼™| ø ¼$ÿÿ‚`¬/‚˜¬ ¿'½ à%௤<'œ}<™à!'½ÿÈŽ‚”¯¿ί¼¯¤80%¯ 0¯ 4À5¯®,‚‚`‚”ŒB$ÿÿ¯ 4¢.¬ ¢%™€¯ 4 ø ¼@%¯¦4¦4`"¨8‚˜¯¦4ïà¨8˜‚¬¯¦4“3 ¨8™˜$ ø ¼@ '¤8™$ ø $¼™œ ø ¼¨8¦4% ÿÿ-! S$ÿÿ€T H€)!Œ),H$ÿþ€:%Ž‚¨ÎŽ* ‚¤ÀÀïøÈ!"@($ÿðŒC@€%` ŒB@¬bŽ Ž­(®®™‚,Ž, ø ¼Ž™Ð ø ¼ %™È ø ¼Ž™ˆ ø ¼%¿°à'½ <'œD¤™à!€%Ž‚¨ÎŽ* ‚¤ÀÀïøÈ!"àà`%<'œDL™à!'½ÿ¸¯µ<¯°(€€% ¨%¯¿D¯¼@¯´8¯³4¯²0€¯±,‘€l…€T™„ &1È0 % ø $¥.¼@ %™< ø ¼@w$ÿþŽ‚¨Î* ‚¤ÀÀïøÈ!"@‘€l…€T™„ &1È0 % ø $¥.¨¼@ %™< ø ¼@W$ÿðŒH$@%1  ™ä@ % ø ¼@™‚ ŽD ø (%ŽJ¼@¯ªŽK ‘€l¯¢¯«ŽL …€T™„ &1È0 %0%@8%¯¬ ø $¥.À¼@ %™< ø ¼@ .%ŽB,ŒP(%”€T“€T&”/&s.øŽ ŽŽ®x#¯¯Ž™„  %`(%0% ø ¯¸¼@ %™< ø ¼@*¡ ™‚ Ž Ž ø €0%¼@ŽŽY,ÿß%¿D°(±,²0³4´8µ<à'½H<'œAÔ™à!ƒ‚¨'½ÿÐŒc¯³$¯±(a€˜%¯¿,¯¼(¯² ¯° $’‚¤$ŽNÐx!â@ ™à % ø `(%¼(ƒ‚¨Œc&1#* ÿì&¿,°±² ³$à'½0Œ‚,%ŒE¢Œ®Œ¥n!¢ÿü¬ƒ à`%<'œ@ä™à!'½ÿد¿$¯¼ ¯²¯±¯°Œ‚,€%ŒPˆ% $ÿÿ™‚Ž Ž ø  0%ŽŽN,¼ ÿ÷@ˆ%$ÿÿ¿$!&±°²à'½(v|Â Ž  ˜$„ …à%r Ž$„ …à% …à%™‹˜FèH! d,h!Êà¹!™Bàè!‚à<'œ?¼™à!'½ÿد²€%¯¿$¯¼ ¯±€¯°i$ÿÿ’B@%@ $=‚b$c@‚ÿûrnÀU$ÿÿ‚¸rˆ#Ž&1Ž€™ƒô@(% ø  0%¼ @ŽŽ&€ÿó€:®„‚¸$Œ„Œ€€%àŽ$Bÿý&™€d9ü$ ™ƒÐˆ€ ø  (%¼ @Q! $ÿÿ™„0ˆ€ ø  %¼ @$ÿÿ‚¸$DŽŽ&`¬CŽ$„&`ÿü¬ƒÿüQ!€d¬rÿø¬`ÿü¬"ü‚¸¬"%¿$°±²à'½(<'œ=Йà!'½ÿȯ¿,¯¼(¯´$¯³ ¯²¯±¯°€H€(%ŒŽ %À€%ŒO&”àÿý$B™„0€€& ø ¯¥8¼(¥8@?¯¢4PÀ!¯€;˜%°4% ˆ%™„hŽ$ ø ¼($D™„0 ø ¼(Ž%™„4@ % ø ¼(@®*C&Rÿü` &ÿü™ƒìŽ ø ¼(*C&Rÿü`ÿø&ÿü™ƒì¤4 ø ¼(¯ 4&st*&R&1 ÿÔ& ¿,™„0$ ø ¼(@¯¢4¬@¿,¢4°±²³ ´$à'½8<'œ<<™à!'½ÿЯ¿,¯¼(¯³$¯² ¯±¯°¯¤0Œ“  %™„H  % ø $=¼(@@%Y$ÿÿŽo`€%àrˆ#Ž&1™ƒô@(% ø  0%¼(@Ž&€ÿöŽ€™ƒì ø ¼(@ %™„h ø ¼($D™„0 ø ¼(@ %™„4@(% ø ¼(*®Žx$`€%Ž$B ÿý&™ƒÐ€€(% ø ` %¼(@@˜%$ÿÿ™„h@ % ø ¼($D™„0 ø ¼(@ %™„4@(% ø ¼(p!¬bÿø¬`ÿü¨0­%¿,°±² ³$à'½0<'œ:d™à!'½ÿد¿$¯¼ ¯±¯°¯¤(Œ€€%à Œ‘™ƒì % ø ޼  ÿù&™ƒì¤( ø ¿$¼ °±'½(à%<'œ9Ü™à!‡‚È‚%Gp!‘Æ$„0Å€ 0ÏàÉ$00Ø$a$A$Åÿö"@!‚#GH!‘&$„0Å€ ÿî0Ïà`%<'œ9X™à!'½ÿà™ü¯¿¯¼¯¥$ ø ¯¤ ¼®$¤ ­Â™„H$: ø ¼@$D„€T$„/ ™ü ø ¯$¼¥â¿'½ à<'œ8Ä™à!'½ÿЯ¿,¯¼(¯¤0Œ‚€p%Ê3(ÿ0Iÿ¯©¯¨•Ë™„ „€l…€T6<0øÿ0Ïÿà0%8%¯«$„Ê  ø $¥/$¼(¿,‚€l'½0à$BÊ <'œ8<™à!'½ÿ௿¯¼¯¤ Œ†€p%„€l…€T™„ •Ç$„ÊÀ ø $¥/4¼¿‚€l'½ à$BÊÀ<'œ7ä™à!'½ÿÀ¯¾8¯³ ¯² %€˜%Àð%¯¿<¯¼4¯·0¯¶,¯µ(¯´$¯±À¯°ž€T'Þ/@™„hÀ % ø ¼4$P2Ž€dÎÐ* "€dïà™ƒìà % ø ¼4™„0 % ø ¼4€d@ ¬"€d„€T™<¬  ø $„/D¼4=$€d¬0€d0*Ž&RÿÿÀ3ˆ%—€T•€T”€T$&÷/l&µ/`&”/h  %€0%À0%™„ ’g (% ø &s¼4 %™„h ø ¼4@€!6’á„€d¢’袙<Œ„ ø ¼4€dŽ&12)0*&RÿÿÀÿÖ ˆ%%¿<°±²³ ´$µ(¶,·0¾8à'½@<'œ5À™à!Ž€d'½ÿàί¿À-¯¼„€T™„D$„/p ø ¼€d@¬"„€d™„hŒ„ ø ¼$D™„0 ø ¼@ %…€d™„4Œ¥ ø ¼€d ¬"„€T™<$„/x ø ¼€T€d%ï/ ¬/‚€d¿ŒBà'½ <'œ4Ø™à!Ž€d'½ÿàÎ ¯¿À¯¼„€T™„D$„/¤ ø ¼€d@¬" „€T™<$„/° ø ¼ %™8 ø ¼$™ƒü ø ¼‚€d¿ŒB à'½ <'œ4,™à!Ž€d'½ÿÐί¿À1¯¼€T$/‘ï/Øá˜€T€d'/ä&¬8™‚ ø ¼¯¢,™„h@ % ø ¼¯¢$„€T™„h$„/ð ø ¹$¼Y !™„0$„ ø ¼¦,€d…€T‡€T™„ @ %¬"$¥/ü ø $ç0¼‚€d¿ŒBà'½0<'œ34™à!†‚ „€l…€T™„ '½ÿ௿ŒÆ¯¼$„ÊÐ ø $¥0¼¿‚€l'½ à$BÊÐ<'œ2ä™à!Ž€d'½ÿðί± ¯°À€%€ˆ%À 8%†€l<í¸5ƒ %$ $ÆËp@%$0oà  %ÀB&ÈB % ÿ÷$¥ÿÿ$B$ÆIÿñ¬Ãÿü€d¬  *€$çÿÿ‚€l<ÿ4cÿÿ$BËp’*ÂPX&1lÿ h€Mp!ÏÈ$ *$çÿÿ&1€ÿôù€&%°± à'½<'œ1ì™à!€0%„€dƒ€d'½ÿ௿¯¼ 8%$„H$c`ŒbÂ* ŒnÆ* à #$¬ïŒxÈ€@!¿d+@ÿê$cÿô„€l…€T™„ ¯§$$„Ïp ø $¥3\§$¼à¬à‚€l$BÏp¿'½ à<'œ1™à!†€d'½ÿà$ƨŒÄ¯¿€!¯¼…€l$FP$¥Ï¬¥¬¥™„0 ø ¼@%…€l†€d$¥Ï@$ƨ%$󌯬e¬oŒ¸*¯¬£$„ÿÿ@ÿ÷$c$$ô¬Ù %…€l$ˆÿÿ$¥ÏŒ¢¬ÈŒIŒJ­IŒLŒK­‹¬@¬@¿'½ à<'œ0 ™à!ƒ€d$c¨ŒnÀ…€l$¥Ï¬¥¬¥…€l%$¥ÏŒ¸¬…¬˜Œ¹¯$Œh¬¤% à¬i<'œ/¬™à!™€ '½ÿد¿'9‚|¯¼ ø ¯¤(¼@,@(%¤(€¬ ¬ ™‚0¯¥$ ø ¥$¼¬¢ @ ¬¢™€   %'9ƒp ø ¼®(¬®¬B¬B¬@¬@ ¬@€¸$3ÿ7(€ ¨€©¬ 1*ÿ¿¤¯ ª %„€T™<$„3` ø ¼ %™8 ø ¼%¿'½(à<'œ.ˆ™à!™€ '½ÿ௿'9‚|¯¼¯¤  ø ¯¥$¼¤ ¥$@$€O¬@1øÿ X€Y¬@3(ÿ¿¬D¬D ¬E¬E¤N H„€T™<$„3| ø ¼ %™8 ø ¼%¿'½ à<'œ-Ì™à!'½ÿد¿$¯¼ ¯²¯±¯°„‚€%8C$Nÿÿ`,¤ŽŒ„€ †X™‚4 ø ¼ ŽPŽŽ %®9Ž Ž­(®®™‚, ø ¼ 2ÿð €%™€ @ %'9ƒp ø ¼ ¿$°±²à'½(<'œ,Ä™à!™„0'½ÿ௿¯¼ ø $„¼@@%$C$¬nÿü¿'½ à`%ŒŽÿü%Ïà¬ÿü<'œ,d™à!'½ÿ௿¯¼ŒŽÿü%Ïÿÿà¬ÿü™ƒì$„ÿø ø ¼¿'½ à$Id: lpvmgen.c,v 1.11 1996/05/14 16:26:38 manchek Exp $_üÌÔ$Id: lpvmpack.c,v 1.13 1996/05/13 20:49:48 manchek Exp $_ýR _ýSX_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýS¤_ýSô_ýTD_ýb¬_ýUÈ_ýdl_ýVÜ_ýe\_ýX4_ýf¨_ýYŒ_ýgô_ýVÜ_ýi@_ýX4_ýjŒ_ý[_ýkØ_ý\l_ým$_ý]Ä_ýnp_ý^ü_ýo _ý`à_ýqx_ýs4_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýs<_ýy(_ýt(_ývÀ_ýtà_ýw _ýy _ýy _ýu0_ýw\_ýuø_ýuø_ýy _ýy _ýu0_ýxD_ýy _ýy _ýy _ýy _ýy _ýy _ýy _ýy _ýy _ýy _ýy(_ýSX_ýy(_ýSô_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ýy(_ÿÐ_ÿØ_ÿà_ÿð_ÿ_ÿ_ÿ _ÿ0_ÿ@_ÿH_ÿP_ÿ`_ÿl_ÿ„_ÿ_ÿ¬_ÿÀ_ÿÐ_ÿà_ÿô_ÿ _ÿ _ÿ (_ÿ 4_ÿ D_ÿ T_ÿ h_ÿ |_ÿ _ÿ  _ÿ ´_ÿ È_ÿ Ø_ÿ èÿÿÿÿÿÿÿÿÿÿÿÿ"?üÿÿÿÿ$Id: lpvm.c,v 1.34 1996/05/14 16:26:52 manchek Exp $<<$Id: lpvmcat.c,v 1.7 1995/11/02 16:08:12 manchek Exp $$Id: pvmumbuf.c,v 1.9 1995/11/02 16:34:59 manchek Exp $$Id: pvmcruft.c,v 1.10 1995/11/02 16:21:34 manchek Exp $_ÿ0 _ÿ0,_ÿ08_ÿ0@_ÿ0L_ÿ0X_ÿ0d_ÿ0p_ÿ0x_ÿ0„_ÿ0_ÿ0œ_ÿ0¨_ÿ0°_ÿ0¸_ÿ0Ä_ÿ0Ì_ÿ0Ø_ÿ0ä_ÿ0ð_ÿ0ü_ÿ1_ÿ1_ÿ1_ÿ1(_ÿ10_ÿ1<_ÿ1H_ÿ1T_ÿ1`_ÿ1l_ÿ1x_ÿ1„_ÿ1Œ_ÿ1˜_ÿ1¤_ÿ1´_ÿ1¼_ÿ1È_ÿ1Ô_ÿ1à_ÿ1è_ÿ1ð_ÿ1ü_ÿ2 _ÿ2_ÿ2 _ÿ2,_ÿ28_ÿ2H_ÿ2T_ÿ2`_ÿ2l_ÿ2t_ÿ2€_ÿ2Œ_ÿ2˜_ÿ2¤_ÿ2¬_ÿ2¸_ÿ2À_ÿ2Ì_ÿ2Ø_ÿ2ä_ÿ2ì_ÿ2ø_ÿ3_ÿ3_ÿ3_ÿ3(_ÿ34_ÿ3@_ÿ3P€€_ÿ€€_ÿp€€_ÿÜ€€_ÿø$Id: pvmfrag.c,v 1.3 1995/05/17 16:42:49 manchek Exp $$Id: pvmdabuf.c,v 1.2 1994/06/03 20:38:23 manchek Exp $pvm_recvf: comparison function must return only one scalar Warning: message truncated. Try increasing MAXSTRWarning: message truncated. Try increasing MAXSTR%s not implemented on this architecturePVM_BYTEPVM_CPLXPVM_DCPLXPVM_DOUBLEPVM_FLOATPVM_INTPVM_LONGPVM_SHORTPVM_STRPVM_UINTPVM_ULONGPVM_USHORTPvmAllowDirectPvmAlreadyPvmAutoErrPvmBadMsgPvmBadParamPvmBadVersionPvmCantStartPvmDSysErrPvmDataDefaultPvmDataFooPvmDataInPlacePvmDataRawPvmDebugMaskPvmDontRoutePvmDupEntryPvmDupGroupPvmDupHostPvmFragSizePvmHostAddPvmHostComplPvmHostDeletePvmHostFailPvmMismatchPvmMppFrontPvmNoBufPvmNoDataPvmNoEntryPvmNoFilePvmNoGroupPvmNoHostPvmNoInstPvmNoMemPvmNoParentPvmNoSuchBufPvmNoTaskPvmNotImplPvmNotInGroupPvmNullGroupPvmOkPvmOutOfResPvmOutputCodePvmOutputTidPvmOverflowPvmPollConstantPvmPollSleepPvmPollTimePvmPollTypePvmResvTidsPvmRoutePvmRouteDirectPvmSelfOutputCodePvmSelfOutputTidPvmSelfTraceCodePvmSelfTraceTidPvmShowTidsPvmSysErrPvmTaskArchPvmTaskChildPvmTaskDebugPvmTaskDefaultPvmTaskExitPvmTaskHostPvmTaskSelfPvmTaskTracePvmTraceCodePvmTraceTidUsage: Parallel::Pvm::constant(name,arg)Usage: Parallel::Pvm::spawn(task,ntask,flag=PvmTaskDefault,where="",argvRef=0)Parallel::Pvm::spawn - non-reference passed for argvUsage: Parallel::Pvm::initsend(flag=PvmDataDefault)Usage: Parallel::Pvm::send(tid,tag)Usage: Parallel::Pvm::psend(tid,tag,...)Usage: Parallel::Pvm::pack(@argv)Usage: Parallel::Pvm::pvm_mcast(tids_list,tag)Usage: Parallel::Pvm::sendsig(tid,sig)Usage: Parallel::Pvm::probe(tid=-1,tag=-1)Usage: Parallel::Pvm::recv(tid=-1,tag=-1)Usage: Parallel::Pvm::nrecv(tid=-1,tag=-1)Usage: Parallel::Pvm::trecv(tid=-1,tag=-1,sec=1,usec=0)Usage: Parallel::Pvm::precv(tid=-1,tag=-1) Usage: Parallel::Pvm::parent()Usage: Parallel::Pvm::mytid()Usage: Parallel::Pvm::pack(@argv)Usage: Parallel::Pvm::unpack() Usage: Parallel::Pvm::exit()Usage: Parallel::Pvm::halt()Usage: Parallel::Pvm::catchout(io=stdout)Usage: Parallel::Pvm::tasks(where=0)ti_a_outti_tidti_ptidti_pidti_hostti_flagUsage: Parallel::Pvm::config()hi_tidhi_namehi_archhi_speedUsage: Parallel::Pvm::pvm_addhosts(host_list)Usage: Parallel::Pvm::pvm_delhosts(host_list)Usage: Parallel::Pvm::bufinfo(bufid)Usage: Parallel::Pvm::freebuf(bufid)Usage: Parallel::Pvm::getrbuf()Usage: Parallel::Pvm::getsbuf()Usage: Parallel::Pvm::mkbuf(encode=PvmDataDefault)Usage: Parallel::Pvm::setrbuf(bufid)Usage: Parallel::Pvm::setsbuf(bufid)Usage: Parallel::Pvm::kill(tid)Usage: Parallel::Pvm::mstat(host)Usage: Parallel::Pvm::pstat(tid)Usage: Parallel::Pvm::tidtohost(tid)Usage: Parallel::Pvm::getopt(what)Usage: Parallel::Pvm::setopt(what,val)Usage: Parallel::Pvm::reg_hoster()Usage: Parallel::Pvm::reg_tasker()Usage: Parallel::Pvm::reg_rm()Usage: Parallel::Pvm::perror(msg)Usage: Parallel::Pvm::notify(what,tag,...)Usage: Parallel::Pvm::pvm_notify(what,tag,tid_listUsage: Parallel::Pvm::pvm_notify(PvmHostAdd,tag [,cnt]Usage: Parallel::Pvm::recv_notify(what)Usage: Parallel::Pvm::hostsync(hst)tv_sechi_usectv_sechi_usecUsage: Parallel::Pvm::recvf(fn)Usage: Parallel::Pvm::recvf_old()Pvm.c%s::VERSION1.1%s object version %s does not match %s.pm $VERSION %s1.1(undef)Parallel::Pvm::constantParallel::Pvm::spawn$$;$$$Parallel::Pvm::initsend;$Parallel::Pvm::send$$Parallel::Pvm::psend$$;@Parallel::Pvm::mcast@Parallel::Pvm::sendsig$$Parallel::Pvm::probe;$$Parallel::Pvm::recv;$$Parallel::Pvm::nrecv;$$Parallel::Pvm::trecv;$$$$Parallel::Pvm::precv;$$Parallel::Pvm::parentParallel::Pvm::mytidParallel::Pvm::pack@Parallel::Pvm::unpackParallel::Pvm::exitParallel::Pvm::haltParallel::Pvm::catchout;$Parallel::Pvm::tasks;$Parallel::Pvm::configParallel::Pvm::addhosts@Parallel::Pvm::delhosts@Parallel::Pvm::bufinfo$Parallel::Pvm::freebuf$Parallel::Pvm::getrbufParallel::Pvm::getsbufParallel::Pvm::mkbuf$Parallel::Pvm::setrbuf$Parallel::Pvm::setsbuf$Parallel::Pvm::kill$Parallel::Pvm::mstat$Parallel::Pvm::pstat$Parallel::Pvm::tidtohost$Parallel::Pvm::getopt$Parallel::Pvm::setopt$$Parallel::Pvm::reg_hosterParallel::Pvm::reg_taskerParallel::Pvm::reg_rmParallel::Pvm::perror$Parallel::Pvm::notify$$;@Parallel::Pvm::recv_notify$Parallel::Pvm::hostsyncParallel::Pvm::recvf$Parallel::Pvm::recvf_oldÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü¡ˆÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0ÿü°0À@€()pvm_addhosts() sent count %d received count %d pvm_addhostspvm_configpvm_deletepvm_delhosts() sent count %d received count %d pvm_delhostspvm_exitpvm_haltpvm_insertpvm_killpvm_lookuppvm_mcastpvm_mytidpvm_mstatpvm_notifypvm_nrecvpvm_parentpvm_probepvm_pstatpvm_recvpvm_sendpvm_sendsigPVM_EXPORTPVMTMASK=%spvm_spawnpvm_taskspvm_ticklepvm_trecv3.3.11pvm_reg_rmpvm_reg_taskerpvm_reg_hosterpvm_host_syncpvm_gettmaskpvm_settmaskPVM_EXPORT=:=PVM_EXPORT=aaugh, no space for fixup, kill me pvm_mkbufpvm_freebufpvm_setsbufpvm_setrbufpvm_initsendpvm_bufinfopvm_pkbytepvm_upkbytepvm_pkcplxpvm_upkcplxpvm_pkdcplxpvm_upkdcplxpvm_pkdoublepvm_upkdoublepvm_pkfloatpvm_upkfloatpvm_pkintpvm_pkuintpvm_upkintpvm_upkuintpvm_pklongpvm_pkulongpvm_upklongpvm_upkulongpvm_pkshortpvm_pkushortpvm_upkshortpvm_upkushortpvm_pkstrpvm_upkstrpvm_packfpvm_unpackfpvm_getmwidpvm_setmwidÿþ! ÿþ!`ÿþ$|ÿþ"Xÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ#ìÿþ$|ÿþ$|ÿþ$|ÿþ$|ÿþ#ˆÿþ)Œÿþ)¼ÿþ+Ìÿþ* ÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+pÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Ìÿþ+Error 0Error 1Bad parameterCount mismatchValue too largeEnd of bufferNo such hostNo such fileError 8Error 9Malloc failedError 11Can't decode messageError 13Can't contact local daemonNo current bufferNo such bufferNull group nameAlready in groupNo such groupNot in groupNo such instanceHost failedNo parent taskNot implementedPvmd system errorVersion mismatchOut of resourcesDuplicate hostCan't start pvmdAlready in progressNo such taskNo such entryDuplicate entrylibpvm [pid%d]: %slibpvm [t%x]: %sUnknown Errorlibpvm [pid%d]: %s: %s libpvm [t%x]: %s: %s %s%d, ttpcb_dump() t%x fd=%d sad=%s osad=%s state=%d ttpcb_dumpall() mroute() socketmroute() bindmroute() socketmroute() bindmroute() getsocknamemroute() setsockoptmroute() setsockopt SO_SNDBUFmroute() CONREQ to t%x mroute() freeing pcb t%x pvmmctl() crossed CONREQ from t%x pvmmctl() handling crossed CONREQ with unix sockets pvmmctl() listenpvmmctl() connectpvmmctl() setsockoptpvmmctl() fcntlpvmmctl() CONREQ from t%x but state=%d ? pvmmctl() CONREQ from t%x pvmmctl() socketpvmmctl() bindpvmmctl() listenpvmmctl() socketpvmmctl() bindpvmmctl() getsocknamepvmmctl() listenpvmmctl() CONACK from t%x pvmmctl() t-t protocol mismatch with t%x pvmmctl() route to t%x denied pvmmctl() connectpvmmctl() fcntlpvmmctl() connectpvmmctl() setsockoptpvmmctl() fcntlpvmmctl() CONACK from t%x but state=%d pvmmctl() suprious CONACK from t%x pvmmctl() TASKEXIT for t%x pvmmctl() NOOP from t%x pvmmctl() bogus trace mask pvmmctl() from t%x code %s ? mxinput() pcb t%x fr_len=%d fr_dat=+%d n=%d mxinput() read=%d mxinput() t%x readmxinput() t%x read EOF mxinput() realloc frag max=%d mxinput() pkt src t%x len %d ff %d mxinput() frag with no message mxinput() src t%x route t%x cod %s len %d mxfer() mid %d code %s dst t%x route t%x tmout %d.%06d tmout inf mxfer() select timeout is %d.%06d mxfer() select timeout is - mxfer() rfds=mxfer() wfds=mxfer() selectmxfer() select returns %d mxfer() mxinput bad return on pvmd sock mxfer() EOF on pvmd sock mxfer() acceptmxfer() setsockoptmxfer() setsockopt SO_SNDBUFmxfer() accept from t%x mxfer() dst t%x n=%d mxfer() wrote %d mxfer() write pvmd sockmxfer() write tt sockmxfer() txfp %d gotem %d tt_rxf %d msendrecv() to t%x code %s msendrecv() from t%x code %s PVMSOCKmksocs() pvmdsockfile() failed mksocs() read addr filemksocs() read addr file: wrong length read mksocs() socketmksocs() connectmksocs() socketmksocs() connectmksocs() setsockoptmksocs() getsocknamePVMEPIDcan't getuid() PVMTASKDEBUGtask debug mask is 0x%x pvmbeatask() can't creat t-auth file pvmbeatask() t-d protocol mismatch (%d/%d) pvmbeatask() pvmd refuses connection pvmbeatask() read authfilepvmbeatask() pvmd didn't validate itself pvmbeatask() failed to open d-auth file pvmbeatask() can't write d-auth file pvmbeatask() pvmd refuses connection PVMTMASKpvm_getopt%x%x%x%xpvm_setoptlibpvm [pid%d]: libpvm [t%x]: %s: %s (null)Unknown Errorpvm_getfdscan't getuid() pvm_start_pvmd() pvmdsockfile() failed /dev/null/dev/nullrPVMSOCK=pvm_start_pvmdpvm_precvpvm_psendÿþS¸ÿþSØÿþSøÿþTÔÿþT¸ÿþU0ÿþ„ÿþ„ÿþ„,ÿþ„@ÿþ„Tÿþ„hÿþ„|ÿþ„ÿþ„¤ÿþ„¸ÿþ„Ìÿþ„àÿþ„ôÿþ…ÿþ…ÿþ…ÿþ‡°ÿþ‡ôÿþˆ ÿþˆ ÿþˆ˜ÿþˆüÿþ‰tÿþ‰ØÿþŠÿþŠ0ÿþ‹èÿþœÿþTÿþ‘ÿþ‘ÿþ‘ÿþ¤”ÿþ¤8ÿþ¤@ÿþ¤Lÿþ¤dÿþ¤pÿþ¤|ÿþ¤ˆÿþ¤Xÿþ¤@ÿþ¤Lÿþ¤Xÿþ¨œÿþ¨@ÿþ¨Hÿþ¨Tÿþ¨lÿþ¨xÿþ¨„ÿþ¨ÿþ¨`ÿþ¨Hÿþ¨Tÿþ¨`tobuf_dump() t%x tobuf_dump() tobuflist null pvmclaimo() message from task t%x pvmclaimo() bogus message, no task t%x [t%x] %s %s pvmclaimo() bogus message, no task t%x [t%x] %s %s [t%x] EOF [t%x] BEGIN [t%x] EOF [t%x] BEGIN pvmclaimo() bogus message from task t%x pvm_exit() child task(s). waiting... umbuf_dump() BadParam umbuf_dump() NoSuchBuf umbuf_dump() mid=%d 0x%x src=t%x enc=%d cod=%s len=%d frag=0x%x max=%d ofs=%d len=%d %d.%d.%d.%d:%d%08x:%04xpvmhdump() malloc failed %s%02x HOMEwarning: can't getenv(HOME), using / /PVM_ROOTPVM_ROOT environment variable not set. lib/pvmdlib/pvmdlib/pvmd%s/%slib/pvmd/tmp/pvmd.%dTM_CONNECTTM_CONN2TM_EXITTM_ADDHOSTTM_DELHOSTTM_CONFIGTM_MSTATTM_HALTTM_TICKLETM_SPAWNTM_PSTATTM_SENDSIGTM_TASKTM_MCATM_NOTIFYTM_DBTM_SCHEDTM_TASKERTM_HOSTERTM_HOSTSYNCTM_SETOPTTM_GETOPTDM_ADDDM_ADDACKDM_EXECDM_EXECACKDM_SENDSIGDM_HTUPDDM_HTUPDACKDM_HTCOMMITDM_SLCONFDM_STARTACKDM_TASKDM_TASKACKDM_DELHOSTDM_DELHOSTACKDM_NULLDM_TASKOUTDM_PSTATDM_PSTATACKDM_HALTDM_MCADM_NOTIFYDM_NOTIFYACKDM_DBDM_DBACKDM_HTDELDM_HOSTSYNCDM_HOSTSYNCACKTC_CONREQTC_CONACKTC_TASKEXITTC_NOOPTC_OUTPUTTC_SETTMASKTC_SHMATSM_SPAWNSM_EXECSM_EXECACKSM_TASKSM_CONFIGSM_ADDHOSTSM_DELHOSTSM_ADDSM_ADDACKSM_NOTIFYSM_TASKXSM_HOSTXSM_HANDOFFSM_SCHEDSM_STHOSTSM_STHOSTACKSM_STTASK%dfr_new() can't get memory fr_snew() can't get memory ¶³0_ü_ý_þ_ÿ`````````` ` ` _ÿ```_ÿ`````_üÍp_üÎt_üÔd_üß _üä”_üç`_üí¸_üô_üø¬_üúà_üþ_ýt_ýì_ý 8_ý ¼_ý@_ý€_ý`_ýH_ý! _ý(p_ý3Ì_ý3ì_ý:0_ý?L_ýBÈ_ýEÔ_ýy<_ýyÀ_ýz8_ýz„_ý}h_ý´_ý‚ä_ý„Ä_ýˆ_ý‰ø_ýŒ`_ý¸_ý’p_ýªè_ý°X_ýµÈ_ýˈ_ýÎT_ýÐü_ýÙ¼_ýæ_ýæ,_ýæ´_ýç˜_ýè_ýè¸_ýê _ýêÄ_ýì0_ýìÔ_ýíD_ýîP_ýïì_þ Ü_þ´_þ#œ_þ&0_þ*Ä_þ+Œ_þ5ð_þ6L_þ6`_þ9ü_þF_þS„_þTl_þV,_þZ4_þ^_þ^¼_þ_ _þ`(_þa`_þgT_þhÈ_þi¨_þjœ_þk_þl|_þlø_þmÌ_þnø_þoP_þrt_þs<_þs|_þsˆ_þsÈ_þsà_þyÀ_þzD_þzØ_þ{`_þ{¸_þ~Ä_þp_þ€h_þ€¸_þ°_þƒð_þ…_þ…Ð_þ†Ø_þ‡8_ÿ_ÿ”_ÿÀ_ÿH_ÿL_ÿP_ÿT_ÿX_ÿ\_ÿ`_ÿd_ÿh_ÿl_ÿp_ÿt_ÿx_ÿ|_ÿ€_ÿ„_ÿˆ_ÿŒ_ÿ_ÿ”_ÿ˜_ÿœ_ÿ _ÿ¤_ÿp_ÿt`Ãp`È_üIp_üI€_üI_üI _üI°_üIÀ_üIÐ_üIà_üIð_üJ_üJ_üJ _üJ0_üJ@_üJP_üJ`_üJp_üJ€_üJ_üJ _üJ°_üJÀ_üJÐ_üJà_üJð_üK_üK_üK _üK0_üK@_üKP_üK`_üKp_üK€_üK_üK _üK°_üKÀ_üKÐ_üKà_üKð_üL_üL_üL _üL0_üL@_üLP_üL`_üLp_üL€_üL_üL _üL°_üLÀ_üLÐ_üLà_üLð_üM_üM_üM _üM0_üM@_üMP_üM`_üMp_üM€_üM_üM _üM°_üMÀ_üMÐ_üMà_üMð_üN_üN_üN _üN0_üN@_üNP_üN`_üNp_üN€_üN_üN _üN°_üNÀ_üNÐ_üNà_üNð_üO_üO_üO _üO0_üO@_üOP_ücä_üeì_ük4_ülÔ_ün´_üqÄ_üt0_üv_üx,_üzH_ü|d_üŒ_ü„È_ü…Ø_ü†è_ü‰_ü‹´_üŒÄ_üÔ_üT_ü“d_ü–Œ_ü˜ø_ü›d_üž4_üŸ´_ü Ä_ü¡Ô_ü£t_ü¤ô_ü¦t_ü§ô_ü©_ü«_ü¬_ü®_ü¯ð_ü±_ü²_ü³ _ü´¼_ü¸,_üº°_ü¾H_ü¿€_ÿ³p ó&Ú0Ð`—üª$´2¸pElUÜê]¼fad_üO`ÿÿÿìÿÿÿÿ0(C_üRtÅÿÿÿÿJJ/_üR|ÇÿÿÿÿX_0_üR¤ Ñÿÿÿÿd|5_üS, óÿÿÿüÿÿÿÿ ‘D_üT°Tÿÿÿÿ™™c_üT¸Vÿÿÿüÿÿÿÿ ¢¯d_ücä!ÿÿÿÔÿÿÿÿH¸Å_üeì£ÿÿþÿÿÿÿÉ-_ük4õÿÿÿÜÿÿÿÿ@ |_ülÔ]ÿÿÿÔÿÿÿÿH!-–_ün´ÕÿÿÿÜÿÿÿÿ`1I±_üqÄ™ÿÿþ,ÿÿÿÿMaÝ_üt0 4ÿÿÿÔÿÿÿÿHeq_üv" ¬ÿÿÿÔÿÿÿÿHu_üx,$ 3ÿÿÿÔÿÿÿÿH‘©>_üzH& ºÿÿÿÔÿÿÿÿH­Å]_ü|d( AÿÿÿÄÿÿÿÿXÉò|_üŒ* ÿþy ÿÿÿÿ‡(ö#ª_ü„È, Zÿÿÿäÿÿÿÿ8(2ê_ü…Ø. žÿÿÿäÿÿÿÿ86@ý_ü†è0 â?ÿÿÿäÿÿÿÿPDX_ü‰2hÿþy,ÿÿÿÿ†ø\v._ü‹´4ÿÿÿäÿÿÿÿ8{…S_üŒÄ6Yÿÿÿäÿÿÿÿ8‰“f_üÔ8ÿÿÿÜÿÿÿÿ@—¨y_üT:ýÐÿÿÿþ¬ÿÿÿÿ˜¬Ô’_ü“d<ÐÿÿÿýÄÿÿÿÿ€Ù÷Ò_ü–Œ>Ëÿÿÿü¬ÿÿÿÿü _ü˜ø@fÿÿÿü¤ÿÿÿÿ˜-1_ü›dBÿÿÿÌÿÿÿÿP2@U_üž4DµÿÿÿÜÿÿÿÿ@EPx_üŸ´Fÿÿÿäÿÿÿÿ8T^_ü ÄHYÿÿÿäÿÿÿÿ8bl£_ü¡ÔJÿÿÿÜÿÿÿÿ@p¶_ü£tLÿÿÿÜÿÿÿÿ@…Ð_ü¤ôNeÿÿÿÜÿÿÿÿ@”Ÿè_ü¦tPÅÿÿÿÜÿÿÿÿ@£®_ü§ôR%ÿÿÿÜÿÿÿÿ@²½_ü©TŒÿÿÿÜÿÿÿÿ@ÁÌ1_ü«VìÿÿÿÜÿÿÿÿ@ÐÛI_ü¬XLÿÿÿÜÿÿÿÿ@ßêa_ü®Z¬ÿÿÿÔÿÿÿÿHîúy_ü¯ð\$ÿÿÿäÿÿÿÿ8þ”_ü±^hÿÿÿäÿÿÿÿ8 §_ü²`¬ÿÿÿÜÿÿÿÿ@%º_ü³ bðÿÿÿÜÿÿÿÿ@)4Í_ü´¼dWÿÿþ,ÿÿÿÿ8Xæ_ü¸,f3ÿÿþ<ÿÿÿÿè\u_üº°hÔÿÿÿ¼ÿÿÿÿhz˜=_ü¾Hjºÿÿÿìÿÿÿÿ0ªx_ü¿€lÿÿÿìÿÿÿÿ0®·”_üÀXn>ÿÿþÌÿÿÿÿX¾ò¥_üÌÔÿÿÿüÿÿÿÿ › _üÍd$ÿÿÿ|ÿÿÿÿ ²Â _üÎheÿÿÿ\ÿÿÿÿÈÐ_üÔX áÿÿþÔÿÿÿÿX'k’_üÛ Žÿÿÿäÿÿÿÿ8sŸ_üßÿÿÿÔÿÿÿÿP¨ð7_üäˆíÿÿÿìÿÿÿÿ0ö˜_üçT ÿÿÿìÿÿÿÿ0 8¾_üép'ÿÿÿäÿÿÿÿ8AoÜ_üí¬6ÿÿÿìÿÿÿÿ0v_üïÀ»ÿÿÿäÿÿÿÿ8–Ä/_üóü ÊÿÿÿÔÿÿÿÿHÍf_üø  óÿÿÿìÿÿÿÿ0.·_üúÔ" €ÿÿÿäÿÿÿÿ85\Ó_üþ„$ lÿÿÿÜÿÿÿÿ@f¸_ýh' ¥ÿÿÿÌÿÿÿÿ`À S_ýà+Ãÿÿÿìÿÿÿÿ0*«_ý ,-VÿÿÿÜÿÿÿÿP2nÇ_ý °17ÿÿÿäÿÿÿÿ8už _ý43ÿÿÿÔÿÿÿÿX¦ì5_ýt6(ÿÿÿôÿÿÿÿ(÷ _ýT8 ÿÿÿìÿÿÿÿ07š_ý<;Zÿÿÿäÿÿÿÿ8?kÂ_ýÐ=?ÿÿÿÿy‰í_ýT? Ðÿÿÿÿÿÿÿÿ(™»_ý!Aÿÿÿ¤ÿÿÿÿxÉ#,_ý(dCäÿÿûÌÿÿÿÿX,y¨_ý/¸G¹ÿÿÿäÿÿÿÿ8ƒ¶!_ý3ÀI»ÿÿÿÿ½¾W_ý3àKÃ?ÿÿÿÄÿÿÿÿpÇ+Y_ý: ONÿÿÿÿ12Ð_ý:$QTÿÿþÜÿÿÿÿ@9tÒ_ý?@T›ÿÿÿäÿÿÿÿ8z¦$_ýB¼Wzÿÿÿäÿÿÿÿ8¬Ñ^_ýEÈY=ÿÿÿÌÿÿÿÿPç…_ýID[ÿÿÿüÿÿÿÿ )º_ýIÔ]@ÿÿÿüÿÿÿÿ 6CÆ_ýJh_eÿÿÿôÿÿÿÿ8JvÓ_ýMPb ÿÿÿôÿÿÿÿ8}¥û_ýOÿÿÿÿüÿÿÿÿ@œÃ_ýQ$eÿÿÿüÿÿÿÿ8×-_ýR Äÿÿÿôÿÿÿÿ(#h_ýSX òÿÿÿüÿÿÿÿ .3w_ýS¤ ÿÿÿüÿÿÿÿ @A‚_ýSô ÿÿÿüÿÿÿÿ NOŠ_ýTD-ÿÿÿôÿÿÿÿ(’_ýU$eÿÿÿôÿÿÿÿ()5¨_ýUÈŽÿÿÿôÿÿÿÿ(=N¶_ýVÜÓ?ÿÿÿüÿÿÿÿ8VhÎ_ýX4)?ÿÿÿüÿÿÿÿ8p‚ì_ýYŒÿÿÿüÿÿÿÿ8Š¡ _ý[á?ÿÿÿüÿÿÿÿ8©¿-_ý\l7?ÿÿÿüÿÿÿÿ8ÇÙM_ý]Äÿÿÿüÿÿÿÿ8áôk_ý^ü!Û?ÿÿÿüÿÿÿÿ8üŒ_ý`à#Tÿÿÿüÿÿÿÿ8#Aº_ýb¬%Çÿÿÿüÿÿÿÿ LTå_ýc'áÿÿÿäÿÿÿÿ8g‹ó_ýdl)7ÿÿÿôÿÿÿÿ(“¢_ýe\+s?ÿÿÿüÿÿÿÿ8ª¼0_ýf¨-Æ?ÿÿÿüÿÿÿÿ8ÄÖI_ýgô/?ÿÿÿüÿÿÿÿ8Þðb_ýi@1l?ÿÿÿüÿÿÿÿ8ø {_ýjŒ3¿?ÿÿÿüÿÿÿÿ8$”_ýkØ5?ÿÿÿüÿÿÿÿ8,>­_ým$7e?ÿÿÿüÿÿÿÿ8FXÆ_ýnp9¸ÿÿÿüÿÿÿÿ8`rß_ýo ;?ÿÿÿüÿÿÿÿ8z™_ýqx=zÿÿÿüÿÿÿÿ8¡¿%_ýs4?éÿÿÿÿËÌP_ýs<Aëÿÿÿôÿÿÿÿ(ÔèQ_ýt(C &ÿÿÿôÿÿÿÿ(óüd_ýtàE Tÿÿÿüÿÿÿÿ s_ýu0G hÿÿÿäÿÿÿÿH {_ýuøI šÿÿÿäÿÿÿÿH$3_ývÀK Ìÿÿÿüÿÿÿÿ 9>¥_ýw M ßÿÿÿüÿÿÿÿ FG°_ýw\O óÿÿÿäÿÿÿÿHO]¸_ýxDQ -ÿÿÿìÿÿÿÿ@erÇ_ýyS bÿÿÿÿzzÖ_ýy U dÿÿÿÿŽ×_ýy(W fÿÿÿÿš›Ø_ýy0Z hÿÿÿÿ÷Ù_ýy´\ ‰ÿÿÿôÿÿÿÿ(ä_ýz8^ ªÿÿÿÿí_ýzx` ºÿÿÿäÿÿÿÿ8)cö_ý}\b sÿÿÿìÿÿÿÿ0j…7_ý¨d ÿÿÿäÿÿÿÿ8Œ·Y_ý‚Øf Òÿÿÿìÿÿÿÿ0½ÑŽ_ý„¸h Jÿÿÿäÿÿÿÿ8ئ_ýˆ jÿÿÿìÿÿÿÿ0 Ù_ý‰ìl—ÿÿÿìÿÿÿÿ0&Bñ_ýŒTn1ÿÿÿìÿÿÿÿ0L{_ý¬pÿÿÿäÿÿÿÿ8ƒ£E_ý’drµÿÿÿäÿÿÿÿ8«Ën_ý•tcÿÿÿäÿÿÿÿ8Óó—_ý—Ôvÿÿÿäÿÿÿÿ8û À_ýšŒx¿ÿÿÿäÿÿÿÿ8 # Cé_ýDzmÿÿÿäÿÿÿÿ8 K k_ýŸü|ÿÿÿäÿÿÿÿ8 s “;_ý¢´~Éÿÿÿäÿÿÿÿ8 › »d_ý¥l€wÿÿÿäÿÿÿÿ8 à ã_ý¨$‚%ÿÿÿäÿÿÿÿ8 ë ¶_ýªÜ„Óÿÿÿäÿÿÿÿ8  3ß_ý­”†ÿÿÿäÿÿÿÿ8 ; [_ý°Lˆ/ÿÿÿäÿÿÿÿ8 c ƒ1_ý³ŠÝÿÿÿäÿÿÿÿ8 ‹ «Z_ýµ¼Œ‹ÿÿÿäÿÿÿÿ8 ³ Óƒ_ý¸tŽ9ÿÿÿäÿÿÿÿ8 Û û¬_ý»,çÿÿÿäÿÿÿÿ8  #Õ_ý½ä’•ÿÿÿäÿÿÿÿ8 + Kþ_ýÀœ”Cÿÿÿäÿÿÿÿ8 S s'_ýÃT–ñÿÿÿäÿÿÿÿ8 { ›P_ýÆ ˜Ÿÿÿÿäÿÿÿÿ8 £ Ãy_ýÈÄšMÿÿÿäÿÿÿÿ8 Ë ë¢_ýË|œûÿÿÿÜÿÿÿÿ@ ò Ë_ýÎHž®ÿÿÿäÿÿÿÿ8  ;ø_ýÐð  XÐÿÿÿÿŒÿÿÿÿ° C _ýÙl£"wÿÿÿôÿÿÿÿ( + ; _ýÙ°¥"ˆÐÿÿÿÿ´ÿÿÿÿˆ C Ø _ýàĨ$Mÿÿÿôÿÿÿÿ( ã ó Â_ýáª$^ÿÿÿìÿÿÿÿ0 ú Ï_ýã|¬$ûÿÿÿìÿÿÿÿ0!A ô_ýæ ÿÿÿÿƒ_ýæ ÿÿÿüÿÿÿÿ ’_ýæ¨$ÿÿÿüÿÿÿÿ(ª _ýçŒ]ÿÿÿÿ°Å_ýçøxÿÿÿÿÌì,_ý謥?ÿÿÿüÿÿÿÿ8ôF_ýêÿÿÿÿüÿÿÿÿ [_ýê¸(ÿÿÿüÿÿÿÿ(%<g_ýì$ƒÿÿÿüÿÿÿÿ HS{_ýìȬÿÿÿÿ_e†_ýí8!Èÿÿÿüÿÿÿÿ(qˆ‹_ýîD# ÿÿÿôÿÿÿÿ0Ž–Ÿ_ýï,%Eÿÿÿüÿÿÿÿ(œ£«_ýïà'rÿÿÿ,ÿÿÿÿ¸]·_ýø@*ŠÿÿþDÿÿÿÿàqDk_þp-Öÿÿþtÿÿÿÿ¸VÓ _þÐ0.ÿÿþäÿÿÿÿ8âAr_þ Ð2îÿÿÿÔÿÿÿÿPQç£_þ¨4 äÐÿÿÿüÔÿÿÿÿpûe+_þ#6^?ÿÿÿüÿÿÿÿ8t›s_þ&$8ÿÿþôÿÿÿÿ@©.£_þ*¸;(ÿÿÿüÿÿÿÿ(9@_þ+€=Zÿÿÿœÿÿÿÿ€R ( _þ5äAóÿÿÿüÿÿÿÿ  . 5_þ6LC ÿÿÿÿ < =_þ6TEÿÿÿäÿÿÿÿ8 I ¤_þ9ðGöÿÿÿÌÿÿÿÿP ¬ ”b_þEôI÷ÿÿÿüÿÿÿÿ  › ¤m_þGK@ÿÿÿÜÿÿÿÿ@ « Ú_þJðO6ÿÿþ´ÿÿÿÿh ã lÒ_þSxRXÿÿÿôÿÿÿÿ( x …`_þT`T’ÿÿÿôÿÿÿÿ( ¡s_þU8WÈÿÿÿüÿÿÿÿ  ® ¯Œ_þV Yÿÿÿäÿÿÿÿ8 ½ ™_þZ([ÿÿÿäÿÿÿÿ8 $ wè_þ^ ÿÿÿüÿÿÿÿ •_þ^°)ÿÿÿôÿÿÿÿ(œ© _þ_” bÿÿÿüÿÿÿÿ ¯´_þ` „ÿÿÿÿ»Â,_þ`  ¥ÿÿÿüÿÿÿÿ(ÇÐ5_þaTÒÿÿÿÜÿÿÿÿHÛLA_þgHOÿÿÿüÿÿÿÿ(Yr³_þh¼¬ÿÿÿüÿÿÿÿ ƒÉ_þiœÿÿÿüÿÿÿÿ k‚_þj=ÿÿÿÿˆ’_þk Zÿÿÿôÿÿÿÿ(žÂ%_þlp µÿÿÿÿÎÔ>_þlìÔÿÿÿüÿÿÿÿ ßïH_þmÀ ÿÿÿüÿÿÿÿ ÿX_þnìTÿÿÿÿj_þoDj?ÿÿÿüÿÿÿÿH%Kn_þq¼ÿÿÿüÿÿÿÿ0QZ”_þrt6ÿÿÿÿ`g¡_þr¬Dÿÿÿüÿÿÿÿ(nt¦_þs<ÿÿÿÿuz_þsd ÿÿÿÿ‚…_þs|ÿÿÿÿ _þsˆÿÿÿÿ–— _þs´ ÿÿÿÿ¡¢_þsÈ #ÿÿÿÿ©ª_þsÔ&ÿÿÿüÿÿÿÿ(ò_þuÀ¡ÿÿÿôÿÿÿÿ8/F4_þwTÿÿÿüÿÿÿÿ0WzJ_þy,|ÿÿÿüÿÿÿÿ(†Œf_þy´žÿÿÿÿ—žp_þz8¿ÿÿÿüÿÿÿÿ ¬°x_þzÌäÿÿÿüÿÿÿÿ0»Æ€_þ{Tÿÿÿüÿÿÿÿ Ò؆_þ{¬!Ðÿÿÿÿüÿÿÿÿ@òŠ_þ}Ð%¥ÿÿÿüÿÿÿÿ *±_þ~¸(ßÿÿÿüÿÿÿÿ 5KÀ_þd+ ÿÿÿìÿÿÿÿ0VcÏ_þ€\.Hÿÿÿüÿÿÿÿ oâ_þ€¬1\ÿÿÿüÿÿÿÿ¸Ëó_þ¤:šÿÿÿüÿÿÿÿ 0? _þ‚|ÿÿÿüÿÿÿÿ Vm_þƒp=ÿÿÿÿt~_þƒäZÿÿÿôÿÿÿÿ(‘°%_þ… £ÿÿÿüÿÿÿÿ ¾ÏC_þ…ÄÒÿÿÿüÿÿÿÿ(ÞûZ_þ†Ìÿÿÿüÿÿÿÿ BI_þ‡ÿÿÿÿPR_þ‡,ÿÿÿüÿÿÿÿ X[ , q_ÿ8Àoÿÿ_ÿOÿÿ`¿`oÿÿ'_üO`8 ' 1_üRt8 1 9_üR|8 9( I_üR¤8 Iˆ U_üS,8 c`¿doÿÿU„ g_üT°8 g p_üT¸8 y_üO` p, ƒ_ücä ƒ _üeì H ´_ük4 !´  Î_ülÔ #Îà ä_ün´ %ä û_üqÄ 'ûl _üt0 )à +_üv ++ "B_üx, -B $X_üzH /X &o_ü|d 1o( (†_üŒ 3†< *_ü„È 5 ,µ_ü…Ø 7µ .Ì_ü†è 9Ì 0â_ü‰ ;â´ 2ú_ü‹´ =ú 4_üŒÄ ? 6&_üÔ A&€ 8@_üT C@ :W_ü“d EW( <o_ü–Œ Gol >‰_ü˜ø I‰l @£_ü›d K£Ð B¼_üž4 M¼€ DÕ_üŸ´ OÕ Fî_ü Ä Qî H_ü¡Ô S  J_ü£t U€ L7_ü¤ô W7€ NP_ü¦t YP€ Pf_ü§ô [fœ R}_ü© ]}€ T”_ü« _”€ V¯_ü¬ a¯€ XÇ_ü® cÇà Zß_ü¯ð eß \û_ü± gû ^_ü² i `/_ü³  k/œ bG_ü´¼ mGp d__ü¸, o_„ f|_üº° q|˜ h–_ü¾H s–8 j­_ü¿€ u­Ø lÈ_üÀX wÈ p n ,  ,  ,  ,  ,  ,  ,  ,  ,  , f_ÿOÿÿ`¿poÿÿ_ÿHOÿÿ&_üÌÔ8 & 0_üÍd 0 8_üÎh 8ð E_üÔX P_ÿLOÿÿV_ÿPOÿÿ\_ÿTOÿÿE´ b_üÛ  b m_üß mt z_üäˆ zÌ ƒ_üçT ƒ Œ_üép Œ< —_üí¬ !—  _üïÀ # < «_üóü %µ_ÿXOÿÿ«¤ ¹_üø  '¹4 Ã_üúÔ )ð "Í_üþ„ +Ø_ÿ`OÿÿÍä $Ü_ýh -æ_ÿhOÿÿê_üÌÔ Üx 'ï_ýà /ïL +ú_ý , 1_ÿpOÿÿ_üÌÔ ú„ - _ý ° 3 „ 1_ý4 5 _üÌÔ @ 3%_ýt 7%à 6/_ýT 98_ÿxOÿÿ/è 8<_ý< ;<” ;H_ýÐ8 =H„ =O_ýT8 ?OÀ ?\_ý! A\P Af_ý(d Cp_ÿ€Oÿÿv_ÿ„OÿÿfT C|_ý/¸ E| G‡_ý3À G‡ I•_ý3à IŸ_üÌÔ £_üÌÔ •, K¨_ý:  K¨ O´_ý:$ M¿_ÿˆOÿÿ´ QÃ_ý?@ OÒ_ÿŒOÿÿÃ| T×_ýB¼ Q× Wæ_ýEÈ Sæ| Yó_ýID Uó [_ýIÔ W” ] _ýJh Y_üÌÔ  è __ýMP [*_üÌÔ ( b ,  ,  ,  , ¯_ÿ˜Oÿÿ`Ápoÿÿ_ýO8 ” #_ýQ$8 #| +_ýR 8 +¸ 8_ýSX8 8L E_ýS¤8 EP Q_ýSô8 QP ]_ýTD8 ]à j_ýU$8 j¤ w_ýUÈ8 w „_ýVÜ8 !„X ’_ýX48 #’X ž_ýYŒ8 %žˆ «_ý[8 '«X ¹_ý\l8 )¹X Ç_ý]Ä8 +Ç8 Ö_ý^ü8 -Öä !ã_ý`à8 /ãÌ #ñ_ýb¬8 1ñh %þ_ýc8 3þX ' _ýdl8 5 ð )_ýe\8 7L +&_ýf¨8 9&L -2_ýgô8 ;2L /?_ýi@8 =?L 1N_ýjŒ8 ?NL 3[_ýkØ8 A[L 5i_ým$8 CiL 7w_ýnp8 Ew0 9†_ýo 8 G†Ø ;“_ýqx8 I“¼ =¡_ýs48 K¡ ?®_ýs<8 M®ì Aº_ýt(8 Oº¸ CÇ_ýtà8 QÇP EÔ_ýu08 SÔÈ Gà_ýuø8 UàÈ Ií_ývÀ8 WíL Kú_ýw 8 YúP M_ýw\8 [è O_ýxD8 ]Ô Q _ýy8 _  S-_ýy 8 a- U9_ýy(8 c9 WC_ÿÔOÿÿL_ýy0 eL„ ZU_ýy´ gU„ \^_ýz8 i^@ ^g_ýzx kgä `q_ý}\ mqL b}_ý¨ o}0 d‰_ý‚Ø q‰à f•_ý„¸ s•T h¡_ýˆ  u¡à j­_ý‰ì w­h lº_ýŒT yºX nÆ_ý¬ {Ƹ pÑ_ý’d }Ѹ rÝ_ý• ݸ tè_ý—Ô è¸ vô_ýšŒ ƒô¸ x_ýD …¸ z _ýŸü ‡ ¸ |_ý¢´ ‰¸ ~(_ý¥l ‹(¸ €4_ý¨$ 4¸ ‚A_ýªÜ A¸ „K_ý­” ‘K¸ †V_ý°L “V¸ ˆa_ý³ •a¸ Šm_ýµ¼ —m¸ Œx_ý¸t ™x¸ Ž„_ý», ›„¸ _ý½ä ¸ ’_ýÀœ Ÿ¸ ”©_ýÃT ¡©¸ –¶_ýÆ  £¶¸ ˜Ã_ýÈÄ ¥Ã¸ šÑ_ýË| §ÑÌ œÛ_ýÎH ©Û¨ žæ_ýÐð «ñ_ýO æ|  ö_ýÙl ­öD £_ýÙ° ¯ _ýO  ¥_ýàÄ ±D ¨_ýá ³t ª*_ýã| µ* ¬ ,  ,  , ^ _ÿ¨Oÿÿ_ÿàOÿÿ_ÿäOÿÿ'`àoÿÿ.`Å oÿÿ9_ÿèOÿÿE_ÿìOÿÿL_ÿðOÿÿS_ÿôOÿÿ[`Űoÿÿc_ÿøOÿÿm_ÿüOÿÿw_ýæ w ‚_ýæ  ‚ˆ Ž_ýæ¨ Žä ›_ýçŒ ›l ¦_ýçø ¦´ ´_ýè¬ ´h À_ýê À¤ Ê_ýê¸ Êl ×_ýì$ פ ã_ýìÈ !ãp î_ýí8 #î !ù_ýîD %ùè #_ýï, '´ %_ýïà )_ÿOÿÿ` '_ýø@8 ++_ÿOÿÿ 0 *2_þp8 -@_ÿOÿÿ2` -G_þÐ8 /G 0O_þ Ð 1OØ 2W_þ¨ 3Wè 4]_þ# 5]” 6g_þ&$ 7n_ýæ g” 8s_þ*¸ 9sÈ ;|_þ+€ ;‡_ýæ Œ_ýæ | d =’_þ5ä =’h A_þ6L ? C¬_þ6T A¬œ E·_þ9ð C·  GÂ_þEô EÂ$ IÍ_þG GØ_ÿOÿÿß_ÿOÿÿÍØ Kå_þJð Iô_ýæ åˆ Où_þSx Kùè R_þT` M _ÿ OÿÿØ T_þU8 Oè W_þV  Q Y&_þZ( S&Ô [ ,  ,  ,  ,  , _ÿ0Oÿÿ`Æ0oÿÿ_ÿhOÿÿ%_ÿlOÿÿ._þ^  .¤ 9_þ^° 9ä C_þ_” Cˆ N_þ` N„ Y_þ`  Y´ d_þaT dô n_þgH nt x_þh¼ xà  , _ÿxOÿÿ`È0oÿÿ_ÿ°Oÿÿ(`Ê0oÿÿ3_ÿ´Oÿÿ=_þiœ =ô G_þj Gt Q_þk Y`ÊœoÿÿQl d_þlp d| m_þlì w_þiœ mÔ }_þmÀ }, ˆ_þnì ˆX ‘_þoD ‘x œ_þq¼ œ¸ §_þrt !§8 °_þr¬ #°„  , >_ÿÀOÿÿ_þs< ( _þsd  '_þs| ' /_þsˆ /, 8_þs´ 8 A_þsÈ A I_þsÔ S_ÿüOÿÿIì X_þuÀ X” c_þwT cØ p_þy, !pˆ {_þy´ #{„ ƒ_þz8 %ƒ” _þzÌ '¡`Ê oÿÿˆ ¥_þ{T )²`ÊÀoÿÿ¥X ¶_þ{¬ +¿_ÿOÿÿÃ_ÿOÿÿ¶$ !È_þ}Ð -Ó_ÿOÿÿÈè %Ö_þ~¸ /á_ÿ OÿÿÖ¬ (ä_þd 1ï_ÿOÿÿäø +ò_þ€\ 3ÿ`ÊÐoÿÿòP ._þ€¬ 5`Ëpoÿÿ_ÿOÿÿø 1_ÿOÿÿ%_ÿpOÿÿ._ÿÜOÿÿ7_ÿøOÿÿ@_ÿ<OÿÿL_þ¤ 7W`ÏpoÿÿLØ : , _ÿpOÿÿ`Ïoÿÿ_ÿ¨Oÿÿ'_þ‚|8 'ô 7_þƒp8 7t G_þƒä N_þ‚| G$ S_þ… [_þ‚| S¼ `_þ…Ä `  ,  , _ÿ°Oÿÿ_þ†Ì L _þ‡  #_þ‡, #T   !    "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnp !  !  !  !  !  !  !  !  !  !   "$'+-1368;=?ACGIKOQTWY[]_be !  !  !  !    !#%')+-/13579;=?ACEGIKMOQSUWY\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž £¥¨ª¬® !  !  ! !#%'*-02468;=ACEGIKORTWY[] !  !  !  !  !     !    !   !%(+.15= !   !  ! Pvm.cg_bufferrecvf_callbackolmatchrecvf_fooderefHVstring_byte_cntstring_typebuffer_stringcntnot_hereconstantnot_thereXS_Parallel__Pvm_constantXS_Parallel__Pvm_spawnXS_Parallel__Pvm_initsendXS_Parallel__Pvm_sendXS_Parallel__Pvm_psendXS_Parallel__Pvm_mcastXS_Parallel__Pvm_sendsigXS_Parallel__Pvm_probeXS_Parallel__Pvm_recvXS_Parallel__Pvm_nrecvXS_Parallel__Pvm_trecvXS_Parallel__Pvm_precvXS_Parallel__Pvm_parentXS_Parallel__Pvm_mytidXS_Parallel__Pvm_packXS_Parallel__Pvm_unpackXS_Parallel__Pvm_exitXS_Parallel__Pvm_haltXS_Parallel__Pvm_catchoutXS_Parallel__Pvm_tasksXS_Parallel__Pvm_configXS_Parallel__Pvm_addhostsXS_Parallel__Pvm_delhostsXS_Parallel__Pvm_bufinfoXS_Parallel__Pvm_freebufXS_Parallel__Pvm_getrbufXS_Parallel__Pvm_getsbufXS_Parallel__Pvm_mkbufXS_Parallel__Pvm_setrbufXS_Parallel__Pvm_setsbufXS_Parallel__Pvm_killXS_Parallel__Pvm_mstatXS_Parallel__Pvm_pstatXS_Parallel__Pvm_tidtohostXS_Parallel__Pvm_getoptXS_Parallel__Pvm_setoptXS_Parallel__Pvm_reg_hosterXS_Parallel__Pvm_reg_taskerXS_Parallel__Pvm_reg_rmXS_Parallel__Pvm_perrorXS_Parallel__Pvm_notifyXS_Parallel__Pvm_recv_notifyXS_Parallel__Pvm_hostsyncXS_Parallel__Pvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvm/usr/local/lib/perl5/IP22-irix/5.002/CORE/perl.h/usr/local/lib/perl5/IP22-irix/5.002/CORE/proto.h/usr/include/ctype.h/usr/include/errno.h/usr/include/string.h/usr/local/lib/perl5/IP22-irix/5.002/CORE/handy.h/usr/local/public/parallel/pvm3/include/pvm3.h/usr/include/stdlib.h/usr/include/stdio.h../lpvmgen.crcsidpvmtxtrecv_matchdef_matchlpvmerrpvm_addhostspvm_confignhostnarchhlistpvm_deletepvm_delhostspvm_exitpvm_haltpvm_insertpvm_killpvm_lookuppvm_mcastztvpvm_mytidpvm_mstatpvm_notifyztvpvm_nrecvztvdonepvm_parentpvm_probeztvdonepvm_pstatpvm_recvdonepvm_recvfpvm_sendztvpvm_sendsigbubblepvmgetenvarspvm_spawnpvm_taskstlistntaskpvm_ticklepvm_tidtohostpvm_trecvfnddonepvm_versionpvm_reg_rmhinpvm_reg_taskerimitpvm_reg_hosterpvm_hostsyncpvm_gettmaskpvm_settmaskpvm_exportdonepvm_unexportdone../pvmumbuf.h/usr/include/strings.h/usr/include/sys/time.h../lpvmpack.crcsidpvmtxtbytepkbyteupkenc_raw_initdec_raw_initenc_raw_anydec_raw_anyenc_xdr_initenc_xdr_stepenc_xdr_byteenc_xdr_shortenc_xdr_intenc_xdr_longenc_xdr_ulongenc_xdr_floatenc_xdr_doubleenc_xdr_cplxenc_xdr_dcplxdec_xdr_initdec_xdr_stepdec_xdr_bytedec_xdr_shortdec_xdr_intdec_xdr_longdec_xdr_ushortdec_xdr_uintdec_xdr_ulongdec_xdr_floatdec_xdr_doubledec_xdr_cplxdec_xdr_dcplxenc_inp_initenc_inp_anyenc_foo_initenc_foo_byteenc_foo_intenc_foo_longdec_foo_initdec_foo_bytedec_foo_intdec_foo_uintdec_foo_longenc_foo_errenc_alienencodersenctovecenc_stepdec_steppvm_mkbufpvm_freebufpvm_setsbufpvm_getsbufpvm_setrbufpvm_getrbufpvm_initsendpvm_bufinfopvm_pkbytepvm_upkbytepvm_pkcplxpvm_upkcplxpvm_pkdcplxpvm_upkdcplxpvm_pkdoublepvm_upkdoublepvm_pkfloatpvm_upkfloatpvm_pkintpvm_pkuintpvm_upkintpvm_upkuintpvm_pklongpvm_pkulongpvm_upklongpvm_upkulongpvm_pkshortpvm_pkushortpvm_upkshortpvm_upkushortpvm_pkstrpvm_upkstrpvm_vpackfhorkpvm_packfpvm_vunpackfhorkpvm_unpackfpvm_getmwidpvm_setmwid../pvmfrag.h/usr/include/rpc/xdr.h../lpvm.crcsiddebugmaskmxfersinglepvmtxtpvmourinetpvmrouteoptttlisttopvmdpvmnfdspvmrfdspvmtrcmidpvmtrcsbfpvmbailoutpvmlogerrorpvmlogperrorpvm_fd_addpvm_fd_deleteprint_fdsetttpcb_newttpcb_deletettpcb_creatttpcb_findttpcb_deadttpcb_dumpttpcb_dumpallmrouteztvpvm_tc_conreqlingerpvm_tc_conacklingerpvmmctlmxinputmxfermsendrecvmksocsbailunmksocspvmbeataskbailbail2pvmendtaskcheck_for_exitpvm_getoptpvm_setoptpvm_perrorpvm_getfdsfdlistfdlenpvm_start_pvmdbailtev_begintev_finztvtev_do_tracepvm_precvpvm_psend/usr/include/sys/socket.h/usr/include/fcntl.h/usr/include/sys/stat.h/usr/include/sys/signal.h../lpvmcat.crcsidpvmtxttobuflistoutlogfftobuf_inittobuf_newtobuf_freetobuf_findtobuf_dumppvmclaimopvmflushopvm_catchout../pvmumbuf.crcsidpvmtxtpvmmidhfreefreeumbufsnumumbufsumbuf_getumbuf_putmid_newnxtmidhsizmid_freeumbuf_newnomemumbuf_freemidtobufumbuf_dumpumbuf_listsetublenumbuf_crc../pvmcruft.crcsidpvmput32pvmput16pvmput8pvmget32pvmget16pvmget8pvmputenvmyenpvmcopyenvpvmenvinsertpvmfreeenvpvmxtoihex_inadportinadport_decimalbufinadport_hexbufpvmhdumpbufbuflpvmgethomehdpvmgetrootrdpvmgetpvmdpppvmdsockfilebufpvmcrcappendcrctbloncetaglist1taglist2taglist3taglist4nametaglistpvmnametagbuf../pvmfrag.crcsidfreefragsnumfragsfrag_get_headerfrag_put_headerfr_newoopsfr_snewoopsfr_unref../pvmdabuf.h../pvmdabuf.crcsidda_newda_refda_unref.text.init.fini.data.sdata.rdata.sbss.bssstack_sppush_scopesave_inttmps_floortmps_ixmarkstack_ptrmarkstack_maxmarkstack_growstack_basestack_maxstack_growsv_2mortalnewSVivperl_call_svcroakSvsv_2ivfree_tmpspop_scope__ctypeerrnostrcmpXS_Parallel__Pvm_constantnasv_2pvsv_newmortalsv_setnvXS_Parallel__Pvm_spawnav_lensafemallocmemsetav_fetchpvm_spawnsafefreeXS_Parallel__Pvm_initsendpvm_initsendsv_setivXS_Parallel__Pvm_sendpvm_sendXS_Parallel__Pvm_psendpvm_psendXS_Parallel__Pvm_mcastpvm_mcastXS_Parallel__Pvm_sendsigpvm_sendsigXS_Parallel__Pvm_probepvm_probeXS_Parallel__Pvm_recvpvm_recvXS_Parallel__Pvm_nrecvpvm_nrecvXS_Parallel__Pvm_trecvpvm_trecvXS_Parallel__Pvm_precvpvm_precvstrtoknewSVpvatoinewSVnvatofXS_Parallel__Pvm_parentpvm_parentXS_Parallel__Pvm_mytidpvm_mytidXS_Parallel__Pvm_packpvm_pkstrXS_Parallel__Pvm_unpackpvm_upkstrXS_Parallel__Pvm_exitpvm_exitXS_Parallel__Pvm_haltpvm_haltXS_Parallel__Pvm_catchout__iobsv_2iopvm_catchoutXS_Parallel__Pvm_taskspvm_tasksstrcpynewHVhv_storenewRVXS_Parallel__Pvm_configpvm_configXS_Parallel__Pvm_addhostspvm_addhostsXS_Parallel__Pvm_delhostspvm_delhostsXS_Parallel__Pvm_bufinfopvm_bufinfoXS_Parallel__Pvm_freebufpvm_freebufXS_Parallel__Pvm_getrbufpvm_getrbufXS_Parallel__Pvm_getsbufpvm_getsbufXS_Parallel__Pvm_mkbufpvm_mkbufXS_Parallel__Pvm_setrbufpvm_setrbufXS_Parallel__Pvm_setsbufpvm_setsbufXS_Parallel__Pvm_killpvm_killXS_Parallel__Pvm_mstatpvm_mstatXS_Parallel__Pvm_pstatpvm_pstatXS_Parallel__Pvm_tidtohostpvm_tidtohostXS_Parallel__Pvm_getoptpvm_getoptXS_Parallel__Pvm_setoptpvm_setoptXS_Parallel__Pvm_reg_hosterpvm_reg_hosterXS_Parallel__Pvm_reg_taskerpvm_reg_taskerXS_Parallel__Pvm_reg_rmpvm_reg_rmXS_Parallel__Pvm_perrorpvm_perrorXS_Parallel__Pvm_notifypvm_notifyXS_Parallel__Pvm_recv_notifypvm_upkintXS_Parallel__Pvm_hostsyncpvm_hostsyncXS_Parallel__Pvm_recvfnewSVsvsv_setsvpvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvmsprintfperl_get_svnewXSsv_setpvsv_yes_gp_dispmidtobuflpvmerrpvm_errnopvmautoerrstrncatstrcatfflushexitpvmtoplvlpvmmytidpvmbeataskpvmtrctidpvmtrcmasktev_beginpvm_pkinttev_finpvmtidhmaskffspvmschedtidmsendrecvmallocbcopyfreepvmlogerrorstrlenpvm_deletepvmflushopvmendtaskpvm_insertpvm_lookuppvmsbufmidpvmrescodemroutepvmrbufmidumbuf_freepvmrxlistpvmmyptidgetenvindexstrncpyreallocpvmcouttidpvmcoutcodpvmctrctidpvmctrccodpvmctrcmaskpvm_ticklegettimeofdaypvm_versionpvm_gettmaskpvm_settmaskpvm_exportstrncmppvmputenvpvm_unexportenc_stepdec_stepfr_newpvmfrgsizxdrmem_createxdr_shortxdr_intxdr_longxdr_u_longxdr_floatxdr_doublexdr_u_shortxdr_u_intfr_snewenctovecpvmmyndfumbuf_newpvmmidhsizpvmmidhsetublenpvm_pkbytepvm_pklongpvm_upkbytepvm_pkcplxpvm_upkcplxpvm_pkdcplxpvm_upkdcplxpvm_pkdoublepvm_upkdoublepvm_pkfloatpvm_upkfloatpvm_pkuintpvm_upkuintpvm_pkulongpvm_upklongpvm_upkulongpvm_pkshortpvm_pkushortpvm_upkshortpvm_upkushortpvm_vpackfpvm_packfpvm_vunpackfpvm_unpackfpvm_getmwidpvm_setmwidpvm_errlistpvmmyupidpvmudpmtupvm_nerrpvmouttidpvmoutcodpvmshowtaskidpvmtrccodpvm_useruidpvmbailoutfprintfpvmlogperrorsys_nerrsys_errlistpvm_fd_addpvm_fd_deleteprint_fdsetttpcb_newbzeroumbuf_getttpcb_deletecloseumbuf_putfr_unrefunlinkttpcb_creatttpcb_findttpcb_deadttpcb_dumpinadport_decimalttpcb_dumpallsockettmpnambindgetsocknamesetsockoptinadport_hexmxferlistenhex_inadportconnectfcntlpvmclaimopvmnametagmxinputpvmget32readpvmget8selectacceptpvmput32pvmput8writemksocspvmdsockfileopensleepunmksocsgetpidgeteuidpvmxtoicheck_for_exitpvm_getfdspvm_start_pvmdgetuidstatpipepvmgetpvmdforkdup2getdtablesizesignalexecvp_exitwaitfdopenfgetsfclosetev_do_tracetobuf_inittobuf_newtobuf_freetobuf_findtobuf_dumpprintfmid_newmid_freeumbuf_dumppvmhdumpumbuf_listumbuf_crcpvmcrcappendpvmput16pvmget16environpvmcopyenvpvmenvinsertpvmfreeenvpvmgethomepvmgetrootda_newda_unrefda_ref_procedure_table_procedure_table_size_procedure_string_table__elf_header__program_header_table__dso_displacement_üO`ÛqZ5y €_üO`Û2q5y €_üO` 3s5ˆ €_üO`@u5— €_üO`Vw5¦( €_üO`ly5µ2 €_üO`ƒ3{5Ä< €_üO`¶0}5ÓF €_üO`æ5âP €_üO`ý5ñZ €_üÌÔ/ƒfZ ©5']d€ _üÌÔBé']l€_üÌÔQë'lt€_üÌÔií'{|€_ýO‚6ï¯@%Ÿ\TŠ·„€9 _ýO ¸žTAŠ€_ýO Æ TP€_ýæ Þ0¢^e¢ù°#_U– €S 0_ýæ#´£ €_ýæ)#ð €_ýæ?#Ò½ €_ýæX#áÊ €_þ^ s…ƒ›äÓð×€#ƒÕ_þiœøº†eÛ %Ü€$X²_þs<²[=>ˆäÐæ49à€% _þ‚| i{Œ´ûmå€&#l_þ‚|vŒ†ç€_þ†Ì…,Ž Æ-•é€&                                         ÿÿ_üI`/ÿÿÿÿ _þ‡Oÿÿÿÿ_þ‡Ïÿÿÿÿ_ÿOÿÿÿÿ_ÿðïÿÿÿÿ_ÿ3 ¯ÿÿÿÿ,_ÿ8Àoÿÿÿÿ&_ÿ8ÀÏÿÿÿÿOÿÿÿÿøOÿÿÿÿ[Oÿÿÿÿ ¯ÿÿÿÿ7_üOÿÿÿÿD_ü4OÿÿÖ_üÀX n ÷_üÛ   _üép  "_üïÀ  É_ý/¸ G á_ý:  O í_ýID [ ú_ýIÔ ] _ýJh _ $_ýMP b _ý• t _ý—Ô v ,_ýšŒ x 8_ýD z E_ýŸü | R_ý¢´ ~ `_ý¥l € l_ý¨$ ‚ y_ý­” † „_ý³ Š _ý¸t Ž œ_ý»,  ¨_ý½ä ’ µ_ýÀœ ” Á_ýÃT – Î_ýÆ  ˜ Û_ýÈÄ š ô_ýÙl £ _ýàÄ ¨ _ýá ª #_ýã| ¬ o_ýï, %‚_þG K_þJð Oý_þU8 W5_þ`  l_þq¼ w_þr¬ Ž_þsd —_þs´ ¨_þuÀ ³_þwT À_þy, Ë_þ}Ð %ñ_þ‡  %_üÍd  x_üÎh  S_üÔX Ÿ_üß  ¢_üäˆ  Á_üçT  Á_üí¬  _üóü  ?_üø  á_üúÔ " /_üþ„ $ ˜_ýh ' _ýà + X_ý , - _ý ° 1 x_ý4 3 ±_ýt 6 Ñ_ýT 8 5_ý< ; x_ý! A _ý(d C '_ý3À I ¹_ý3à K é_ý:$ Q Â_ý?@ T —_ýB¼ W |_ýEÈ Y »_ýy0 Z 1_ýy´ \ :_ýz8 ^W_ýzx `ê_ý}\ bŸ_ý¨ d4_ý‚Ø fz_ý„¸ h_ýˆ  j¥_ý‰ì lÅ_ýŒT n ó_ý¬ p _ý’d rš_ýªÜ „W_ý°L ˆ þ_ýµ¼ Œ__ýË| œ_ýÎH ž é_ýÐð   þ_ýÙ° ¥ _ýæ ä_ýæ   £_ýæ¨  Å_ýçŒ  Ð_ýçø  Þ_ýè¬  ê_ýê  _ýê¸  1_ýì$  =_ýìÈ  H_ýí8 ! S_ýîD # C_ýïà ' ñ_þ Ð 2 ´_þ¨ 4È_þ# 64_þ&$ 8S_þ*¸ ;p_þ+€ = _þ5ä As_þ6L CM_þ6T Ep_þ9ð G _þEô I_þSx R¤_þT` TÚ_þV  Yñ_þZ( [ _þ^  _þ^° _þ_” *_þ`  Ü_þaT  _þgH ñ_þh¼  ú_þiœ  _þj G_þk O_þlp  Í_þlì  U_þmÀ _þnì X_þoD  ê_þrt _þs< &_þs|  ù_þsˆ _þsÈ  _þsÔ k_þy´  Á_þz8  ^_þzÌ  §_þ{T c_þ{¬ !Ö_þ~¸ (­_þd +;_þ€\ ._þ€¬ 1 æ_þ¤ : C_þƒä  ³_þ…  !_þ…Ä á_þ†Ì è_þ‡,  J_ÿOÿÿ -_ÿ”Oÿÿ /_ÿÀOÿÿ7_ÿHOÿÿ ‘_ÿLOÿÿ œ_ÿPOÿÿ §_ÿTOÿÿ ²_ÿXOÿÿ J_ÿ\Oÿÿ j_ÿ`Oÿÿg_ÿdOÿÿ ;_ÿhOÿÿ E_ÿlOÿÿ-_ÿpOÿÿ Ä_ÿtOÿÿ O_ÿxOÿÿ¼_ÿ|Oÿÿ 8_ÿ€Oÿÿ `_ÿ„Oÿÿ¬_ÿˆOÿÿ X_ÿŒOÿÿ b_ÿOÿÿ l_ÿ”Oÿÿ]_ÿ˜Oÿÿ{_ÿœOÿÿ z_ÿ Oÿÿ „_ÿ¤Oÿÿ â_ÿpOÿÿ ×_ÿtOÿÿ…`Ãpoÿÿ ½`ÈoÿÿÒÏÿÿ ÏÿÿÏÿÿ Ïÿÿ °ÏÿÿðÏÿÿ ¹ÏÿÿøÏÿÿ—ÏÿÿŒÏÿÿoÏÿÿaÏÿÿYÏÿÿNÏÿÿ1Ïÿÿ äÏÿÿc_üIpÏÿÿä_üI€Ïÿÿ²_üIÏÿÿ‚_üI Ïÿÿ._üI°Ïÿÿ_üIÀÏÿÿH_üIÐÏÿÿM_üIàÏÿÿ_üIðÏÿÿ\_üJÏÿÿ_üJÏÿÿ œ_üJ Ïÿÿ „_üJ0Ïÿÿ ‹_üJ@Ïÿÿ _üJPÏÿÿó_üJ`Ïÿÿø_üJpÏÿÿ º_üJ€Ïÿÿ Ö_üJÏÿÿ_üJ Ïÿÿ }_üJ°Ïÿÿ Î_üJÀÏÿÿë_üJÐÏÿÿÞ_üJàÏÿÿÜ_üJðÏÿÿæ_üKÏÿÿþ_üKÏÿÿ @_üK Ïÿÿ"_üK0Ïÿÿ)_üK@Ïÿÿ6_üKPÏÿÿÕ_üK`Ïÿÿ:_üKpÏÿÿ}_üK€Ïÿÿ¡_üKÏÿÿ¬_üK Ïÿÿ·_üK°Ïÿÿ¿_üKÀÏÿÿÌ_üKÐÏÿÿV_üKàÏÿÿ½_üKðÏÿÿ¸_üLÏÿÿh_üLÏÿÿ¨_üL Ïÿÿ£_üL0Ïÿÿœ_üL@Ïÿÿo_üLPÏÿÿÂ_üL`Ïÿÿ]_üLpÏÿÿ ö_üL€Ïÿÿ ð_üLÏÿÿ é_üL Ïÿÿä_üL°Ïÿÿ×_üLÀÏÿÿÐ_üLÐÏÿÿ ‰_üLàÏÿÿ b_üLðÏÿÿ l_üMÏÿÿ t_üMÏÿÿ }_üM Ïÿÿ ˆ_üM0Ïÿÿ T_üM@Ïÿÿß_üMPÏÿÿ Ù_üM`Ïÿÿ _üMpÏÿÿ¸_üM€ÏÿÿX_üMÏÿÿ ’_üM Ïÿÿ _üM°Ïÿÿ¨_üMÀÏÿÿ é_üMÐÏÿÿñ_üMàÏÿÿý_üMðÏÿÿ_üNÏÿÿ _üNÏÿÿ ©_üN Ïÿÿ Q_üN0ÏÿÿJ_üN@ÏÿÿB_üNPÏÿÿÒ_üN`Ïÿÿ_üNpÏÿÿ&_üN€Ïÿÿ5_üNÏÿÿ ›_üN Ïÿÿ t_üN°Ïÿÿ {_üNÀÏÿÿ *_üNÐÏÿÿ _üNàÏÿÿ _üNðÏÿÿê_üOÏÿÿ ô_üOÏÿÿ,_üO ÏÿÿE_üO0Ïÿÿð_üO@Ïÿÿ Ô_üOPÏÿÿ_ücä ?_üeì ‹_ük4 »_ülÔ Ú_ün´ û_üqÄ _üt0 A_üv "b_üx, $_üzH &¢_ü|d (Ã_üŒ *_ü„È ,(_ü…Ø .I_ü†è 0i_ü‰ 2Œ_ü‹´ 4«_üŒÄ 6Ê_üÔ 8þ_üT :;_ü“d <^_ü–Œ >…_ü˜ø @¬_ü›d BÑ_üž4 Dö_üŸ´ F_ü Ä H@_ü¡Ô Ja_ü£t L†_ü¤ô N«_ü¦t PÊ_ü§ô Rë_ü© T _ü« V5_ü¬ XX_ü® Z{_ü¯ð \¦_ü± ^Ñ_ü² `ô_ü³  b_ü´¼ d:_ü¸, fb_üº° h‰_ü¾H j»_ü¿€ l_ÿ³¯ÿÿ.text.init.fini.data.sdata.rdata.sbss.bssstack_sppush_scopesave_inttmps_floortmps_ixmarkstack_ptrmarkstack_maxmarkstack_growstack_basestack_maxstack_growsv_2mortalnewSVivperl_call_svcroakSvsv_2ivfree_tmpspop_scope__ctypeerrnostrcmpXS_Parallel__Pvm_constantnasv_2pvsv_newmortalsv_setnvXS_Parallel__Pvm_spawnav_lensafemallocmemsetav_fetchpvm_spawnsafefreeXS_Parallel__Pvm_initsendpvm_initsendsv_setivXS_Parallel__Pvm_sendpvm_sendXS_Parallel__Pvm_psendpvm_psendXS_Parallel__Pvm_mcastpvm_mcastXS_Parallel__Pvm_sendsigpvm_sendsigXS_Parallel__Pvm_probepvm_probeXS_Parallel__Pvm_recvpvm_recvXS_Parallel__Pvm_nrecvpvm_nrecvXS_Parallel__Pvm_trecvpvm_trecvXS_Parallel__Pvm_precvpvm_precvstrtoknewSVpvatoinewSVnvatofXS_Parallel__Pvm_parentpvm_parentXS_Parallel__Pvm_mytidpvm_mytidXS_Parallel__Pvm_packpvm_pkstrXS_Parallel__Pvm_unpackpvm_upkstrXS_Parallel__Pvm_exitpvm_exitXS_Parallel__Pvm_haltpvm_haltXS_Parallel__Pvm_catchout__iobsv_2iopvm_catchoutXS_Parallel__Pvm_taskspvm_tasksstrcpynewHVhv_storenewRVXS_Parallel__Pvm_configpvm_configXS_Parallel__Pvm_addhostspvm_addhostsXS_Parallel__Pvm_delhostspvm_delhostsXS_Parallel__Pvm_bufinfopvm_bufinfoXS_Parallel__Pvm_freebufpvm_freebufXS_Parallel__Pvm_getrbufpvm_getrbufXS_Parallel__Pvm_getsbufpvm_getsbufXS_Parallel__Pvm_mkbufpvm_mkbufXS_Parallel__Pvm_setrbufpvm_setrbufXS_Parallel__Pvm_setsbufpvm_setsbufXS_Parallel__Pvm_killpvm_killXS_Parallel__Pvm_mstatpvm_mstatXS_Parallel__Pvm_pstatpvm_pstatXS_Parallel__Pvm_tidtohostpvm_tidtohostXS_Parallel__Pvm_getoptpvm_getoptXS_Parallel__Pvm_setoptpvm_setoptXS_Parallel__Pvm_reg_hosterpvm_reg_hosterXS_Parallel__Pvm_reg_taskerpvm_reg_taskerXS_Parallel__Pvm_reg_rmpvm_reg_rmXS_Parallel__Pvm_perrorpvm_perrorXS_Parallel__Pvm_notifypvm_notifyXS_Parallel__Pvm_recv_notifypvm_upkintXS_Parallel__Pvm_hostsyncpvm_hostsyncXS_Parallel__Pvm_recvfnewSVsvsv_setsvpvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvmsprintfperl_get_svnewXSsv_setpvsv_yes_gp_dispmidtobuflpvmerrpvm_errnopvmautoerrstrncatstrcatfflushexitpvmtoplvlpvmmytidpvmbeataskpvmtrctidpvmtrcmasktev_beginpvm_pkinttev_finpvmtidhmaskffspvmschedtidmsendrecvmallocbcopyfreepvmlogerrorstrlenpvm_deletepvmflushopvmendtaskpvm_insertpvm_lookuppvmsbufmidpvmrescodemroutepvmrbufmidumbuf_freepvmrxlistpvmmyptidgetenvindexstrncpyreallocpvmcouttidpvmcoutcodpvmctrctidpvmctrccodpvmctrcmaskpvm_ticklegettimeofdaypvm_versionpvm_gettmaskpvm_settmaskpvm_exportstrncmppvmputenvpvm_unexportenc_stepdec_stepfr_newpvmfrgsizxdrmem_createxdr_shortxdr_intxdr_longxdr_u_longxdr_floatxdr_doublexdr_u_shortxdr_u_intfr_snewenctovecpvmmyndfumbuf_newpvmmidhsizpvmmidhsetublenpvm_pkbytepvm_pklongpvm_upkbytepvm_pkcplxpvm_upkcplxpvm_pkdcplxpvm_upkdcplxpvm_pkdoublepvm_upkdoublepvm_pkfloatpvm_upkfloatpvm_pkuintpvm_upkuintpvm_pkulongpvm_upklongpvm_upkulongpvm_pkshortpvm_pkushortpvm_upkshortpvm_upkushortpvm_vpackfpvm_packfpvm_vunpackfpvm_unpackfpvm_getmwidpvm_setmwidpvm_errlistpvmmyupidpvmudpmtupvm_nerrpvmouttidpvmoutcodpvmshowtaskidpvmtrccodpvm_useruidpvmbailoutfprintfpvmlogperrorsys_nerrsys_errlistpvm_fd_addpvm_fd_deleteprint_fdsetttpcb_newbzeroumbuf_getttpcb_deletecloseumbuf_putfr_unrefunlinkttpcb_creatttpcb_findttpcb_deadttpcb_dumpinadport_decimalttpcb_dumpallsockettmpnambindgetsocknamesetsockoptinadport_hexmxferlistenhex_inadportconnectfcntlpvmclaimopvmnametagmxinputpvmget32readpvmget8selectacceptpvmput32pvmput8writemksocspvmdsockfileopensleepunmksocsgetpidgeteuidpvmxtoicheck_for_exitpvm_getfdspvm_start_pvmdgetuidstatpipepvmgetpvmdforkdup2getdtablesizesignalexecvp_exitwaitfdopenfgetsfclosetev_do_tracetobuf_inittobuf_newtobuf_freetobuf_findtobuf_dumpprintfmid_newmid_freeumbuf_dumppvmhdumpumbuf_listumbuf_crcpvmcrcappendpvmput16pvmget16environpvmcopyenvpvmenvinsertpvmfreeenvpvmgethomepvmgetrootda_newda_unrefda_ref_procedure_table_procedure_table_size_procedure_string_table__elf_header__program_header_table__dso_displacement_üI` _ÿ _ÿð -_ÿ8À '  ù \  ÿñ8_ü E_ü4 ×_üÀXø_üÛ  _üép #_üïÀ Ê_ý/¸ â_ý:  î_ýID û_ýIÔ _ýJh %_ýMP _ý• !_ý—Ô -_ýšŒ 9_ýD F_ýŸü S_ý¢´ a_ý¥l m_ý¨$ z_ý­” …_ý³ ‘_ý¸t _ý», ©_ý½ä ¶_ýÀœ Â_ýÃT Ï_ýÆ  Ü_ýÈÄ õ_ýÙl _ýàÄ _ýá $_ýã| p_ýï,ƒ_þGŽ_þJðþ_þU86_þ` m_þq¼x_þr¬_þsd˜_þs´©_þuÀ´_þwTÁ_þy,Ì_þ}Ðò_þ‡&_üÍdy_üÎhT_üÔX _üߣ_üäˆÂ_üçTÂ_üí¬_üóü@_üø â_üúÔ0_üþ„™_ýh_ýàY_ý ,_ý °y_ý4²_ýtÒ_ýT6_ý<y_ý!_ý(d(_ý3Àº_ý3àê_ý:$Ã_ý?@˜_ýB¼}_ýEÈ ¼_ýy0 2_ýy´ ;_ýz8X_ýzxë_ý}\ _ý¨5_ý‚Ø{_ý„¸_ýˆ ¦_ý‰ìÆ_ýŒT ô_ý¬ _ý’d›_ýªÜX_ý°L ÿ_ýµ¼`_ýË|‚_ýÎH ê_ýÐð ÿ_ýÙ° ‘_ýæå_ýæ  ¤_ýæ¨ Æ_ýçŒ Ñ_ýçø ß_ýè¬ ë_ýê _ýê¸ 2_ýì$ >_ýìÈ I_ýí8 T_ýîD D_ýïà ò_þ Ð µ_þ¨É_þ#5_þ&$T_þ*¸q_þ+€ _þ5ät_þ6LN_þ6Tq_þ9ð _þEô‘_þSx¥_þT`Û_þV ò_þZ( _þ^ _þ^° _þ_”+_þ` Ý_þaT _þgHò_þh¼ û_þiœ _þjH_þkP_þlp Î_þlì V_þmÀ_þnìY_þoD ë_þrt_þs<'_þs| ú_þsˆ_þsÈ _þsÔl_þy´ Â_þz8 __þzÌ ¨_þ{Td_þ{¬×_þ~¸®_þd<_þ€\‚_þ€¬ ç_þ¤ D_þƒä ´_þ… "_þ…Äâ_þ†Ìé_þ‡, K_ÿ ._ÿ” 0_ÿÀ 8_ÿH ’_ÿL _ÿP ¨_ÿT ³_ÿX K_ÿ\ k_ÿ` h_ÿd <_ÿh F_ÿl ._ÿp Å_ÿt P_ÿx ½_ÿ| 9_ÿ€ a_ÿ„ ­_ÿˆ Y_ÿŒ c_ÿ m_ÿ” ^_ÿ˜ |_ÿœ {_ÿ  …_ÿ¤ ã_ÿp Ø_ÿt †`Ãp ¾`È Ó¡   ±ñ ºù˜pbZO2åd峃/IN]  … Œ ‘ôù » × ~ ÏìßÝçÿA#*7Ö;~¢­¸ÀÍW¾¹i©¤pÃ^÷ñêåØÑ Š c m u ~ ‰ UàÚ ¹Y “¡©êòþ ž ªRKCÓ '6 œ u | + ‚ ë õ-Fñ Õ_ücä@_üeìŒ_ük4¼_ülÔÛ_ün´ü_üqÄ_üt0B_üvc_üx,‚_üzH£_ü|dÄ_üŒ_ü„È)_ü…ØJ_ü†èj_ü‰_ü‹´¬_üŒÄË_üÔÿ_üT<_ü“d__ü–Œ†_ü˜ø­_ü›dÒ_üž4÷_üŸ´_ü ÄA_ü¡Ôb_ü£t‡_ü¤ô¬_ü¦tË_ü§ôì_ü© _ü«6_ü¬Y_ü®|_ü¯ð§_ü±Ò_ü²õ_ü³ _ü´¼;_ü¸,c_üº°Š_ü¾H¼_ü¿€_ÿ³ÿñ_üO`ÿÿÿì0_üRt_üR|_üR¤_üS,ÿÿÿü _üT°_üT¸ÿÿÿü _ücäÿÿÿÔH‘_üeìÿÿþÈ_ük4ÿÿÿÜ@_ülÔÿÿÿÔHD_ün´ÿÿÿÜ`c_üqÄÿÿþ,„_üt0ÿÿÿÔH¥_üvÿÿÿÔHÊ_üx,ÿÿÿÔHë_üzHÿÿÿÔH _ü|dÿÿÿÄX+_üŒÿþy ‡(L_ü„Èÿÿÿä8Ž_ü…Øÿÿÿä8±_ü†è?ÿÿÿäPÒ_ü‰ÿþy,†øò_ü‹´ÿÿÿä8_üŒÄÿÿÿä84_üÔÿÿÿÜ@S_üTÐÿÿÿþ¬˜_ü“dÐÿÿÿýÄ€¾_ü–Œÿÿÿü¬á_ü˜øÿÿÿü¤˜_ü›dÿÿÿÌP/_üž4ÿÿÿÜ@T_üŸ´ÿÿÿä8y_ü Äÿÿÿä8ž_ü¡ÔÿÿÿÜ@Ã_ü£tÿÿÿÜ@ä_ü¤ôÿÿÿÜ@ _ü¦tÿÿÿÜ@._ü§ôÿÿÿÜ@M_ü©ÿÿÿÜ@n_ü«ÿÿÿÜ@_ü¬ÿÿÿÜ@¸_ü®ÿÿÿÔHÛ_ü¯ðÿÿÿä8þ_ü±ÿÿÿä8)_ü²ÿÿÿÜ@T_ü³ ÿÿÿÜ@w_ü´¼ÿÿþ,š_ü¸,ÿÿþ<è½_üº°ÿÿÿ¼hå_ü¾Hÿÿÿì0 _ü¿€ÿÿÿì0>_üÀXÿÿþÌXY_üÌÔÿÿÿü _üÍdÿÿÿ| ˜_üÎhÿÿÿ\Èû_üÔXÿÿþÔXÖ_üÛ ÿÿÿä8_üßÿÿÿÔP"_üäˆÿÿÿì0+_üçTÿÿÿì0J_üépÿÿÿä85_üí¬ÿÿÿì0D_üïÀÿÿÿä8@_üóüÿÿÿÔH›_üø ÿÿÿì0È_üúÔÿÿÿä8d_üþ„ÿÿÿÜ@²_ýhÿÿÿÌ`!_ýàÿÿÿì0¦_ý ,ÿÿÿÜPá_ý °ÿÿÿä8…_ý4ÿÿÿÔX_ýtÿÿÿô(4_ýTÿÿÿì0Z_ý<ÿÿÿä8¾_ýÐ_ýTÐÿÿÿÿ(_ý!ÿÿÿ¤x_ý(dÿÿûÌX˜_ý/¸ÿÿÿä8z_ý3Àª_ý3à?ÿÿÿÄpB_ý: ’_ý:$ÿÿþÜ@l_ý?@ÿÿÿä8E_ýB¼ÿÿÿä8_ýEÈÿÿÿÌPÿ_ýIDÿÿÿü ž_ýIÔÿÿÿü «_ýJhÿÿÿô8¸_ýMPÿÿÿô8Õ_ýOÿÿÿÿü@_ýQ$ÿÿÿü8_ýR ÿÿÿô(_ýSXÿÿÿü _ýS¤ÿÿÿü _ýSôÿÿÿü _ýTDÿÿÿô(_ýU$ÿÿÿô(_ýUÈÿÿÿô(_ýVÜ?ÿÿÿü8_ýX4?ÿÿÿü8_ýYŒÿÿÿü8_ý[?ÿÿÿü8_ý\l?ÿÿÿü8_ý]Äÿÿÿü8_ý^ü?ÿÿÿü8_ý`àÿÿÿü8_ýb¬ÿÿÿü _ýcÿÿÿä8_ýdlÿÿÿô(_ýe\?ÿÿÿü8_ýf¨?ÿÿÿü8_ýgô?ÿÿÿü8_ýi@?ÿÿÿü8_ýjŒ?ÿÿÿü8_ýkØ?ÿÿÿü8_ým$?ÿÿÿü8_ýnpÿÿÿü8_ýo ?ÿÿÿü8_ýqxÿÿÿü8_ýs4_ýs<ÿÿÿô(_ýt(ÿÿÿô(_ýtàÿÿÿü _ýu0ÿÿÿäH_ýuøÿÿÿäH_ývÀÿÿÿü _ýw ÿÿÿü _ýw\ÿÿÿäH_ýxDÿÿÿì@_ýy_ýy _ýy(_ýy0 b_ýy´ÿÿÿô(â_ýz8ë_ýzxÿÿÿä8Ú_ý}\ÿÿÿì0m_ý¨ÿÿÿä8"_ý‚Øÿÿÿì0·_ý„¸ÿÿÿä8ý_ýˆ ÿÿÿì0’_ý‰ìÿÿÿì0._ýŒTÿÿÿì0H_ý¬ÿÿÿä8 ~_ý’dÿÿÿä8 ”_ý•ÿÿÿä8  _ý—Ôÿÿÿä8 «_ýšŒÿÿÿä8 ·_ýDÿÿÿä8 Ã_ýŸüÿÿÿä8 Ð_ý¢´ÿÿÿä8 Ý_ý¥lÿÿÿä8 ë_ý¨$ÿÿÿä8 ÷_ýªÜÿÿÿä8Ð_ý­”ÿÿÿä8 _ý°Lÿÿÿä8Ú_ý³ÿÿÿä8 _ýµ¼ÿÿÿä8 ‰_ý¸tÿÿÿä8 _ý»,ÿÿÿä8 '_ý½äÿÿÿä8 3_ýÀœÿÿÿä8 @_ýÃTÿÿÿä8 L_ýÆ ÿÿÿä8 Y_ýÈÄÿÿÿä8 f_ýË|ÿÿÿÜ@è_ýÎHÿÿÿä8 _ýÐðÐÿÿÿÿŒ° t_ýÙlÿÿÿô( _ýÙ°Ðÿÿÿÿ´ˆ ‰_ýàÄÿÿÿô( –_ýáÿÿÿì0 ¢_ýã|ÿÿÿì0 ®_ýæ º_ýæ ÿÿÿü _ýæ¨ÿÿÿü( Í_ýçŒ Ú_ýçø å_ýè¬?ÿÿÿü8 ó_ýêÿÿÿü  ÿ_ýê¸ÿÿÿü( _ýì$ÿÿÿü  F_ýìÈ R_ýí8ÿÿÿü( ]_ýîDÿÿÿô0 h_ýï,ÿÿÿü( „_ýïàÿÿÿ,K_ýø@ÿÿþDà_þpÿÿþt¸_þÐÿÿþä8_þ ÐÿÿÿÔP _þ¨ÐÿÿÿüÔp É_þ#?ÿÿÿü8æ_þ&$ÿÿþô@ I_þ*¸ÿÿÿü( h_þ+€ÿÿÿœ€»_þ5äÿÿÿü *_þ6L ˆ_þ6Tÿÿÿä8Ð_þ9ðÿÿÿÌPó_þEôÿÿÿü _þGÿÿÿÜ@ —_þJðÿÿþ´h ¢_þSxÿÿÿô(Æ_þT`ÿÿÿô(Ú_þU8ÿÿÿü  _þV ÿÿÿä8c_þZ(ÿÿÿä8z_þ^ ÿÿÿü  _þ^°ÿÿÿô( *_þ_”ÿÿÿü  4_þ` ?_þ` ÿÿÿü( J_þaTÿÿÿÜH ñ_þgHÿÿÿü( _þh¼ÿÿÿü t_þiœÿÿÿü  _þj ,_þkÿÿÿô( \_þlp d_þlìÿÿÿü  k_þmÀÿÿÿü R_þnì_þoD?ÿÿÿüH m_þq¼ÿÿÿü0 _þrt u_þr¬ÿÿÿü( Œ_þs< 2_þsd £_þs| ;_þsˆ _þs´ ¬_þsÈ _þsÔÿÿÿü(Ë_þuÀÿÿÿô8 µ_þwTÿÿÿü0 À_þy,ÿÿÿü( Í_þy´ €_þz8ÿÿÿü  Ö_þzÌÿÿÿü0 s_þ{Tÿÿÿü  ¼_þ{¬Ðÿÿÿÿü@ x_þ}Ðÿÿÿü  Ø_þ~¸ÿÿÿü  ã_þdÿÿÿì0 Â_þ€\ÿÿÿü  P_þ€¬ÿÿÿü –_þ¤ÿÿÿü  û_þ‚|ÿÿÿü _þƒp_þƒäÿÿÿô(ô_þ…ÿÿÿü  Z_þ…Äÿÿÿü( 6_þ†Ìÿÿÿü  î_þ‡ þ_þ‡,ÿÿÿü  õÿÿÿÿstatic procedure (no name)push_scopesave_intmarkstack_growstack_growsv_2mortalnewSVivperl_call_svcroaksv_2ivfree_tmpspop_scopestrcmpXS_Parallel__Pvm_constantsv_2pvsv_newmortalsv_setnvXS_Parallel__Pvm_spawnav_lensafemallocmemsetav_fetchpvm_spawnsafefreeXS_Parallel__Pvm_initsendpvm_initsendsv_setivXS_Parallel__Pvm_sendpvm_sendXS_Parallel__Pvm_psendpvm_psendXS_Parallel__Pvm_mcastpvm_mcastXS_Parallel__Pvm_sendsigpvm_sendsigXS_Parallel__Pvm_probepvm_probeXS_Parallel__Pvm_recvpvm_recvXS_Parallel__Pvm_nrecvpvm_nrecvXS_Parallel__Pvm_trecvpvm_trecvXS_Parallel__Pvm_precvpvm_precvstrtoknewSVpvatoinewSVnvatofXS_Parallel__Pvm_parentpvm_parentXS_Parallel__Pvm_mytidpvm_mytidXS_Parallel__Pvm_packpvm_pkstrXS_Parallel__Pvm_unpackpvm_upkstrXS_Parallel__Pvm_exitpvm_exitXS_Parallel__Pvm_haltpvm_haltXS_Parallel__Pvm_catchoutsv_2iopvm_catchoutXS_Parallel__Pvm_taskspvm_tasksstrcpynewHVhv_storenewRVXS_Parallel__Pvm_configpvm_configXS_Parallel__Pvm_addhostspvm_addhostsXS_Parallel__Pvm_delhostspvm_delhostsXS_Parallel__Pvm_bufinfopvm_bufinfoXS_Parallel__Pvm_freebufpvm_freebufXS_Parallel__Pvm_getrbufpvm_getrbufXS_Parallel__Pvm_getsbufpvm_getsbufXS_Parallel__Pvm_mkbufpvm_mkbufXS_Parallel__Pvm_setrbufpvm_setrbufXS_Parallel__Pvm_setsbufpvm_setsbufXS_Parallel__Pvm_killpvm_killXS_Parallel__Pvm_mstatpvm_mstatXS_Parallel__Pvm_pstatpvm_pstatXS_Parallel__Pvm_tidtohostpvm_tidtohostXS_Parallel__Pvm_getoptpvm_getoptXS_Parallel__Pvm_setoptpvm_setoptXS_Parallel__Pvm_reg_hosterpvm_reg_hosterXS_Parallel__Pvm_reg_taskerpvm_reg_taskerXS_Parallel__Pvm_reg_rmpvm_reg_rmXS_Parallel__Pvm_perrorpvm_perrorXS_Parallel__Pvm_notifypvm_notifyXS_Parallel__Pvm_recv_notifypvm_upkintXS_Parallel__Pvm_hostsyncpvm_hostsyncXS_Parallel__Pvm_recvfnewSVsvsv_setsvpvm_recvfXS_Parallel__Pvm_recvf_oldboot_Parallel__Pvmsprintfperl_get_svnewXSsv_setpvmidtobuflpvmerrstrncatstrcatfflushexitpvmbeatasktev_beginpvm_pkinttev_finffsmsendrecvmallocbcopyfreepvmlogerrorstrlenpvm_deletepvmflushopvmendtaskpvm_insertpvm_lookupmrouteumbuf_freegetenvindexstrncpyreallocpvm_ticklegettimeofdaypvm_versionpvm_gettmaskpvm_settmaskpvm_exportstrncmppvmputenvpvm_unexportenc_stepdec_stepfr_newxdrmem_createxdr_shortxdr_intxdr_longxdr_u_longxdr_floatxdr_doublexdr_u_shortxdr_u_intfr_snewenctovecumbuf_newsetublenpvm_pkbytepvm_pklongpvm_upkbytepvm_pkcplxpvm_upkcplxpvm_pkdcplxpvm_upkdcplxpvm_pkdoublepvm_upkdoublepvm_pkfloatpvm_upkfloatpvm_pkuintpvm_upkuintpvm_pkulongpvm_upklongpvm_upkulongpvm_pkshortpvm_pkushortpvm_upkshortpvm_upkushortpvm_vpackfpvm_packfpvm_vunpackfpvm_unpackfpvm_getmwidpvm_setmwidpvmbailoutfprintfpvmlogperrorpvm_fd_addpvm_fd_deleteprint_fdsetttpcb_newbzeroumbuf_getttpcb_deletecloseumbuf_putfr_unrefunlinkttpcb_creatttpcb_findttpcb_deadttpcb_dumpinadport_decimalttpcb_dumpallsockettmpnambindgetsocknamesetsockoptinadport_hexmxferlistenhex_inadportconnectfcntlpvmclaimopvmnametagmxinputpvmget32readpvmget8selectacceptpvmput32pvmput8writemksocspvmdsockfileopensleepunmksocsgetpidgeteuidpvmxtoicheck_for_exitpvm_getfdspvm_start_pvmdgetuidstatpipepvmgetpvmdforkdup2getdtablesizesignalexecvp_exitwaitfdopenfgetsfclosetev_do_tracetobuf_inittobuf_newtobuf_freetobuf_findtobuf_dumpprintfmid_newmid_freeumbuf_dumppvmhdumpumbuf_listumbuf_crcpvmcrcappendpvmput16pvmget16pvmcopyenvpvmenvinsertpvmfreeenvpvmgethomepvmgetrootda_newda_unrefda_ref.reginfo.dynamic.rel.dyn.msym.dynstr.dynsym.hash.text.data.rodata.got.bss.mdebug.strtab.symtab.compact_rel.shstrtabp_üàà _ü  à  _üP p_ü P P @ "_ü° * _ü%@%@p 2_ü;°;° ° 8_üI`I`>0>_ÿðD_ÿð–ð,°L_ÿ3 à Q_ÿ8ÀÈÀ—VpЧÔ^wÔqfˆTp {ÖÐ…nÐ@@°òP°P(ô0à#à @â!(1ðð á"0à!1PÐ4%!ƒ ñ@À`ðñð0Ð0òððñ$óà(† $F$F$F$F$F$F$F$G#F$F$F$F$F$F$F$F$F$F$F$G#F$F$F$F$F$G%F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$G#F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$G#F$F$G#F$F$F$ððñðñð((5ñ(ðóòð2à à!à(ð€ à"(4(4&!d ðð!'Òx!à"(ó0ððñðñðQ(%ó(ðñðñð((%ó(øòð' à(A&³€€ÿøˆ(ø€‚ÿø€€ÿøˆ òHðó(ðñðñð((%ó(ðñðñða(2(%ó(ðñðñða(2(%ó(ðñðñða(2(%ó(ðñðñð€ (2(2(2(Aàó(ð€ €ÿ÷ (2((ð%(ð8ð87 ððñðñð&5(ðñðñð&5(øP°f&³€ÿø„(ð&P°Bð(ð8ð87 ððñðñð&5(ðñðñð&5(ðñðñðQ(%ó(øð€ €ÿ÷ (%ð` #((„ÿï€ðøð&€ ÿø…ñð à#( à(„ÿó€ðøò€†ó6ððñ ðøòp vó6ððñpðóòð(2à à('ððñðñð((%ó(ðñðñð&5(ðñðñð&5(ðñðñðQ(%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð((%ó(ðñðñð&5(ðñðñð&5(ðñðñð&E(ðñðñð((%ó(öòð' à(84ò7ð4(7(õñð(2à à(D@ÀÿøDð4ðô0ðóòð(2à à(V Ð0à ð( Ð0à ð(ððñðñð( ðñ%% à à'ðñðñð&%8ò0Ó8"à#ñ0Ò0Ð2 à@ðÄ@ð0ðð3€€ÿø€†ÿøððñò%H8ðñò00Ó%ð€€ÿï à𤀀ÿø€2Ð34ð85C#3€ €ÿ÷€ ‡ÿ÷ ð3ððððð à"&(0Ó%ððððõðó ` `£ˆð(3#3@À@ÃAð@÷8à5C#5pp•qððñò%H8ðñò00Ó%ð€ ÿôð àðð#á0ð2Ð34ð85C#3P°P± 1ð5(5&33@À@ÁAð8ð31@À@ÃAð@÷8à5C#5@À@ÂAðC à à8##@À@ÃAð@÷8àð5C#5€€ÿø€ƒÿøðh0Ðñ ÷!ðð ðáuHð5@ÀA3#3@À@ÁAð8##3@À@ÂAð0õ8ð5C#7pp”qððH@Â80ñ00Ð( ãð ðãPAsPÐ0Ó(ðS#3€ €ÿ÷€ ‡ÿ÷0 AðH$!PÐð@ð 8" ð2ƒÿéôððC4ð ðð@ñ%#3@À@ÁAð8##5€ €ÿ÷€ ‡ÿ÷0 AðHPÐð@ð 8" ð2ƒÿéñC#3P°P²QðH85C#5pp–0AðH#! ð$8" ð2ƒÿîôððC4ð ðð@ñ%#30À0Â1ð8#3P°P³QðH ` ñW3#3P°P³QðH8%5C#38ðð% Bˆÿö ˆÿø„ ðð(ñ$! ðH€ €ÿ÷€ „ÿ÷PAððH8!à"ðð@Ø ðððò5'ðñðððò%00Ó%ð(5Cð#4#€€ÿø€ÀÆAAðCððð2Ð8PÕ%$ðð(ðððððôò0Ð à$ð4(ð%3#3` `¤aðHóHð0â5C#3€€ÿø€ˆÿø0Qðp ðð@ð%D($!€†ÿópp”0ð8748"!"ƒÿ߀% ÷ððC4ð ðð@ñ%#3€ €ÿ÷€ ‚ÿ÷ ðH 0Ó%ðð8ðôðòð(53#3€€ÿø€ÿøðH"ôð$ð53#3` `¡aðH'ð(53#3` a£` h%$ð!ð À0à6'0Øð8%3@Á@à2!@Â@à2 0ç$` a7 ð ð(#(ð8‡` a7 ð ð( à ñ#‡ óöðP°`òPà!!@À"ð ñ!0ð6ÿíƒ(óõð€€ÿø€ òPà!!€ €ÿö"„ð ñ!0…ð6ÿ߃%(ñð@Ð3ñ#ñð0à ð#ððððððñð@Ð0Ð1ñà(8@ÀBñðHðDðòð@ð à á(TòöðQ° !ðð6 𔈠òöðQ° !ðð6 𔈠òöðP° #0ð7ðð6 ð„ÿôˆòöðQ° !Wðð6 ð„ÿõˆòöðQ° !ðð6 𔈠òöð`  26 ðF€ÿö ‚ÿö€ (òöðP  ðð6 ðPððð6 ð„ÿîˆòöðP  6 ðHð&6 ðF€ÿë‚ÿë€(ñð ð0ð% à"ñððr ` r0Ñ à% € ƒÿ÷€ðF&$ðòð@ à(2ñòöðQ° !6 𔇠òöðQ° !6 𔇠òöðQ° !6 𔇠òöðQ° !6 𔇠òöðQ° !6 𔇠òöðQ° !6 𔇠òöðQ° !6 𔇠òöðP° "6 ðE€ÿö€ ‚ÿö€ (òöðP  6 ðPð6 ð„ÿî‡òöðP  6 ðG ð6 ðE€ÿ뀂ÿë€(ðòð@Ó1ÐA„ ñð@Ð3ñ#ððð`¤cPÀ À$𔇠`¤cPÀ À$𔇠ñð0à ð#ðððP´SÐ0Ò‡ P´SÑ0Ò‡ ò8 á!ðð!` `¢01ðF€ÿò€ €ÿö€€ÿñðBðPðPð@#ðƒ #3@À@ÂAð4 à à8#3P°P²1ð@0Ð!ø$$ðððC#3@À@ÁAð8##3P°P²1ð00Ð!ø$$ð(C#3@À@ÁAð8##3@À@ÂAðF3#3P°P´Qð@ñ(@ðð$ ññ3ð%#3P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(P°P³Qð ðð@ñ ó(3#(òð` cð ðð@ó#ðð"((C#(` `¢að ðð@ó((3#(€€ÿð€ˆÿððGðð0Ð3 ðD0Ð#AÐð$ ð% à!à ð"!ð!òðñð1@ðPð€ÿðˆ0PÃð3P°€`°@Óð20€€ÿóPÃð30@Óð2€ €ÿö€ €€ÿïPÈð30€Èð2p€ PÀñð@ñð` ‚ 0Ñ!ððP°€Ap3!à 0€ …ÿó 0Ð1€€ÿò€ˆÿò ð@ó ðC á%1àð$%ðñ"!òðñð2@ðPðPð@ƒÿðˆ0ñðð@ð€ €ÿô0PÂðp1ð10PÀñðp@ñð10PÀñðp@ñð10ò1C03#3€ …ÿó 0Ð1P°P² 1ð@ñ"ø"##3P°P² 1ð@ñ"ø"##3 àðñð('pp‘px%(€ €ÿõ„ ðð‚ €ÿö 'ðaAÑ10!¶0"òðÒeð0Ó4ð$0Ð1####3ð0Ò50à%ó6#7ó7@À0Ð@ð$33#$óH%ð1Ó2ññ%€ˆÿí€ € €ÿø‚0àð8P°T€ˆÿå0Ð2 à'0Ð2à(w0Ð1ñ á á à`µ5p¥Qð& ððF à"ñà! áð% àðXàñð Ðð$h2ð$@Ð&† ô #P€ ÿñP±@„ 'ô'#€7†ÿç'@×0àððpH@×0(&R0@ÁD&H(@ô0ðððð€&ˆÿâ4 à('6@×0w3ñ æ ð'8'74!ðˆàðð3$€ …ÿõ„ 'ð"à650€€ÿø€ô(@€%„ÿãð8PÅ0pÀ@ÀC&`HPÅ0(&'pÀ@ÀC%cCÀC(BÀC&&p’ T#à(uðEð… 0öx%„ u!„ &8'Dðƒ PÀH ðñð(((Xò!!!1FðððòQñ Dà@Ðð ñ(`€‚ÿñððU#ãa8Dò âH‡ øu€ˆÿø P0`PÀU&ðà((0Ð0ò37p à p•A0€€ÿîñ8 àQ@H&78… ô#xð1æ3D#ðð$#‡ € ˆÿàð3D#ðð$#ˆ0ñð%P à2ð& ððFV'$Uƒÿ·…R0à0Ð2( ` a à ðð%E! P°PÁPðð0ô'W ô'(6%@Ð0Ñ`ðð0 ó€ ˆÿøðð$"€ ô(H@À@Æ@ÀT4(%à"5!ð4&'„ÿó€ÿð†€ ƒÿö€ €ÿö w( à$ð @Õ 1Ð3A à#"€#ˆÿã€ð'&‡0ð7"&€ððˆ`Å@ð%B!3ðòð$ ò€€ÿñ€ÿñ€€ÿñ‚$@à$qt XðGòð&Ftðð0Ð$ðñp’dðHa ðpà $ðp¨&ð3ð€ …ÿøwð2ð4% ð ð5ðð€’ ð ð€ b$ð@Õ$%0âððððAÀAÀH(%%0á à"à %ð@À$(0à0Ð ðF"1ðððð$3ðP°P±2 ðà!ð@ÀBÀG"2222222222222Pð ðAC!à 0ð ñðpp’ Rð@€É‚ÿ7€Ê‡ÿ6(P°@€ €ÿø€@À0 ð@ð ðH à0Ø2@ð0à 8ð#@ð0àX à0Ø2@ð0à 8ð#@ð0àPñ ä"@ð0à @ð ðH à(à ã@Ð3ð(!8 à(à ã ð"ðCð(!8 à(à ðàáAð3ð(!8 à(à à0àá0ðCð("@ð ð`ð ðPC!à 3ðñð('@ÀB€€ÿø€‚ÿøð8 ðçBòð((0Ð0Ð0 à ððñã0ð0Ð1ððð#8€ €ÿô€ ƒÿô ððñò%E( ðF ðG ðw@ðC à"à!ð&(â6% à"( ð0Ð2÷ð% ð3ðX0 àAÀD" ðS!à 80Ò3óðð@ÀBs‘ppðñ%!ðð ðððððpp• Rðð@ÀA€*‡ÿÖA@@@00000ð@Cðð'@Ô%3#3` `¥ Bðð@ÀA€*‡ÿÖA@@@00000ð@Cð3#3ðð$ðñ#ðñðFñ#ððð&ð' á0Ñ0ÐFñóF€ƒÿò„0ð0Ôð0€%‡ÿÜð&PÀ@ÀW%&ð@ðð6 ððó&E7ð#ó& ðð(!6 ðð(16"2Ð3E@À@Â@ÀBH83%ð$5#P°P°P àðñ # à0ð(c&pðP°pppG2ðAà#D`à"0Ò0Ð24"ñ10ÐA0ð$@À@ð(ð@ðxE%´ˆ` `¡`¤cã6@à3@À@Ð1ñðà€ €ÿ÷ WãAh%!6 à&@ÀW ð·† (` €ÿø†UóCg'('5ðñ#ð@Ð5!òAdAprð"0ð5ðó…ÿøˆ 0Ð0Ð0ÐH540Ð0Ð0Ð8…$@À@À@ÀU%ðð4ƒÿ ÿãƒ4@À@Ã@À…ðñâ@"6Q³Q ð!²xP°P°P àðñ # à0ð(c&pðP°0Ñ0Ð0Ð2""1@ðÐ0à A50Ñ0Ñ0Ð3`ÀA°PÁ0ðEð3† SöÑf%0Ò4#ð!èè_üT¸_üeXhÛ_üS,h_üS,h _üR|hx_üR¤hM_üS,h_üS,hf_üR¤h Y_üO`hÎ_üÌÔh’_ýThl_ýÐh( X_ýOh(_ýQ$h(_ýOh]_ýU$hV_ýU$ha_ýU$hW_ýU$hV_ýU$hO_ýU$hW_ýU$h!_ýU$hQ_ýU$h#_ýU$h ¬_ýQ$hU_ýchS_ýchS_ýchS_ýchS_ýchS_ýchS_ýchL_ýchU_ých!_ýchN_ých!_ých(œ_ýOh _ýOh 2_ýOh(:_ýQ$h_ýQ$h:_ýQ$h#°_ýø@h_þpho_þÐhk_þÐhI_þ‚|h_þƒph1_þ‚|h^_þƒpàd0_üO``Ñ`ì`"`d`c^Ø`ËO¬`‚M¤`RH\`hF¼`xDÜ`ÄAÌ`›?``x=€`‡;d`‡9H`‡7,`Ê4`O.È`D-¸`D,¨`†*`­'Ü`D&Ì`D%¼``$<` ,`Ê`›˜`›,`´\``Ü`DÌ`D¼`h``œ`` `` œ`g ``€````€`x `D`D€`Dp`gþÔ`Üûd`¡øà`æõH`Nô`6ó8Ð_ücÀ_ÿ|P_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_üUP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀP_ücÀàæ¼_üÌÔ`$æ,`Aå(`|ß8`­Ø„`Ô|`]Ï`³Ì<`‡Ê `Åä`…ÃÐ`¿”`)ºð`¸¼`ìµ `9°(`«°`“©d`á¥à`á¢\`ž`xœ<`º™T`F”<`p’|`Ô‹,`ÕƒØ`Ð`°`‹y„`yl`GtP`ßpÔ`ÃmÈ`ßjL`$i¼`%i(`ºf@Xl¾_üÌÔàd_ýO`ebl`_`ð`.`8`_ì`_œ`_L`8^l`)]È`E\´`V[\`VZ`bX|`VW$`VUÌ`NT”`yR°`sPä`P|`VO$`<N4`SLè`SKœ`SJP`SI`SG¸`SFl`SE `LCð`vB`q@T`;?h`.>°`>``2=˜`2<Ð`<„`<4`:;L`;:``!9Ü`19`¹64`“3è`Ì0¸`x.Ø`Õ+„`x)¤`š'<`Ö#ä`®!,`®t`®¼`®`®L`®”`®Ü`®$`® l`®´`®ü`®D`®Œ`®ýÔ`®û`®ød`®õ¬`®òô`®ð<`®í„`®êÌ`®è`³åH`ªâ `Ú$`Ùà`ÅÒÌ`Òˆ`ÐPN©_ýÔœP_ýÔðP_ýØ P_ýÕèP_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ýØ P_ý×|P_ýØ P_ýØ P_ýØ P_ýØ P_ý×P_ýÝP_ýÝLP_ýß\P_ýÞ0P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýß\P_ýßP_ýß\P_ýß\P_ýß\P_ýß\P_ýÞ˜Ø_ýR _ÿÔ_ø_ýSXX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤X_ýSôX_ýS¤_ø_ýSô_ø_ýS¤X_ýSôX_ýS¤X_ýSôX_ýTDX_ýb¬X_ýUÈX_ýdlX_ýVÜX_ýe\X_ýX4X_ýf¨X_ýYŒX_ýgôX_ýVÜX_ýi@X_ýX4X_ýjŒ_ø_ý[_ø_ýkØX_ý\lX_ým$X_ý]ÄX_ýnpX_ý^üX_ýo X_ý`àX_ýqxX_ýs4X_ýy(X_ýs34`2ä`>1ì`61`=0 `/¬`I.ˆ`/-Ì`B,Ä`,d_þX$P_þWÈP_þWÐP_þWÜP_þWôP_þXP_þX P_þXP_þWèP_þWÐP_þWÜP_þWèP_þ\,P_þ[ÐP_þ[ØP_þ[äP_þ[üP_þ\P_þ\P_þ\ P_þ[ðP_þ[ØP_þ[äP_þ[ðàU„_þ^ `)Tà`9Sü`"St`!Rð`-R message passing system enables a programmer to configure a group of (possibly heterogenous) computers connected by a network into a parallel virtual machine. The system was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University. Using PVM, applications can be developed which spawns parallel processes onto nodes in the virtual machine to perform specific tasks. These parallel tasks can also periodically exchange information using a set of message passing functions developed for the system. PVM applications have mostly been developed in the scientific and engineering fields. However applications for real-time and client/server systems can also be developed. PVM simply provides a convenient way for managing parallel tasks and communications without need for B or B level programming. As a utility, PVM enables an organisation to leverage on the computers already available for parallel processing. Parallel applications can be started during non-peak hours to utilise idle CPU cycles. Or dedicated workstation clusters connected via a high performance network like B can be used for high performance computing. It is recommended that you read the PVM manual pages and the book "PVM: Parallel Virtual Machine, A users's guide and tutorial for networked parallel computing". Both the PVM system and the book can be obtained from the HTTP address http://www.epm.ornl.gov/pvm. For the rest of this document we will provide a tutorial introduction to developing PVM applications using perl. The interface for some of the PVM functions have been changed of course to give it a more perl-like feel. Remember think perl think parallel! Good Luck! =head2 Environment Variables After installing PVM on your computer, there are two mandatory environment variables that have to be set in your .login or .cshrc files; B and B. B points to the base of the B installation directory, and B specifies the architecture of the computer on which B is running. An example of how this can be set for csh is shown below, setenv PVM_ROOT /usr/local/pvm3 setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch` =head2 Setting up your rsh permission In order for PVM applications to run, B permission has to be enabled. This involves creating a B<.rhosts> file in your B directory containing, for each line, the host and account name you wish to allow remote execution privillages. An example B<.rhosts> file to allow a PVM application to remotely execute on the host B and B using the account B is shown below, onyx edward prata edward =head2 Configuring your parallel virtual machine Parallel process management and communications is handled by a set of distributed deamons running on each of the nodes of the virtual machine. The daemon executable, B, is started when a computer is added to the virtual machine. A computer can be added to the virtual machine either statically in a console program or using a B, or dynamically within the application code itself. The first method of configuring your virtual machine is to use the console program B<$PVM_ROOT/lib/pvm>. Run it from the command prompt. The console program will first add the local host into the virtual machine and display the prompt pvm> To add a host, eg B, as a node in your parallel virtual machine, simply type pvm> add onyx To display the current virtual machine configuration type pvm> conf which will display node information pertaining to the host name, host id, host architecture, relative speed and data format. The console program has a number of other commands which can be viewed by typing B. The second method of configuring your virtual machine is to use a B. The B is simply an ASCII text file specifing the host names of the computers to be added into your virtual machine. Additional options may be also be defined for the nodes pertaining to the working directory, execution path, login name, alternative hostname etc. A simple example of a B is shown below. * wd=$HOME/work ep=$HOME/bin onyx prata.nsrc.nus.sg laksa ep=$HOME/perl5/bin In the above example B we are adding the hosts B, B and B into the virtual machine. We are also specifying the working directory, B, in which we want our application to run, and the execution path, B, in which we want PVM to look for executables. The B<*> in the first line defines a global option for all the hosts specified after it. We can however provide an option locally to over-ride this global option. This is seen for the host B where we have specified its execution path to be B<$HOME/perl5/bin> instead of the B<$HOME/bin>. The third method of configuring your virtual machine is to call the functions B or B within your application. You must still start your master B daemon first. This can be achieved by starting B and typing B or simply typing echo quit | pvm The PVM application can then be started where we can add the hosts B and B by calling Parallel::Pvm::addhosts("prata","laksa"); Or we can delete a host from our configuration by calling Parallel::Pvm::delhosts("laksa"); PVM also provides a function, B, to query the configuration of the parallel virtual machine. An example code to check the current configuration is shown below. ($info,@conf) = Parallel::Pvm::conf ; if ( $info == PvmOk ){ foreach $node (@conf){ print "host id = $node->{'hi_tid'}\n"; print "host name = $node->{'hi_name'}\n"; print "host architecture = $node->{'hi_arch'}\n"; print "host speed = $node->{'hi_speed'}\n"; } } =head2 Enrolling a task into PVM A task has to expilictly enroll into PVM in order for it to be known by other PVM tasks. This can often be done by the call $mytid = Parallel::Pvm::mytid ; where B<$mytid> is the task id, B, assigned by the PVM system to the calling process. Note however that calling any PVM function in a program will also enroll it into the system. =head2 Spawning parallel tasks A PVM application can spawn parallel tasks in your parallel virtual machine. Assuming there is exists an executable called B, we can spawn four B tasks in our virtual machine by calling ($ntask,@tids) = Parallel::Pvm::spawn("client",4); For each of the four spawned processes, the PVM system first allocates a host node and looks for the executable in the execuation path of that host. If the executable is found it is started. The task which called the B is known as the B task. The number of B tasks which are actually spawned by B is returned in the scalar B<$ntask>. The B<@tids> array returns the task id, B, of the spawned B tasks which will be useful later for communicating with them. A B < 0 indicates a task failure to spawn and can be used to determine the nature of the problem. Eg. foreach $tid (@tids){ if ( $tid < 0 ){ if ( $tid == PvmNoMem ) warn "no memory ! \n"; }else if ( $tid == PvmSysErr ){ warn "pvmd not responding ! \n"; } ... } } For more sophisticated users, B may be given additional argument parameters to control how/where you want a task to be spawned. For example, you can specifically spawn B in the internet host B by calling Parallel::Pvm::spawn("client",1,PvmTaskHost,"onyx.nsrc.nus.sg"); Or you can spawn B on host nodes only of a particular architecture, say RS6K workstations, by calling Parallel::Pvm::spawn("client",4,PvmTaskArch,"RS6K"); Also, if the spawned remote executable requires an argument B, you can supply this by calling Parallel::Pvm::spawn("client",4,PvmTaskArch,"RS6K",argv); Note that tasks which have been spawned by using B do not need to be explicitly enrolled into the pvm system. =head2 Exchanging messages between tasks Messages can be sent to a task enrolled into PVM by specifying the example code sequence Parallel::Pvm::initsend ; Parallel::Pvm::pack(2.345,"hello dude"); Parallel::Pvm::pack(1234); Parallel::Pvm::send($dtid,999); In our example we first call B to initialize the internal PVM send buffer. We then call B to fill this buffer with a double (2.345), , a string ("hello dude"), and an integer (1234). Having filled the send buffer with the data that is to be sent, we call B to do the actual send to the task identifed by the B B<$dtid>. We also label the sending message to disambiguate it with other messages with a tag. This is done with the 999 argument in B function. For the destination task, we can receive the message sent by performing a blocking receive with the function B. A code sequence for the above example on the recipent end will be if ( Parallel::Pvm::recv >= 0 ){ $int_t = Parallel::Pvm::unpack ; ($double_t,$str_t) = Parallel::Pvm::unpack ; } Note that we must unpack the message in the reverse order in which we packed our message. In our example B will receive any message sent to it. In order to selectively receive a message, we could specify the B of the source task and the message B. For example, $tag = 999; Parallel::Pvm::recv($stid,$tag) ; Other message passing functions that you may find useful are B, B, B and B. =head2 Parallel I/O Note that the file descriptors in a parent task are not inherented in the spawned B tasks unlike B. By default any file I/O will be performed in the working directory specified in the B if no absolute path was provided for the opened file. If no working directory is specified, the default is the B<$HOME> directory. For directories which are not NFS mounted, this would mean that each task performs its own separate I/O. In the case of B output, tasks which are not started from the command prompt will have their B and B directed to the file pvml.. This may be redirected to a B task by calling Parallel::Pvm::catchout; for B or Parallel::Pvm::catchout(stderr); for B. You can direct the B or B output of a task to another B , other then its parent, by calling Parallel::Pvm::setopt(PvmOutTid,$tid); =head2 Incorporating fault tolerance The function B can be used to incorporate some fault tolerance into your PVM application. You may use it to ask the PVM to monitor the liveliness of a set of hosts or tasks during the execution of a PVM application. For example you can instrument your application to monitor 3 tasks with B B<$task1>, B<$task2>, and B<$task3>, by using the code segments @monitor = ($task1,$task2,$task3); Parallel::Pvm::notify(PvmTaskExit,999,@monitor_task); ... if ( Parallel::Pvm::probe(-1,999) ){ $task = Parallel::Pvm::recv_notify ; print "Oops! task $task has failed ... \n" ; } If either B<$task1>, B<$task2> or B<$task3> fails, the notification will take the form of a single message with the tag 999. The message content will inform you of the B of the failed task. A similar scheme may be employed for the notification of host failures in your parallel virtual machine. =head2 Client/Server example B use Pvm; use File::Basename; ... # Look for server tid and assume # server name is 'service_provider' @task_list = Parallel::Pvm::tasks ; foreach $task (@task_list){ $a_out = $task->{'ti_a_out'} ; $base = basename $a_out ; if ( $base eq 'service_provider' ) $serv_tid = $task->{'ti_tid'} ; } # This is just one way (not necessarily the # best) of getting a server tid. # You could do the same thing by reading # the server tid posted in a file. ... # send request for service Parallel::Pvm::send($serv_tid,$REQUEST); # receive service from server Parallel::Pvm::recv(-1,$RESPONSE); @service_packet = Parallel::Pvm::unpack ; ... B while(1){ ... if ( Parallel::Pvm::probe(-1,$REQUEST) ){ # a service request has arrived ! $bufid = Parallel::Pvm::recv ; ($info,$bytes,$tag,$stid) = Parallel::Pvm::bufinfo($bufid) ; if ( fork == 0 ){ # fork child process to handle service ... # provide service Parallel::Pvm::initsend ; Parallel::Pvm::pack(@service); Parallel::Pvm::send($stid,$RESPONSE); # exit child process exit ; } } ... } =head2 PVM groups The PVM dynamic group functions have not been ported to perl yet. These functions provide facilities for collecting processes under a single B label, and applying aggregate operations onto them. Examples of these functions are B, B, B etc. One of our concerns is that these group functions may be changed or augmented in the future releases of PVM 3.4*. A decision for porting the group functions will be made after PVM 3.4 has been released. =head1 FUNCTIONS =over 4 =item B Adds one or more host names to a parallel virtual machine. Eg. $info = Parallel::Pvm::addhosts(@host_list) ; =item B Returns information about the requested message buffer. Eg. ($info,$bytes,$tag,$tid) = Parallel::Pvm::bufinfo($bufid); =item B Catches output from children tasks. Eg. # Parallel::Pvm::catchout(stdout); $bufid = Parallel::Pvm::catchout; =item B Returns information about the present virtual machine configuration. Eg. ($info,@host_ref_list) = Parallel::Pvm::config ; =item B Deletes one or more hosts from the virtual machine. Eg. $info = Parallel::Pvm::delhosts(@host_list); =item B Tells the local PVM daemon that the process is leaving. Eg. $info = Parallel::Pvm::exit ; =item B Disposes of a message buffer. Eg. $info = Parallel::Pvm::freebuf($bufid); =item B Shows various libpvm options. Eg. $val = Parallel::Pvm::getopt(PvmOutputTid); $val = Parallel::Pvm::getopt(PvmFragSize); =item B Returns the message buffer identifier for the active receive buffer. Eg. $bufid = Parallel::Pvm::getrbuf ; =item B Returns the message buffer identifier for the active send buffer. Eg. $bufid = Parallel::Pvm::getsbuf ; =item B Shuts down the entire PVM system. Eg. $info = Parallel::Pvm::halt ; =item B Gets time-of-day clock from PVM host. Eg. ($info,$remote_clk,$delta) = Parallel::Pvm::hostsync($host) ; where B is the time-of-day equivalent to B. =item B Clears default send buffer and specifies message encoding. Eg. # Parallel::Pvm::initsend(PvmDataDefault) ; $bufid = Parallel::Pvm::initsend =item B Terminates a specified PVM process. $info = Parallel::Pvm::kill($tid); =item B Multicast the data in the active message buffer to a set of tasks. Eg. $info = Parallel::Pvm::mcast(@tid_list,$tag); =item B Creates a new message buffer. Eg. # Parallel::Pvm::mkbuf(PvmDataDefault); $bufid = Parallel::Pvm::mkbuf ; $bufid = Parallel::Pvm::mkbuf(PvmDataRaw); =item B Returns the status of a host in the virtual machine. Eg. $status = Parallel::Pvm::mstat($host); =item B Returns the tid of the calling process. $mytid = Parallel::Pvm::mytid ; =item B Requests notification of PVM events. Eg. $info = Parallel::Pvm::notify(PvmHostDelete,999,$host_list); # turns on notification for new host $info = Parallel::Pvm::notify(PvmHostAdd); # turns off notification for new host $info = Parallel::Pvm::notify(PvmHostAdd,0); =item B Nonblocking receive. Eg. # Parallel::Pvm::nrecv(-1,-1); $bufid = Parallel::Pvm::nrecv ; # Parallel::Pvm::nrecv($tid,-1); $bufid = Parallel::Pvm::nrecv($tid) ; $bufid = Parallel::Pvm::nrecv($tid,$tag) ; =item B Packs active message buffer with data. Eg. $info = Parallel::Pvm::pack(@data_list); =item B Returns the tid of the process that spawned the calling process. Eg. $tid = Parallel::Pvm::parent ; =item B Prints the error status of the las PVM call. $info = Parallel::Pvm::perror($msg); =item B Receives a message directly into a buffer. # Parallel::Pvm::precv(-1,-1); @recv_buffer = Parallel::Pvm::precv ; # Parallel::Pvm::precv($tid,-1); @recv_buffer = Parallel::Pvm::precv($tid); @recv_buffer = Parallel::Pvm::precv($tid,$tag); Note that the current limit for the receive buffer is 100 KBytes. =item B Checks whether a message has arrived. Eg. # Parallel::Pvm::probe(-1,-1); $bufid = Parallel::Pvm::probe ; # Parallel::Pvm::probe($tid,-1); $bufid = Parallel::Pvm::probe($tid); $bufid = Parallel::Pvm::probe($tid,$tag); =item B Packs and sends data in one call. Eg. $info = Parallel::Pvm::psend($tid,$tag,@send_buffer); =item B Returns the status of the specified PVM process. Eg. $status = Parallel::Pvm::pstat($tid); =item B Receives a message. Eg. # Parallel::Pvm::recv(-1,-1); $bufid = Parallel::Pvm::recv ; # Parallel::Pvm::recv($tid,-1); $bufid = Parallel::Pvm::recv($tid) ; $bufid = Parallel::Pvm::recv($tid,$tag); =item B Redefines the comparison function used to accept messages. Eg. Parallel::Pvm::recvf(\&new_foo); =item B Receives the notification message initiated by B. This should be preceded by a B. Eg. # for PvmTaskExit and PvmHostDelete notification if ( Parallel::Pvm::probe(-1,$notify_tag) ){ $message = Parallel::Pvm::recv_notify(PvmTaskExit) ; } # for PvmHostAdd notification @htid_list = Parallel::Pvm::recv_notify(PvmHostAdd); =item B Resets the comparison function for accepting messages to the previous method before a call to B. =item B Registers this task as responsible for adding new PVM hosts. Eg. $info = Parallel::Pvm::reg_hoster ; =item B Registers this task as a PVM resource manager. Eg. $info = Parallel::Pvm::reg_rm ; =item B Registers this task as responsible for starting new PVM tasks. Eg. $info = Parallel::Pvm::reg_tasker ; =item B Send the data in the active message buffer. Eg. # Parallel::Pvm::send(-1,-1); $info = Parallel::Pvm::send ; # Parallel::Pvm::send($tid,-1); $info = Parallel::Pvm::send($tid); $info = Parallel::Pvm::send($tid,$tag); =item B Sends a signal to another PVM process. Eg. use POSIX qw(:signal_h); ... $info = Parallel::Pvm::sendsig($tid,SIGKILL); =item B Sets various libpvm options. Eg. $oldval=Parallel::Pvm::setopt(PvmOutputTid,$val); $oldval=Parallel::Pvm::setopt(PvmRoute,PvmRouteDirect); =item B Switches the active receive buffer and saves the previous buffer. Eg. $oldbuf = Parallel::Pvm::setrbuf($bufid); =item B Switches the active send buffer. Eg. $oldbuf = Parallel::Pvm::setsbuf($bufid); =item B Starts new PVM processes. Eg. # Parallel::Pvm::spawn("compute.pl",4,PvmTaskDefault,""); ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4); ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4,PvmTaskHost,"onyx"); ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4,PvmTaskHost,"onyx",argv); =item B Returns information about the tasks running on the virtual machine. Eg. # Parallel::Pvm::tasks(0); Returns all tasks ($info,@task_list) = Parallel::Pvm::tasks ; # Returns only for task $tid ($info,@task_list) = Parallel::Pvm::tasks($tid) ; =item B Returns the host ID on which the specified task is running. Eg. $dtid = Parallel::Pvm::tidtohost($tid); =item B Receive with timeout. Eg. # Parallel::Pvm::trecv(-1,-1,1,0); time out after 1 sec $bufid = Parallel::Pvm::trecv ; # time out after 2*1000000 + 5000 usec $bufid = Parallel::Pvm::trecv($tid,$tag,2,5000); =item B Unpacks the active receive message buffer. Eg. @recv_buffer = Parallel::Pvm::unpack ; =back =head1 AUTHOR Edward Walker, edward@nsrc.nus.sg, National Supercomputing Research Centre, Singapore =head1 SEE ALSO perl(1), pvm_intro(1PVM) =cut allel::PvmParallel-Pvm-1.1/blib/lib/auto/000755 002141 000024 00000000000 06230617514 016542 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/lib/auto/Parallel/000755 002141 000024 00000000000 06230617514 020276 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/lib/auto/Parallel/Pvm/000755 002141 000024 00000000000 06230617514 021040 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/lib/auto/Parallel/Pvm/.exists000644 002141 000024 00000000000 06157747530 022360 0ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/lib/auto/Parallel/Pvm/autosplit.ix000644 002141 000024 00000000157 06230405732 023426 0ustar00edwardnsrc000000 000000 # Index created by AutoSplit for ./blib/lib/Parallel/Pvm.pm (file acts as timestamp) package Parallel::Pvm; 1; Ð`e<<`v:d`"9Ü`!9X`%8Ä`"8<`7ä`‰5À`:4Ø`+4,µ¯ «Æ´µ¯ «È\`>1ìnPÿ|ðÿx¬µ¯ «ÆŒ`I.ˆ`/-Ì`B,ĵ¯ «ñäØuðP P_þWÜPµ¯ «ÉDµ¯ ¬’xµ¯ ¬’, P_þWèP_þWÐ „µ¯ @`_þWèP „ µ¯ «Æ´› ¬BÔauœÿx¬µ¯ u ÿx¬ Ä Èµ' µ¯ @bhu uœµ¯ «ö¨µ¯ @aص¯ Parallel-Pvm-1.1/blib/man3/000755 002141 000024 00000000000 06230617517 015665 5ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/man3/.exists000644 002141 000024 00000000000 06157747530 017202 0ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/blib/man3/Parallel::Pvm.3000644 002141 000024 00000075650 06230405755 020370 0ustar00edwardnsrc000000 000000 .rn '' }` ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ ''' .de Sh .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp .if t .sp .5v .if n .sp .. .de Ip .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb .ft CW .nf .ne \\$1 .. .de Ve .ft R .fi .. ''' ''' ''' Set up \*(-- to give an unbreakable dash; ''' string Tr holds user defined translation string. ''' Bell System Logo is used as a dummy character. ''' .tr \(*W-|\(bv\*(Tr .ie n \{\ .ds -- \(*W- .ds PI pi .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch .ds L" "" .ds R" "" .ds L' ' .ds R' ' 'br\} .el\{\ .ds -- \(em\| .tr \*(Tr .ds L" `` .ds R" '' .ds L' ` .ds R' ' .ds PI \(*p 'br\} .\" If the F register is turned on, we'll generate .\" index entries out stderr for the following things: .\" TH Title .\" SH Header .\" Sh Subsection .\" Ip Item .\" X<> Xref (embedded .\" Of course, you have to process the output yourself .\" in some meaninful fashion. .if \nF \{ .de IX .tm Index:\\$1\t\\n%\t"\\$2" .. .nr % 0 .rr F .\} .TH PVM 1 "perl " "14/Oct/96" "User Contributed Perl Documentation" .IX Title "PVM 1" .UC .IX Name "Parallel::Pvm - Perl extension for the Parallel Virtual Machine (PVM) Message Passing System" .if n .hy 0 .if n .na .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .de CQ \" put $1 in typewriter font .ft CW 'if n "\c 'if t \\&\\$1\c 'if n \\&\\$1\c 'if n \&" \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 '.ft R .. .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 . \" AM - accent mark definitions .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E .ds oe o\h'-(\w'o'u*4/10)'e .ds Oe O\h'-(\w'O'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds v \h'-1'\o'\(aa\(ga' . ds _ \h'-1'^ . ds . \h'-1'. . ds 3 3 . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .\} .rm #[ #] #H #V #F C .SH "NAME" .IX Header "NAME" Parallel::Pvm \- Perl extension for the Parallel Virtual Machine (PVM) Message Passing System .SH "SYNOPSIS" .IX Header "SYNOPSIS" .PP .Vb 1 \& use Parallel::Pvm; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBPVM\fR message passing system enables a programmer to configure a group of (possibly heterogenous) computers connected by a network into a parallel virtual machine. The system was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University. .PP Using PVM, applications can be developed which spawns parallel processes onto nodes in the virtual machine to perform specific tasks. These parallel tasks can also periodically exchange information using a set of message passing functions developed for the system. .PP PVM applications have mostly been developed in the scientific and engineering fields. However applications for real-time and client/server systems can also be developed. PVM simply provides a convenient way for managing parallel tasks and communications without need for \fBrexec\fR or \fBsocket\fR level programming. .PP As a utility, PVM enables an organisation to leverage on the computers already available for parallel processing. Parallel applications can be started during non-peak hours to utilise idle CPU cycles. Or dedicated workstation clusters connected via a high performance network like \fBATM\fR can be used for high performance computing. .PP It is recommended that you read the PVM manual pages and the book \*(L"PVM: Parallel Virtual Machine, A users's guide and tutorial for networked parallel computing\*(R". Both the PVM system and the book can be obtained from the HTTP address http://www.epm.ornl.gov/pvm. .PP For the rest of this document we will provide a tutorial introduction to developing PVM applications using perl. The interface for some of the PVM functions have been changed of course to give it a more perl-like feel. .PP Remember think perl think parallel! Good Luck! .Sh "Environment Variables" .IX Subsection "Environment Variables" After installing \s-1PVM\s0 on your computer, there are two mandatory environment variables that have to be set in your .login or .cshrc files; \fB\s-1PVM_ROOT\s0\fR and \fB\s-1PVM_ARCH\s0\fR. \fB\s-1PVM_ROOT\s0\fR points to the base of the \fB\s-1PVM\s0\fR installation directory, and \fB\s-1PVM_ARCH\s0\fR specifies the architecture of the computer on which \fB\s-1PVM\s0\fR is running. An example of how this can be set for csh is shown below, .PP .Vb 2 \& setenv PVM_ROOT /usr/local/pvm3 \& setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch` .Ve .Sh "Setting up your rsh permission" .IX Subsection "Setting up your rsh permission" In order for \s-1PVM\s0 applications to run, \fBrsh\fR permission has to be enabled. This involves creating a \fB.rhosts\fR file in your \fB\s-1HOME\s0\fR directory containing, for each line, the host and account name you wish to allow remote execution privillages. An example \fB.rhosts\fR file to allow a \s-1PVM\s0 application to remotely execute on the host \fBonyx\fR and \fBprata\fR using the account \fBedward\fR is shown below, .PP .Vb 2 \& onyx edward \& prata edward .Ve .Sh "Configuring your parallel virtual machine" .IX Subsection "Configuring your parallel virtual machine" Parallel process management and communications is handled by a set of distributed deamons running on each of the nodes of the virtual machine. The daemon executable, \fBpvmd\fR, is started when a computer is added to the virtual machine. A computer can be added to the virtual machine either statically in a console program or using a \fBhostfile\fR, or dynamically within the application code itself. .PP The first method of configuring your virtual machine is to use the console program \fB$\s-1PVM_ROOT/\s0lib/pvm\fR. Run it from the command prompt. The console program will first add the local host into the virtual machine and display the prompt pvm> .PP To add a host, eg \fBonyx\fR, as a node in your parallel virtual machine, simply type .PP .Vb 1 \& pvm> add onyx .Ve To display the current virtual machine configuration type .PP .Vb 1 \& pvm> conf .Ve which will display node information pertaining to the host name, host id, host architecture, relative speed and data format. The console program has a number of other commands which can be viewed by typing \fBhelp\fR. .PP The second method of configuring your virtual machine is to use a \fBhostfile\fR. The \fBhostfile\fR is simply an \s-1ASCII\s0 text file specifing the host names of the computers to be added into your virtual machine. .PP Additional options may be also be defined for the nodes pertaining to the working directory, execution path, login name, alternative hostname etc. A simple example of a \fBhostfile\fR is shown below. .PP .Vb 4 \& * wd=$HOME/work ep=$HOME/bin \& onyx \& prata.nsrc.nus.sg \& laksa ep=$HOME/perl5/bin .Ve In the above example \fBhostfile\fR we are adding the hosts \fBonyx\fR, \fBprata.nsrc.nus.sg\fR and \fBlaksa\fR into the virtual machine. We are also specifying the working directory, \fBwd\fR, in which we want our application to run, and the execution path, \fBep\fR, in which we want \s-1PVM\s0 to look for executables. .PP The \fB*\fR in the first line defines a global option for all the hosts specified after it. We can however provide an option locally to over-ride this global option. This is seen for the host \fBlaksa\fR where we have specified its execution path to be \fB$\s-1HOME/\s0perl5/bin\fR instead of the \fB$\s-1HOME/\s0bin\fR. .PP The third method of configuring your virtual machine is to call the functions \fBParallel::Pvm::addhosts\fR or \fBParallel::Pvm::delhosts\fR within your application. You must still start your master \fBpvmd\fR daemon first. This can be achieved by starting \fBpvm\fR and typing \fBquit\fR or simply typing .PP .Vb 1 \& echo quit | pvm .Ve The \s-1PVM\s0 application can then be started where we can add the hosts \fBprata\fR and \fBlaksa\fR by calling .PP .Vb 1 \& Parallel::Pvm::addhosts("prata","laksa"); .Ve Or we can delete a host from our configuration by calling .PP .Vb 1 \& Parallel::Pvm::delhosts("laksa"); .Ve \s-1PVM\s0 also provides a function, \fBParallel::Pvm::conf\fR, to query the configuration of the parallel virtual machine. An example code to check the current configuration is shown below. .PP .Vb 9 \& ($info,@conf) = Parallel::Pvm::conf ; \& if ( $info == PvmOk ){ \& foreach $node (@conf){ \& print "host id = $node->{'hi_tid'}\en"; \& print "host name = $node->{'hi_name'}\en"; \& print "host architecture = $node->{'hi_arch'}\en"; \& print "host speed = $node->{'hi_speed'}\en"; \& } \& } .Ve .Sh "Enrolling a task into \s-1PVM\s0" .IX Subsection "Enrolling a task into \s-1PVM\s0" A task has to expilictly enroll into \s-1PVM\s0 in order for it to be known by other \s-1PVM\s0 tasks. This can often be done by the call \f(CW$mytid\fR = Parallel::Pvm::mytid ; .PP where \fB$mytid\fR is the task id, \fB\s-1TID\s0\fR, assigned by the \s-1PVM\s0 system to the calling process. Note however that calling any \s-1PVM\s0 function in a program will also enroll it into the system. .Sh "Spawning parallel tasks" .IX Subsection "Spawning parallel tasks" A \s-1PVM\s0 application can spawn parallel tasks in your parallel virtual machine. Assuming there is exists an executable called \fBclient\fR, we can spawn four \fBclient\fR tasks in our virtual machine by calling .PP .Vb 1 \& ($ntask,@tids) = Parallel::Pvm::spawn("client",4); .Ve For each of the four spawned processes, the \s-1PVM\s0 system first allocates a host node and looks for the executable in the execuation path of that host. If the executable is found it is started. .PP The task which called the \fBParallel::Pvm::spawn\fR is known as the \fBparent\fR task. The number of \fBchildren\fR tasks which are actually spawned by \fBParallel::Pvm::spawn\fR is returned in the scalar \fB$ntask\fR. The \fB@tids\fR array returns the task id, \fB\s-1TID\s0\fR, of the spawned \fBchildren\fR tasks which will be useful later for communicating with them. A \fB\s-1TID\s0\fR < 0 indicates a task failure to spawn and can be used to determine the nature of the problem. Eg. .PP .Vb 7 \& foreach $tid (@tids){ \& if ( $tid < 0 ){ \& if ( $tid == PvmNoMem ) \& warn "no memory ! \en"; \& }else if ( $tid == PvmSysErr ){ \& warn "pvmd not responding ! \en"; \& } ... .Ve .Vb 2 \& } \& } .Ve For more sophisticated users, \fBParallel::Pvm::spawn\fR may be given additional argument parameters to control how/where you want a task to be spawned. For example, you can specifically spawn \fBclient\fR in the internet host \fBonyx.nsrc.nus.sg\fR by calling .PP .Vb 1 \& Parallel::Pvm::spawn("client",1,PvmTaskHost,"onyx.nsrc.nus.sg"); .Ve Or you can spawn \fBclient\fR on host nodes only of a particular architecture, say \s-1RS6K\s0 workstations, by calling .PP .Vb 1 \& Parallel::Pvm::spawn("client",4,PvmTaskArch,"RS6K"); .Ve Also, if the spawned remote executable requires an argument \fBargv\fR, you can supply this by calling .PP .Vb 1 \& Parallel::Pvm::spawn("client",4,PvmTaskArch,"RS6K",argv); .Ve Note that tasks which have been spawned by using \fBParallel::Pvm::spawn\fR do not need to be explicitly enrolled into the pvm system. .Sh "Exchanging messages between tasks" .IX Subsection "Exchanging messages between tasks" Messages can be sent to a task enrolled into \s-1PVM\s0 by specifying the example code sequence .PP .Vb 4 \& Parallel::Pvm::initsend ; \& Parallel::Pvm::pack(2.345,"hello dude"); \& Parallel::Pvm::pack(1234); \& Parallel::Pvm::send($dtid,999); .Ve In our example we first call \fBParallel::Pvm::initsend\fR to initialize the internal \s-1PVM\s0 send buffer. We then call \fBParallel::Pvm::buffer\fR to fill this buffer with a double (2.345), , a string ("hello dude"), and an integer (1234). Having filled the send buffer with the data that is to be sent, we call \fBParallel::Pvm::send\fR to do the actual send to the task identifed by the \fB\s-1TID\s0\fR \fB$dtid\fR. We also label the sending message to disambiguate it with other messages with a tag. This is done with the 999 argument in \fBParallel::Pvm::send\fR function. .PP For the destination task, we can receive the message sent by performing a blocking receive with the function \fBParallel::Pvm::recv\fR. A code sequence for the above example on the recipent end will be .PP .Vb 4 \& if ( Parallel::Pvm::recv >= 0 ){ \& $int_t = Parallel::Pvm::unpack ; \& ($double_t,$str_t) = Parallel::Pvm::unpack ; \& } .Ve Note that we must unpack the message in the reverse order in which we packed our message. In our example \fBParallel::Pvm::recv\fR will receive any message sent to it. In order to selectively receive a message, we could specify the \fB\s-1TID\s0\fR of the source task and the message \fBtag\fR. For example, .PP .Vb 2 \& $tag = 999; \& Parallel::Pvm::recv($stid,$tag) ; .Ve Other message passing functions that you may find useful are \fBParallel::Pvm::psend\fR, \fBParallel::Pvm::trecv\fR, \fBParallel::Pvm::nrecv\fR and \fBParallel::Pvm::precv\fR. .Sh "Parallel I/O " .IX Subsection "Parallel I/O " Note that the file descriptors in a parent task are not inherented in the spawned \fBchildren\fR tasks unlike \fBfork\fR. By default any file I/O will be performed in the working directory specified in the \fBhostfile\fR if no absolute path was provided for the opened file. If no working directory is specified, the default is the \fB$\s-1HOME\s0\fR directory. For directories which are not \s-1NFS\s0 mounted, this would mean that each task performs its own separate I/O. .PP In the case of \fBtty\fR output, tasks which are not started from the command prompt will have their \fBstdout\fR and \fBstderr\fR directed to the file pvml.. This may be redirected to a \fBparent\fR task by calling .PP .Vb 1 \& Parallel::Pvm::catchout; .Ve for \fBstdout\fR or .PP .Vb 1 \& Parallel::Pvm::catchout(stderr); .Ve for \fBstderr\fR. You can direct the \fBstdout\fR or \fBstderr\fR output of a task to another \fB\s-1TID\s0\fR , other then its parent, by calling .PP .Vb 1 \& Parallel::Pvm::setopt(PvmOutTid,$tid); .Ve .Sh "Incorporating fault tolerance" .IX Subsection "Incorporating fault tolerance" The function \fBParallel::Pvm::notify\fR can be used to incorporate some fault tolerance into your \s-1PVM\s0 application. You may use it to ask the \s-1PVM\s0 to monitor the liveliness of a set of hosts or tasks during the execution of a \s-1PVM\s0 application. For example you can instrument your application to monitor 3 tasks with \fB\s-1TID\s0\fR \fB$task1\fR, \fB$task2\fR, and \fB$task3\fR, by using the code segments .PP .Vb 3 \& @monitor = ($task1,$task2,$task3); \& Parallel::Pvm::notify(PvmTaskExit,999,@monitor_task); \& ... .Ve .Vb 4 \& if ( Parallel::Pvm::probe(-1,999) ){ \& $task = Parallel::Pvm::recv_notify ; \& print "Oops! task $task has failed ... \en" ; \& } .Ve If either \fB$task1\fR, \fB$task2\fR or \fB$task3\fR fails, the notification will take the form of a single message with the tag 999. The message content will inform you of the \fB\s-1TID\s0\fR of the failed task. .PP A similar scheme may be employed for the notification of host failures in your parallel virtual machine. .Sh "Client/Server example" .IX Subsection "Client/Server example" \fBClient:\fR .PP .Vb 3 \& use Pvm; \& use File::Basename; \& ... .Ve .Vb 2 \& # Look for server tid and assume \& # server name is 'service_provider' .Ve .Vb 7 \& @task_list = Parallel::Pvm::tasks ; \& foreach $task (@task_list){ \& $a_out = $task->{'ti_a_out'} ; \& $base = basename $a_out ; \& if ( $base eq 'service_provider' ) \& $serv_tid = $task->{'ti_tid'} ; \& } .Ve .Vb 4 \& # This is just one way (not necessarily the \& # best) of getting a server tid. \& # You could do the same thing by reading \& # the server tid posted in a file. .Ve .Vb 4 \& ... \& \& # send request for service \& Parallel::Pvm::send($serv_tid,$REQUEST); .Ve .Vb 4 \& # receive service from server \& Parallel::Pvm::recv(-1,$RESPONSE); \& @service_packet = Parallel::Pvm::unpack ; \& ... .Ve \fBServer:\fR .PP .Vb 2 \& while(1){ \& ... .Ve .Vb 1 \& if ( Parallel::Pvm::probe(-1,$REQUEST) ){ .Ve .Vb 3 \& # a service request has arrived ! \& $bufid = Parallel::Pvm::recv ; \& ($info,$bytes,$tag,$stid) = Parallel::Pvm::bufinfo($bufid) ; .Ve .Vb 16 \& if ( fork == 0 ){ \& # fork child process to handle service \& ... \& \& # provide service \& Parallel::Pvm::initsend ; \& Parallel::Pvm::pack(@service); \& Parallel::Pvm::send($stid,$RESPONSE); \& \& # exit child process \& exit ; \& } \& } \& ... \& \& } .Ve .Sh "\s-1PVM\s0 groups " .IX Subsection "\s-1PVM\s0 groups " The \s-1PVM\s0 dynamic group functions have not been ported to perl yet. These functions provide facilities for collecting processes under a single \fBgroup\fR label, and applying aggregate operations onto them. Examples of these functions are \fBParallel::Pvm::barrier\fR, \fBParallel::Pvm::reduce\fR, \fBParallel::Pvm::bcast\fR etc. One of our concerns is that these group functions may be changed or augmented in the future releases of \s-1PVM\s0 3.4*. A decision for porting the group functions will be made after \s-1PVM\s0 3.4 has been released. .SH "FUNCTIONS" .IX Header "FUNCTIONS" .Ip "\fBParallel::Pvm::addhosts\fR " 4 .IX Item "\fBParallel::Pvm::addhosts\fR " Adds one or more host names to a parallel virtual machine. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::addhosts(@host_list) ; .Ve .Ip "\fBParallel::Pvm::bufinfo\fR" 4 .IX Item "\fBParallel::Pvm::bufinfo\fR" Returns information about the requested message buffer. Eg. .Sp .Vb 1 \& ($info,$bytes,$tag,$tid) = Parallel::Pvm::bufinfo($bufid); .Ve .Ip "\fBParallel::Pvm::catchout\fR" 4 .IX Item "\fBParallel::Pvm::catchout\fR" Catches output from children tasks. Eg. .Sp .Vb 2 \& # Parallel::Pvm::catchout(stdout); \& $bufid = Parallel::Pvm::catchout; .Ve .Ip "\fBParallel::Pvm::config\fR" 4 .IX Item "\fBParallel::Pvm::config\fR" Returns information about the present virtual machine configuration. Eg. .Sp .Vb 1 \& ($info,@host_ref_list) = Parallel::Pvm::config ; .Ve .Ip "\fBParallel::Pvm::delhosts\fR" 4 .IX Item "\fBParallel::Pvm::delhosts\fR" Deletes one or more hosts from the virtual machine. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::delhosts(@host_list); .Ve .Ip "\fBParallel::Pvm::exit\fR" 4 .IX Item "\fBParallel::Pvm::exit\fR" Tells the local \s-1PVM\s0 daemon that the process is leaving. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::exit ; .Ve .Ip "\fBParallel::Pvm::freebuf\fR" 4 .IX Item "\fBParallel::Pvm::freebuf\fR" Disposes of a message buffer. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::freebuf($bufid); .Ve .Ip "\fBParallel::Pvm::getopt\fR" 4 .IX Item "\fBParallel::Pvm::getopt\fR" Shows various libpvm options. Eg. .Sp .Vb 2 \& $val = Parallel::Pvm::getopt(PvmOutputTid); \& $val = Parallel::Pvm::getopt(PvmFragSize); .Ve .Ip "\fBParallel::Pvm::getrbuf\fR" 4 .IX Item "\fBParallel::Pvm::getrbuf\fR" Returns the message buffer identifier for the active receive buffer. Eg. .Sp .Vb 1 \& $bufid = Parallel::Pvm::getrbuf ; .Ve .Ip "\fBParallel::Pvm::getsbuf\fR" 4 .IX Item "\fBParallel::Pvm::getsbuf\fR" Returns the message buffer identifier for the active send buffer. Eg. .Sp .Vb 1 \& $bufid = Parallel::Pvm::getsbuf ; .Ve .Ip "\fBParallel::Pvm::halt\fR" 4 .IX Item "\fBParallel::Pvm::halt\fR" Shuts down the entire \s-1PVM\s0 system. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::halt ; .Ve .Ip "\fBParallel::Pvm::hostsync\fR" 4 .IX Item "\fBParallel::Pvm::hostsync\fR" Gets time-of-day clock from \s-1PVM\s0 host. Eg. .Sp .Vb 1 \& ($info,$remote_clk,$delta) = Parallel::Pvm::hostsync($host) ; .Ve where \fBdelta\fR is the time-of-day equivalent to \fBlocal_clk \- remote_clk\fR. .Ip "\fBParallel::Pvm::initsend\fR" 4 .IX Item "\fBParallel::Pvm::initsend\fR" Clears default send buffer and specifies message encoding. Eg. .Sp .Vb 2 \& # Parallel::Pvm::initsend(PvmDataDefault) ; \& $bufid = Parallel::Pvm::initsend .Ve .Ip "\fBParallel::Pvm::kill\fR" 4 .IX Item "\fBParallel::Pvm::kill\fR" Terminates a specified \s-1PVM\s0 process. .Sp .Vb 1 \& $info = Parallel::Pvm::kill($tid); .Ve .Ip "\fBParallel::Pvm::mcast\fR" 4 .IX Item "\fBParallel::Pvm::mcast\fR" Multicast the data in the active message buffer to a set of tasks. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::mcast(@tid_list,$tag); .Ve .Ip "\fBParallel::Pvm::mkbuf\fR" 4 .IX Item "\fBParallel::Pvm::mkbuf\fR" Creates a new message buffer. Eg. .Sp .Vb 2 \& # Parallel::Pvm::mkbuf(PvmDataDefault); \& $bufid = Parallel::Pvm::mkbuf ; .Ve .Vb 1 \& $bufid = Parallel::Pvm::mkbuf(PvmDataRaw); .Ve .Ip "\fBParallel::Pvm::mstat\fR" 4 .IX Item "\fBParallel::Pvm::mstat\fR" Returns the status of a host in the virtual machine. Eg. .Sp .Vb 1 \& $status = Parallel::Pvm::mstat($host); .Ve .Ip "\fBParallel::Pvm::mytid\fR" 4 .IX Item "\fBParallel::Pvm::mytid\fR" Returns the tid of the calling process. .Sp .Vb 1 \& $mytid = Parallel::Pvm::mytid ; .Ve .Ip "\fBParallel::Pvm::notify\fR" 4 .IX Item "\fBParallel::Pvm::notify\fR" Requests notification of \s-1PVM\s0 events. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::notify(PvmHostDelete,999,$host_list); .Ve .Vb 2 \& # turns on notification for new host \& $info = Parallel::Pvm::notify(PvmHostAdd); .Ve .Vb 2 \& # turns off notification for new host \& $info = Parallel::Pvm::notify(PvmHostAdd,0); .Ve .Ip "\fBParallel::Pvm::nrecv\fR" 4 .IX Item "\fBParallel::Pvm::nrecv\fR" Nonblocking receive. Eg. .Sp .Vb 2 \& # Parallel::Pvm::nrecv(-1,-1); \& $bufid = Parallel::Pvm::nrecv ; .Ve .Vb 2 \& # Parallel::Pvm::nrecv($tid,-1); \& $bufid = Parallel::Pvm::nrecv($tid) ; .Ve .Vb 1 \& $bufid = Parallel::Pvm::nrecv($tid,$tag) ; .Ve .Ip "\fBParallel::Pvm::pack\fR" 4 .IX Item "\fBParallel::Pvm::pack\fR" Packs active message buffer with data. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::pack(@data_list); .Ve .Ip "\fBParallel::Pvm::parent\fR" 4 .IX Item "\fBParallel::Pvm::parent\fR" Returns the tid of the process that spawned the calling process. Eg. .Sp .Vb 1 \& $tid = Parallel::Pvm::parent ; .Ve .Ip "\fBParallel::Pvm::perror\fR" 4 .IX Item "\fBParallel::Pvm::perror\fR" Prints the error status of the las \s-1PVM\s0 call. .Sp .Vb 1 \& $info = Parallel::Pvm::perror($msg); .Ve .Ip "\fBParallel::Pvm::precv\fR" 4 .IX Item "\fBParallel::Pvm::precv\fR" Receives a message directly into a buffer. .Sp .Vb 2 \& # Parallel::Pvm::precv(-1,-1); \& @recv_buffer = Parallel::Pvm::precv ; .Ve .Vb 2 \& # Parallel::Pvm::precv($tid,-1); \& @recv_buffer = Parallel::Pvm::precv($tid); .Ve .Vb 1 \& @recv_buffer = Parallel::Pvm::precv($tid,$tag); .Ve Note that the current limit for the receive buffer is 100 KBytes. .Ip "\fBParallel::Pvm::probe\fR" 4 .IX Item "\fBParallel::Pvm::probe\fR" Checks whether a message has arrived. Eg. .Sp .Vb 2 \& # Parallel::Pvm::probe(-1,-1); \& $bufid = Parallel::Pvm::probe ; .Ve .Vb 2 \& # Parallel::Pvm::probe($tid,-1); \& $bufid = Parallel::Pvm::probe($tid); .Ve .Vb 1 \& $bufid = Parallel::Pvm::probe($tid,$tag); .Ve .Ip "\fBParallel::Pvm::psend\fR" 4 .IX Item "\fBParallel::Pvm::psend\fR" Packs and sends data in one call. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::psend($tid,$tag,@send_buffer); .Ve .Ip "\fBParallel::Pvm::pstat\fR" 4 .IX Item "\fBParallel::Pvm::pstat\fR" Returns the status of the specified \s-1PVM\s0 process. Eg. .Sp .Vb 1 \& $status = Parallel::Pvm::pstat($tid); .Ve .Ip "\fBParallel::Pvm::recv\fR" 4 .IX Item "\fBParallel::Pvm::recv\fR" Receives a message. Eg. .Sp .Vb 2 \& # Parallel::Pvm::recv(-1,-1); \& $bufid = Parallel::Pvm::recv ; .Ve .Vb 2 \& # Parallel::Pvm::recv($tid,-1); \& $bufid = Parallel::Pvm::recv($tid) ; .Ve .Vb 1 \& $bufid = Parallel::Pvm::recv($tid,$tag); .Ve .Ip "\fBParallel::Pvm::recvf\fR" 4 .IX Item "\fBParallel::Pvm::recvf\fR" Redefines the comparison function used to accept messages. Eg. .Sp .Vb 1 \& Parallel::Pvm::recvf(\e&new_foo); .Ve .Ip "\fBParallel::Pvm::recv_notify\fR" 4 .IX Item "\fBParallel::Pvm::recv_notify\fR" Receives the notification message initiated by \fBParallel::Pvm::notify\fR. This should be preceded by a \fBParallel::Pvm::probe\fR. Eg. .Sp .Vb 4 \& # for PvmTaskExit and PvmHostDelete notification \& if ( Parallel::Pvm::probe(-1,$notify_tag) ){ \& $message = Parallel::Pvm::recv_notify(PvmTaskExit) ; \& } .Ve .Vb 2 \& # for PvmHostAdd notification \& @htid_list = Parallel::Pvm::recv_notify(PvmHostAdd); .Ve .Ip "\fBParallel::Pvm::recvf_old\fR" 4 .IX Item "\fBParallel::Pvm::recvf_old\fR" Resets the comparison function for accepting messages to the previous method before a call to \fBParallel::Pvm::recf\fR. .Ip "\fBParallel::Pvm::reg_hoster\fR" 4 .IX Item "\fBParallel::Pvm::reg_hoster\fR" Registers this task as responsible for adding new \s-1PVM\s0 hosts. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::reg_hoster ; .Ve .Ip "\fBParallel::Pvm::reg_rm\fR" 4 .IX Item "\fBParallel::Pvm::reg_rm\fR" Registers this task as a \s-1PVM\s0 resource manager. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::reg_rm ; .Ve .Ip "\fBParallel::Pvm::reg_tasker\fR" 4 .IX Item "\fBParallel::Pvm::reg_tasker\fR" Registers this task as responsible for starting new \s-1PVM\s0 tasks. Eg. .Sp .Vb 1 \& $info = Parallel::Pvm::reg_tasker ; .Ve .Ip "\fBParallel::Pvm::send\fR" 4 .IX Item "\fBParallel::Pvm::send\fR" Send the data in the active message buffer. Eg. .Sp .Vb 2 \& # Parallel::Pvm::send(-1,-1); \& $info = Parallel::Pvm::send ; .Ve .Vb 2 \& # Parallel::Pvm::send($tid,-1); \& $info = Parallel::Pvm::send($tid); .Ve .Vb 1 \& $info = Parallel::Pvm::send($tid,$tag); .Ve .Ip "\fBParallel::Pvm::sendsig\fR" 4 .IX Item "\fBParallel::Pvm::sendsig\fR" Sends a signal to another \s-1PVM\s0 process. Eg. .Sp .Vb 2 \& use POSIX qw(:signal_h); \& ... .Ve .Vb 1 \& $info = Parallel::Pvm::sendsig($tid,SIGKILL); .Ve .Ip "\fBParallel::Pvm::setopt\fR" 4 .IX Item "\fBParallel::Pvm::setopt\fR" Sets various libpvm options. Eg. .Sp .Vb 1 \& $oldval=Parallel::Pvm::setopt(PvmOutputTid,$val); .Ve .Vb 1 \& $oldval=Parallel::Pvm::setopt(PvmRoute,PvmRouteDirect); .Ve .Ip "\fBParallel::Pvm::setrbuf\fR " 4 .IX Item "\fBParallel::Pvm::setrbuf\fR " Switches the active receive buffer and saves the previous buffer. Eg. .Sp .Vb 1 \& $oldbuf = Parallel::Pvm::setrbuf($bufid); .Ve .Ip "\fBParallel::Pvm::setsbuf\fR" 4 .IX Item "\fBParallel::Pvm::setsbuf\fR" Switches the active send buffer. Eg. .Sp .Vb 1 \& $oldbuf = Parallel::Pvm::setsbuf($bufid); .Ve .Ip "\fBParallel::Pvm::spawn\fR" 4 .IX Item "\fBParallel::Pvm::spawn\fR" Starts new \s-1PVM\s0 processes. Eg. .Sp .Vb 2 \& # Parallel::Pvm::spawn("compute.pl",4,PvmTaskDefault,""); \& ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4); .Ve .Vb 1 \& ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4,PvmTaskHost,"onyx"); .Ve .Vb 1 \& ($ntask,@tid_list) = Parallel::Pvm::spawn("compute.pl",4,PvmTaskHost,"onyx",argv); .Ve .Ip "\fBParallel::Pvm::tasks\fR" 4 .IX Item "\fBParallel::Pvm::tasks\fR" Returns information about the tasks running on the virtual machine. Eg. .Sp .Vb 2 \& # Parallel::Pvm::tasks(0); Returns all tasks \& ($info,@task_list) = Parallel::Pvm::tasks ; .Ve .Vb 3 \& # Returns only for task $tid \& ($info,@task_list) = Parallel::Pvm::tasks($tid) ; \& .Ve .Ip "\fBParallel::Pvm::tidtohost\fR" 4 .IX Item "\fBParallel::Pvm::tidtohost\fR" Returns the host \s-1ID\s0 on which the specified task is running. Eg. .Sp .Vb 1 \& $dtid = Parallel::Pvm::tidtohost($tid); .Ve .Ip "\fBParallel::Pvm::trecv\fR" 4 .IX Item "\fBParallel::Pvm::trecv\fR" Receive with timeout. Eg. .Sp .Vb 2 \& # Parallel::Pvm::trecv(-1,-1,1,0); time out after 1 sec \& $bufid = Parallel::Pvm::trecv ; .Ve .Vb 2 \& # time out after 2*1000000 + 5000 usec \& $bufid = Parallel::Pvm::trecv($tid,$tag,2,5000); .Ve .Ip "\fBParallel::Pvm::unpack\fR" 4 .IX Item "\fBParallel::Pvm::unpack\fR" Unpacks the active receive message buffer. Eg. .Sp .Vb 1 \& @recv_buffer = Parallel::Pvm::unpack ; .Ve .SH "AUTHOR" .IX Header "AUTHOR" Edward Walker, edward@nsrc.nus.sg, National Supercomputing Research Centre, Singapore .SH "SEE ALSO" .IX Header "SEE ALSO" \fIperl\fR\|(1), \fIpvm_intro\fR\|(1PVM) .rn }` '' b 2 \& # time out after 2*1000000 + 5000 usec \& $bufid = Parallel::Pvm:Parallel-Pvm-1.1/pm_to_blib000644 002141 000024 00000000000 06210535233 016126 0ustar00edwardnsrc000000 000000 Parallel-Pvm-1.1/so_locations000644 002141 000024 00000000166 06230600770 016532 0ustar00edwardnsrc000000 000000 ./blib/arch/auto/Parallel/Pvm/Pvm.so \ :st = .text 0x5ffc0000, 0x00030000:\ :st = .data 0x5fff0000, 0x00020000:\ ch Centre 81, Science Park Drive Singapore 0511 Email: edward@nsrc.nus.sg WWW: http://www.nsrc.nus.sg/STAFF/edward .tar cd Parallel-Pvm-1.1 Have a look into Makefile.PL to see if you have to make any changes. Afterwhich do perl5 Makefile.PL make make test make install Please read the man page, ie. perldoc Parallel::Pvm Any questions, critisimsµ¯ «ö¨estions are welcome. Parallel-Pvm-1.1/test.pl000644 002141 000024 00000001210 06210301003 015377 0ustar00edwardnsrc000000 000000 # Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN {print "1..1\n";} END {print "not ok 1\n" unless $loaded;} use Parallel::Pvm; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): t.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN {print "1..1\n";} END {print "not ok 1\n" unless $loaded;} use Parallel::Pvm; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your