#!/bin/sh
# SWI-Prolog version: 2.7.12
# SWI-Prolog save-version: 30
exec ${SWIPL-c:/jan/pl/bin/plwin.exe} -x $0 "$@"
# End Header
SWI-Prolog (c) 1990 Jan Wielemaker
 @ > >  '$welcome' prolog .plrc c:/jan/pl/ QFc:/jan/pl/boot/init.pl 2	\sDt: user t$set_source_module v system Pop C@$@$C@%
	@$@ 
$op @ 

 C@(@ @! 	X Pdynamic C@+, 
	@$@  @! C@.@"
/ 	$strip_module 
@!
functor  

	 $set_predicate_attribute X Pmultifile C@3 

	@$@  @! C@6@"
 	 
@!
  

	  X Pmodule_transparent C@; 

	@$@  @! C@>@"
 	 
@!
  

	transparent  X Pdiscontiguous C@C 

	@$@  @! C@F@"
 	 
@!
  

	  X Pvolatile C@K 

	@$@  @! C@N@"
 	 
@!
  

	  X D@S t  t t 
t  t 
t  t 
t  t 
t  t 
t  t 
t $hide t $show_childs P @ C@d@  @!trace   X P @!C@l@  @!hide_childs   X D@t t  t t 
t ; t 
t | t 
t  t 
t call t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t ^ t 
t not t 
t \+ t 
t -> t 
t once t 
t ignore t 
t block t apply P @,C@@"@$@ @"X P @&C@ @1	@!@"@$
@"C@ @1	@$@ @"C@@"C@@ @"X P @'C@ @1	@!@"@$
@"C@ @1	@$@ @"C@@"C@@ @"X P 
C@@"@ @"X P @(C@@"X P @(C@@ @#X P @(C@@ @!@#X P @(C@	@ @!
@#X P @(C@@ @!


@#X P @(C@
@ @!


@#X P @*C@
@?
@"@;
@@X P @+C@
@?
@"@;
@@X P @-C@@"@$X P @.C@@"@$C@ X P @0C@@ @%X P @)C@@ @"X P @/C@@ @"X P! C@@BX Pexit C@@ @CX Pfail C@@B@GX D@ t  t 
t @" @&t 
t @" @'t 
t @" t 
t @" @,t 
t @$ @)t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @*t 
t @$ @+t 
t @$ @-t 
t @$ @.t 
t @$ t 
t @$ @&t 
t @$ @'t 
t @$ @/t @$ @,P$prefix_module C@		@$C@  		X D@ t  t t 
t prolog_trace_interception t exception D@ t  t t 
t  @It  @JD@ t  t @" @IDAt  tflag $verbose_autoload v off DAt  t @K$enable_autoload v on DAt  t @K$autoloading v  P$undefined_procedure CA  
	
 @G   @Jundefined_predicate 
	@"@$CA
@
retry  @O @P @P @K@ @!
$find_library @ @!  @Q+ 	 @K@<@F==  	
@;ensure_loaded 	 @=@9@3@< 
	$c_current_predicate @; 	import  
	@"@9 	use_module  
		 @= @Q
 @K 		 @`CA		@8
 @F @ 
 @Gdwim_predicate 
	findall 
\== @ @!  
 @G

$warn_undefined @D @#  X P$ttyformat CA' @qX P @rCA)user_error @ format X P$confirm CA0	@E@  @r?   @p between @<@*@=@Eget_single_char  @!@y@Y@j@J@n@N@ 
	memberchk @;@$@!$confirm_ @9Please answer 'y' or 'n'~n  @p@G@=X P @CA;@(@y@Y@j@J@ 
	 @~@$@<

@D$tty   @;
yes~n  @p@9@HCAA	@D @no~n  @p@GX P$warning CAI @X P @CAK@N@=@=@Fsource_location  @$@<@=report_error true feature @;
@ sformat @<   @Twarning  @
		@"@;@H@9 @s[WARNING: (~w:~d)~n~t~8|~w]~n 
	 @t@9@H@=
CAV@4@< @ @ @@; @s[WARNING:   @t @s@  @t @s]~n  @t@9@H@<debug_on_error  @ @@;@D @n@9@HX DAg t  t t 
t  @mt 
t $write_alternatives t $predicate_name P @lCAl@$ @[WARNING: Undefined predicate: `~w' 	 @r@8@  @\@9~nHowever there are definitions for:  @p@  @@$ @ @pX P @CAu@$CAv
	@  @~n~t~8|~w 	 @r@! @X P @CA~@@ 

 @<@!  	 @~@;@ ~w/~w 
	 @@9@ ~w:~w/~w 
	 @X DA t  t t  t file_search_path DA t  t t  t  @O  @CA
library @ library_directory CA	
swi home @  @CA
foreign  @	arch  @lib/ 
@!concat CA 
 @ @
lib 	X Pexpand_file_search_path CA@)    @	@"

 @arg 

@ $make_path CA	@Eatomic  	X P @CA  @@$@ @! @CA	 
	@!$concat_atom X P$check_file CA
 @$@GCA
 
 @$CA$compiling database  @ @K@$.qlf .pl  	exists @ $chk_file CA @ @	 @@  @X P @CA@ 
$canonise_extensions 

@!
$dochk_file X P @CA
    @
	@"@$@ @!
$chk_alias_file CA	@-@?@E @	@;@@@$
term_to_atom @=@Fatom_chars  

@ delete @=@F @
@ @!
 @CA@Eis_absolute_file_name  	@$@ 
$extend_file @!

$file_condition @F$absolute_file_name  
CA@-
 @@=@Ffile_directory_name  
 		 @
@  @@!
 @@$@F @CA@ 
 @@!

 @@F @
X DA t  t t $search_path_file_cache DA t  t t  @P @CA@!

 @@F @~ 
CA@:
 @

@  @@!
 @@F @


 @@?@!

 @@;@@ @		assert X P @CA@$CA	@$@!@  @
@  @CA
 @@$@Eexists_file  
CAfile_type 
directory 	@$@Eexists_directory  
CA @
file 	@$@E @
@?@E @
@;@@CAaccess 	@$ @	@  @ @	@  @CA @	@$CA @	@$@Faccess_file  
X P @CA@ $ensure_extensions 

$list_to_set @!

member X P @CA CA
		@ 

file_name_extension 

@ 
 @X P @CB CB	@F @@$
@  @CB	
	


 @X P @CB@$CB	
	@$@!

$canonise_extension 

 @CB	@! @X P @CB
 @
 @@$CB	.  @@$CB @@  @X DB" t  t t 
t  @t 
t $start_compilation t $end_compilation DB& t  t t 
t  @t 
t  @t  A DB,t  t 
t @K$break_level v  t 
t @K @v @t 
t @K$preprocessor vnone tprompt v|:  Pcompiling  CB4 @?	 @ @ @ @K@;	@@X DB7 t  t t $ifcompiling P A	CB: @ @ @ @K@$CB<@"X Ppreprocessor CBC A@  @KX P$open_source CBF@" A A A@$@=@Eseeing  @Esee  	@ $open_source_call @Dseen   @E A
yes  @\CBL@D@! A@<@*%f @!$substitute_atom @;@=
@E A
pipe 	 A@  A@D A@E A
@$
 A @\@9Illegal preprocessor specification: `~w' 	 @@G@=@=
@=X P ACBX@C$compilation_level  @Y	 @K   @		 @=@<
@ @"@;
@! A= @9@!no  A#   A 		 @= A!
 @KX P ACBc
@:@=
@Fname  	
@=@F A'
@=@F A'
append 


 A*@$

 A*

 A*@$@F A'X DBr t  t t 
t  @_t 
t  @t 
t consult t 
t  @et 
t  @et 
t $use_module t 
t $ensure_loaded t $consult_file P @^CB@$CB
	@$@  @^@! @^CB@ 
 @<
@  @@;@! A.@9ensure_loaded/1: No such file: ~w  @@G@=X P A0CB@1@ source_file @$ @<
@ $current_module @;
@!
all $import_list @9@<
@!  @\@;@H@9@  A,@=CB
verbose 	 A/X P @eCB@$CB
	@$@  A<@! A<CB A6 @dX P @dCB@  A:	 A-X P A=CB@! 

 @

 A4@$@=@Econtext_module  

@  A7CB A# @c
	is_module 	 A;X P @CB
	
	 A9X P[]  CB   X P A9CB@$CB
	@$@  A9@! A9CB
 A:	 A;X P$compiler_extension CB 
 @
$qload_file CB 
 @
 A/X P$consult_goal CB
@  AE@! @@$X P A;CB@heapused statistics cputime  AK@< A# @c
	@  @~@;@H@9
 A6 A#@< AA@  @~@; @ A#@9false  A# @<@(
 @
 AH

	@%@;@H@9No such file: ~w  @@G@=@=@=@=@<@_ A:@  @~@8
 @Q   @K@9 @M @P @P @K@; AJ AK AM AK@&@,@+@/@7@&@,@,@/@7

$confirm_file 
$confirm_module ~N~w ~w~w, ~2f sec, ~D bytes.~n 	 @r@9
@H@=@=@=@=@=@=X P APCB	 @	
@$CB 	X P ARCB
 
 @@$CB@Eatom  	@$ into  @  @CC 
 @X P$read_clause CCrepeat  @Eread_clause  	@$X P A/CC@F  

@$@ @!


$consult_file_2 CC@#@=@F Ab
$qlf_start_sub_module 
	 A
@ @!


 Ac$qlf_end_part  A

 X P AcCC	
@T@=@F Ab
@E$start_consult  	

$compile_type @< @wic  Am @K@;$assert_load_context_module 		$add_directive_wic @9@H
 An@=@F$style_check   
 AZ	$load_file 		 A

 As
 X P AkCC#@0 @
@  @K@<@  @ @\@;compiled  A#@9@<@ qlf  @\@;*qcompiled*  A#@9boot compiled  A#X P$load_context_module CC/ A| 	
	recorded X P AnCC2 A| 	
	 A}@$CC4 A| 	
	recordz X P AuCC<?- module 	
 A6@$

 A6@ $load_module CC>:-  A	
 A6@$

 A6@  ACC@ A A	@$

@!@  ACCB A A	@$

@!@  ACCD
 @@$use_module: ~w is not a module file 
	 @@GCCG	
end_of_file @$@F Ab

CCI	@-
 AN@$@F Ab

$qlf_start_file 
	 A
$consult_clause 	
	 @= A\@=@E A^
@  A@$ Ag A
X P$reserved_module CCS 
 CCT 
 X P ACCV A@$Cannot load into module "~w": reserved module name 		 @@GCC[@7@=
@F Ab

@F$declare_module  	@ $export_list $qlf_start_module 		 A
 A\@=@E A^

 A@$ 	$check_export 	@" Ag A


@! A7X P A7CCj@$CCk@1 
		@$


 @F$import_wic  
 	 @b 
	 @=@ 
 A7CCp
 A6@$@=@Fexport_list  

@ $import_all X P ACCu CCv@!
	 
 @b 	 @=@F A

@ @! AX P ACC|@$CC}@$ 	
	@$@!
  		export 

 ACC	Illegal predicate specification in public list: `~w' 	 @
 AX P ACCexpand_term @<
@!@ $store_clause @; A @\@9@GX P$execute_directive CC
@: A@$
$add_directive_wic2 @<@(@  @( @\@; @ @ @K@<

$execute_directive2 @;
 @@! @K@9 @@! @K@G@9 A@=CC AX P ACC@=
@F Ab

 
		@"@$CC@*@=
@F Ab

@<@   @\@;Directive failed: ~w 		 @@9Directive failed: ~w:~w 
		 @@GX P ACC@%@ $common_goal_type @$@<@ load  @\@;@H@=@9@=@F Ab 		 ApCC@<
 @ Ax Ax @K@;@H@9	Cannot compile mixed loading/calling directives: ~w 		 @X P ACC 
	@$@!@  A
@  ACC @2	@$@!@  A
@  ACC @1	@$@!@  A
@  ACC@ $goal_type X P ACC@<$load_goal @;@  A A#@9@  @( A#X P ACC 	CC  A9	CC
 @^	 @ Am Am @KCC
 A<	 @ Am Am @KCC
 @d	 @ Am Am @KX DC t  t t term_expansion DC t  t t  AP ACC$term_expansion_module   A	
	@"@$CC@ $translate_rule @$CC 	X P ACC@$CC	@$@!@  A
@  ACC
 A@$CC A	@$@! ACC A	@$@! ACC
 
	@$Full stop in clause body? (attempt to define ,/2)  @CC A	@Enonvar  @! A	 A#@$Clause not closed by `.'? (attempt to call :-/2)  @CC@" $source_location 	
	

 	$record_clause $qlf_assert_clause 	 A
CC@  A A	 A
X DC t  t t $foreign_registered P ACD		@Z--> 	@Eproper_list  @$@<
 A#@;@!

@ $t_head @=@=@9@4@<
	 A#@;@!
	

@  A@=@9

 A*
	@!@ $extend @=@$CD@# A	 A
	@!

 A



$t_body X P$tailvar CD		@Evar  	@$CD!	@!@  AX P ACD$ 

	
@! A*@$
	

 ACD'
	
 AX P ACD+phrase 	
	@E A	@$CD-@I@E A	@$@< A#@;
 A#
	 A#@=
@9@+@<
	 A#@;
C 

	 A#@9
 A*	
	 A#@=
CD5	 A#@$
 A*	
	 A#CD8

 @B

 @B@$CD9{} 
	 

 A#
	@$CD:		@% 

	 
	@$

@ 
 A

@!
 ACD=@9 @2
	 @2	@$

@  A@ @!


$t_fill 
@  A@ @!


 ACD@@9 @3
	 @2	@$

@  A@ @!


 A
@  A@ @!


 ACDC@N @2 @1
		 @2 @1		@$

@ 
 A

 A@ @!


 A

 A@ @!


 ACDG@N @3 @1
		 @2 @1		@$

@ 
 A

 A@ @!


 A

 A@ @!


 ACDK		@% @1
	 @1	@$

@ 
 A

@!
 ACDN @;
	 @;	@$

@ @!
 ACDP
	
 AX P ACDT 
 A#
		@F @[	@$CDV 
X P ACDY@=@F=..  


 A*@F A
X P ACD^ 
	
X DD` t  t t 
t  At  AP ACDd@  AX P ACDf @<

@Eis_list  @;
@!@  A*@9@ @!@#X P$compile_wic  CDy@=	@E$argv  	
$get_files_argv $get_wic_argv @ @! AX P ACD@0@ $open_wic @D$qlf_put_states    @ Am @K@=@F Ar As	 A   A9		@" @@! @K@D$close_wic   X P ACD@$CD
-c 	@$CD	@!@  AX P ACD 
a.out CD
-o 	@$CD	@!@  AX P @CD 		CD	@! @X P A*CD 
CD
		

@ 
 A*X Phalt  CD    BX DD t  t t at_halt DD t  t t $at_halt P BCD
    B 
	 @X P$run_at_halt  CD@8		 B@"@G@9@H@=	X DD t  t t 
t $load_wic_files t $load_additional_boot_files  P B	CD@3 		 A As @
 Am @K@  A9 	 A As	 A @

 @KX P B
 CD@%@=	@E A	
 A@<@  @j@;Loading additional boot files~n  @u @  Badditional boot files loaded~n  B@9@HX DD t Anc:/jan/pl/boot/load.pl  QFc:/jan/pl/boot/load.pl /7qsD t Anc:/jan/pl/boot/syspred.pl  QM$syspreds Fc:/jan/pl/boot/syspred.pl 1sEsave_program E$defined_predicate E BE AEstyle_check Eshell Esave Evisible E A~E BEclause E B Econcat_atom Eleash E BEint_to_atom E @#Edebugging  Erecorda Edefault_module Eopen_shared_object Eatom_to_term Enospyall  E @Enospy Earithmetic_function E @E B4E A3Erequire E B#Edwim_match Egarbage_collect  E @E @#Eclause_property Egensym Eprolog_load_context E A2Eplease Eabsolute_file_name E AL E$predicate_property Ecurrent_predicate Ecurrent_module Espy E AEpredicate_property E BQE BXXP$map_bits C@B@$C@C
	

@! B`


 B`C@F @Z
	@$

@#@$
@&@+@,@/
@7C@I- 
	@$

@#@$
@&@+@,@.@/@7C@L? 
	

@#@&@+@,@/@'    @2X P$port_bit C@P 
 @(
C@Q 
 @D
C@R 
 @F
C@S 
redo 
C@T 
unify 
C@U 
 A6
C@V 
full 
C@W 
half 

X P B'C@Y@=
@F$leash  B

 Bh@  B`@! BnX P BC@^@=
@F$visible  B

 Bh@  B`@! BqX P$map_style_check C@c 
 AX
C@d 
singleton 
C@e 
dollar 
C@f 
 
C@g 
string 
C@h 
 
@ X P BC@j@=
@F As B

 Bt@  B`@! AsX P BNC@o
autoload @$ @O@ @! @KC@q
verbose_autoload @$ @M@ @! @KC@s@ @!$please X D@v t  Bt t 
t  @#t 
t  @#t 
t $trace t 
t  BZt  B;P BGC@}
 Bb A6	 B,X P B,C@@$C@	@$@!@  B,
@  B,C@	@'@Ddebug   B$find_predicate @! @j@8@! @
$define_predicate @ 
 B}
show_trace_point @G@9@H@=X Ptrace_alias C@ 
 A6
trace_call 
trace_redo 
trace_exit 
trace_fail 	C@ 
 @(
 B	C@ 
 Bi
 B	C@ 
 @D
 B	C@ 
 @F
 B	X P BC@@$C@	@$@!@  B
@  BC@ Bb	@! B@$
 @Z
tag_list 

@  BC@ Bb	@$	 B@ @! C@ Bc	@! B@$
 Bd
 B

@  BC@ Bc	@$	 B@ @!  C@
@E AW B	 Bb		@  BX P BC@ C@@"
		

	 A

@ 
 BX P BYC@@$C@
	@$@  BY@! BYC@@!
 B@  @@! B@E$spy  B@! @Spy point on ~w~n 	 @r@GC@ X P B:C@@$C@
	@$@  B:@! B:C@
 B@  @@E$nospy  B@! @Spy point removed from ~w~n 	 @r@GC@ X P B7C@ 	
	 BU 	
	 B@GC@   X P B-C@  @D$debugging   B@$Debug mode is on; spy points (see spy/1) on:~n  B$show_spy_points  Trace points (see trace/1) on:~n  Bshow_trace_points  C@  Debug mode is off~n  BX P BC@@A 	
	 BU 	
	 BZ$get_predicate_attribute @? 	
	imported_from 	 B\@;@@ 	
	 @~t~8|~w~n 	 @u@GC@   X P BC@@6 	
	 BU 	
	trace_any  B@? 	
	 B	 B\@;@@ 	
	 B@GC@   X D@ t  Bt t 
t  Bt show_trace_ports P BC@
 @~t~8|~w: 
	 B B@Dnl   BX P BC@
	 B@! B ~w 
	 B@GC@ X P B%CA	@$@!
@  @CA@F @ B	
X P @CA

@   $term_to_atom X P B5CA
@E A B@ @!  BX P B*CA
@  B+X P BJCA@"$gs_  @@!
 @K@=
@Fsucc  B
@!

 @K

@  @X P BCCA@  BDX DA" t  Bt t  A3P B?CA%
 BU@F$source_file  B	
X P A2CA)$time_source_file CA+@E B	
 BP@  BX DA6 t  Bt t  BMP BLCA9
 A@F  B

CA;
 @@  @CA=
stream @Ecurrent_input  B
CA?

 @ @@F @ B
CAB
term_position $stream_position 
 
 
 
 	@! @X DAX t  Bt t 
t  BVt  BP BUCA\@E B
@$@=@E A? B@!@ generate_current_predicate CA` 	@8@E B@9@E B@$@!
 BCAc
@  @`@  B@$CAf@"@  @!
 B1 
	 @` 
	 B@$CAk@! @O @P @P @K@  

 @!

 @W@$X P BCAq@  BW 
	 @` 
	 BX P BCAv
defined  B@$X DAy t  Bt t 
t  B]t  BTP B\CA}@I@ undefined  @\@$@8 	 A#@E B@9 @$@! BW
 	 A#

 @`@?

 B@;@@@?

 BU@;@@CA
 BU@  BSX P BSCA
interpreted @  @  BCA
built_in @   BCA
exported @  B BCA
 @@  @ BCA
 @   BCA
 @   BCA
 @   BCA
 B	@ imported @! BCA
 @   BCA
indexed 	@  B@! BCA @	@ @! B?CA
line_count 	@  B@! BCA
notrace @  @#  BCA
show_childs @   B@  @%  BCAhashed 	@  B@! B@&@+@'    @2CAreferences 	@  B@! B@&@+@'    @2X DA t  Btindex t BH P BHCA B	 B@!$get_clause_attribute CA B	 @@! BXDA t  Bt t 
t  B#t  B#P B"CA@E A B@$@!$clause 
 

@ 
$clause2 CA BU@! B
 

@ 
 BX P BBCA BU B 
@ @! BX P BCA A	
	@$CA 
 @	X P B/CA@  B0X P BCA@  AX P B CA@  A}X DA t  Bt t  BAP B@CA CA 
		@$
@ @! @E$require  B
 B@CA
	require/1: Illegal predicate specifier: ~w 
	 @@! B@X P BWCA A4X P B_CA
@  A4@  @jX P B[CA
@E B	 BW@$$module CA @~w is not a current module 		$break  BX P BRCA@trail 	 AKtrailused 
 AKlocal  AKlocalused  AKglobal 
 AKglobalused  AK AM AKinferences  AK AJ AKatoms  AKfunctors  AKpredicates  AKmodules  AKcodes  AKlocallimit  AKgloballimit  AKtraillimit  AK~2f seconds cpu time for ~D inferences~n 	 B~D atoms, ~D functors, ~D predicates, ~D modules, ~D byte-codes~n~n 	 B                      Limit    Allocated       In use~n  BHeap         :                  ~t~D~53| Bytes~n 	 BLocal  stack :~t~D~27| ~t~D~40| ~t~D~53| Bytes~n 	 BGlobal stack :~t~D~27| ~t~D~40| ~t~D~53| Bytes~n 
	 BTrail  stack :~t~D~27| ~t~D~40| ~t~D~53| Bytes~n 	
	 Bgc_statistics  shift_statistics  X P CCB"@)collections 	 AK@&@)@'    @2@$collected 
 AKgctime  AK~n~D garbage collections gained ~D bytes in ~2f seconds.~n 	
	 BCB*   X P CCB,@;local_shifts 	 AKglobal_shifts 
 AKtrail_shifts  AK@8@&@)@'    @2@9@8@&@*@'    @2@9@&@+@'    @2@$~nStack shifts: ~D local, ~D global, ~D trail.~n 	
	 BCB6   X P B!CB=@F$shell  B	
X P BCB@  B!X P B$CBCSHELL 	getenv @$ BCBF  /bin/sh  BX Pdlopen_flag CBN 
now 
CBO 
 B
X Pmap_dlflags CBQ 
 CBR	

 C@! C@ @&@,
@,@/
@7X P B>CBW
@  C@!
$open_shared_object X P B3CB[ B	@  B>X P BCBc BX P @CBf B
	$write_on_string X P B9CBh
 B
	 C X P B^CBq@@<@ extensions 	
select @;@H@=@=@=@9@6@<@  @	 C$@;
file_type_conditions 


 A*@9@=
@F A# B
 @	 A#@=@=@=@<

solutions 	 C$@;@H@9first  A#@=@F C(
@<
file_errors 	 C$@;@H@9 @F A#@=@F C(@<

@! @@;@<
 C+ @\@;@$@9@H@9@<
 @F @\@;@G@9~w: No such file or directory  @@GX P C&CB 	
txt 
 @	CB 
prolog 
 @
 @	CB 
executable 
.so 
 @	CB 
 Ax
 @
 @	CB 	
 @
 @	X P BPCB
@E @ B	@$@F @ B	
CB @	 @read 		 @@$@F C4
CB @	 @@$@F C4
X P BECB   $garbage_collect X P B)CB BX P BCB $autoload clear_library_index 	@"@F$save_program  B	
X P BCB BX DB t  Bt t  B=P B<CB@:
 @8@! 
	 A#@9@!
 @$@&@,
@'   @/ @7

  
	$arithmetic_function X P B1CB 	CB@!$default_module @! @j@!@  B1X XI B BI B BI B BI B BI B BI B BI B BI B BI B  BI B! BI B" BI B$ BI B% BI B' BI B) BI B* BI B, BI B- BI B/ BI B1 BI B3 BI B5 BI B7 BI B9 BI B: BI B< BI @ BI B> BI B? BI B@ BI BB BI BC BI BE BI @ BI BG BI BH BI BJ BI BL BI A2 BI BN BI BP BI BR BI BS BI BU BI BW BI BY BI B[ BI B\ BI B^ BI B_ BD t Anc:/jan/pl/boot/toplevel.pl  QM$toplevel Fc:/jan/pl/boot/toplevel.pl 28sE$set_prompt E B Einitialization E$welcome  E$initialise  Etime E$abort  Eat_initialization E$compile  E C0 E Cu XD t  Cut t loaded_init_file P C{C@Bversion 	 @
@&@)@'  '@/
@7@&@)@'   d@/
@'   d@/@7@&@)@'   d@/@7Welcome to SWI-Prolog (Version ~w.~w.~w)~n 
	 @rCopyright (c) 1993-1996 University of Amsterdam.    @pAll rights reserved.~n~n  @pFor help, use ?- help(Topic). or ?- apropos(Word).~n~n  @pX P$load_init_file C@*
 A@$C@+ C@$C@-@+
 @~/ 	 @@  @@! C5 @@$ C		asserta    @^	@"C@3 X P$load_system_init_file  C@5    C@$C@7
@Vsystem_init_file 	$option @<
 A @\@;
 C 	 C@=
@=@=@9@4 @
 @rc  @
 	 B%
 C5 @ C 	 C  	 A;@$C@B   X P$check_novice  C@D   @P @P$novice PROLOGCHILD  C@$Cannot start Prolog from a child process running under Prolog~n  BPlease type Control-D or `exit' to return to Prolog~n  B B C@J   X P$load_gnu_emacs_interface  C@MEMACS t  C@=	@E A Cu	+C  @~@$   @^ AUemacs_interface 	@"C@R   X D@X t  Cut t 
t  Ct  CzD@[ t  Cut t $at_initialization P CC@^
   Cu @ C 
	@"X P$run_at_initialization  C@b @?		saved_program  @ @@;	@@@$C@d@?@=	@E C	-d  @~@$@8@-
 C@<initialization(~p) ...  
	$feedback @ @"@;ok~n  C@G@9FAILED~n  Cat_initialization goal ~p failed~n 
	 @@G@9@H@=
C@r@!@8	 C@<
@"@;
@G@9
 C		 @@G@9@H@=	X P CC@|
@F B Cu	
user_output flush_output X P CyC@ C@"X P$set_file_search_paths  C@@@8@m@=	@E C	
-p 	 A*@?@ --  @@;@@@:@=@F @ Cu@<@+$search_path 
	
 A@;
reverse  @	 C   @
	forall @9-p: failed to parse ~w 	 @@Dnodebug   Cu@=
@=@=@=@;@H@>@G@9@H@=	@=
@=@=@=
@=@=@=X P CC@@#
@!$string 
@= A@$@F C	
@=@F A# Cu@ 

$search_aliases X P CC@		@+
	@  C
@: A@$

$make_alias @=@F C

@! CC@	
@  C@=@F C@$

 C@F CX P CC@	 A#@=@F C

@! AX P CC@@  @@8@E AW Cu
@=@9@  @!  @j@$C@@F C
	X P$load_associated_file  C@@[associate 	 @
	 A@=@Fprolog_to_os_filename  Cu
@! @@! C5 @@=@F @ Cu@Echdir  Cu  	 A9@$SWI-Prolog --  @!
 @  window_title 
	 A#@<
 BU@;
@"@9@H@D B CuC@   X D@t  Cut @K$banner_goal v  C|P C}C@@I C$clean_history   C C C Cinit_file 	 C Cgoal 
@  C@  @@<
@! C| @\@;
 C
 @K@9@=@F C  	 @= CX P CC@    A tell  A  @K A!  @K~nExecution Aborted~n~n  @p CX P CxC@@' A	 @K@=
@F B Cu	
 A@  @KBreak Level [~w]~n 
	 @r C A @K@$X P CC@top_level 	 C
 @  
	@"X P CCA    AX P CCA
@n$tracing  @N @K A	 @K A\@:@=
@F B Cu

@ $system_prompt |      A@Dtrim_stacks   Cuh !h  @# A	@!
read_history 
 A


call_expand_query @;

$execute @>@$@<  @\@;[halt]~n  @r@9	[exit break level ~d]~n 		 @rX DA" t  Cut t $prompt P CCA% @!
@%
@m
@%
@l
@%
@!
@ 
@?
@-
@ 	X P CvCA'@=
@F A( Cu	
 C	retractall  C
	 @X P CCA-@~ C@<@%  @j@;@%@m		@:@ 		

$substitute @9@%@m	

 D@<@+@   @j@;@%@l	@[	
@]@ 		

 D@9@%@l	

 D@F CX P DCA9
@1@:@ 
convert_to 

flatten @! A*
 A*@;

 A*


 A*@$@>CA@ X P DCAB CAC	
	@E @ Cu@$@F C

 DCAG	
	


 DX P CCAN@E A Cu	@$... 1,000,000 ............ 10,000,000 years later~n~n  @p~t~8|>> 42 << (last release gives the question)~n  @p@GCAS	
 A~N  @p@$CAU@=@F C $dwim_correct_goal 	
	@"@$
@ $execute_goal CAY	@D B  Cu~nNo~n  @p@GX P DCA^
 @#@D @o Cu~n  @p$write_bindings @$@GCAc@e@=@F C$qid  @Y	 @K  C A$user_query 
			
	@"@!$set_user_goal_attributes @8@)  D
	@"@Dflush   Cu@ call_expand_answer  D @p@:
 D@;@$@D D@Eerase  Cu
@G@>@9@D D D @p@E D"
@G@=X P DCAx 	 
 @" D	 @$ D	@"X P DCA|@$Yes~n  @pCA~
@. A\$output_bindings 
get_respons @<@  Bi @\@;@$@G@9@<
@ show_again  @\@;@G@9@$ C~n~nYes~n  @tX DAt  Cut @K$toplevel_print_predicate v print P D&CA@$ D% @pCA A#
		@$@ @!$output_binding  C  write @Dttyflush   CuCA A#
		@ @! D. C B
 D&X P D.CA@& C D1 C =   D1 D,@! @K C
	 A
@"X P D(CA@! A\@D D3@=
@E @| Cu
@ answer_respons @<again  @\@;Action?   @p@G@9@$X P D9CA
 D;@?@h	 @~@$show_toplevel_usage  CA
 Bi@;@n@r@N@R	 @~@$;~n $format_if_tty CA
 Bi@t@T	 @~@$@D D; [trace]~n  D@CA
continue @c@ 

@y@Y	 @~@$CA	
@b
 D*@$@Dbreak   CuCA
 D*print_predicate @$~w~n 	 DA D,@! @KCA
 D;~nUnknown action (h for help)~nAction?   @p@D D3X P DGCA 
@d
display CA 
@w
 D2CA 
@p
 D-X P D=CA  ~nActions:~n  @p; (n, r):     redo    t:               trace & redo~n  @pb:            break   c (ret, space):  continue~n  @pd:            display p                print~n  @pw:            write   h (?):           help~n  @pX P D@CA DJX P DJCA	@D @ Cu@$@  @rCA X DA t  Cut t 
t  Ct $time_call P CCA	
@e AM
 AK B AK DS B
 AK AM AK@&@,@*@/@7@&@,
@+@/@7@<@&@,@'    @5@;Infinite  A#@9@&@,@,@/@.@7~D inferences in ~2f seconds (~w Lips)~n 	 @r
 A @\X P DTCA
 A@"@$CA 
 A%X DA t  Cut  t t expand_query DA t  Cut  t t  DWP CCA   DW	
	@"@$CA 	X DA t  Cut  t t expand_answer DA t  Cut  t t  DYP D CA   DY	
	@"@$CA 	X XI Cv CuI Cx CuI Cy CuI C{ CuI C} CuI C CuI C CuI C CuI C CuI C CuI C CuD t Anc:/jan/pl/boot/listing.pl  QM$listing Fc:/jan/pl/boot/listing.pl .sElisting  Eportray_clause E DiXD t  Dgt t 
t  Di t 
t  Dit 
t  Dgt 
t $listing2 t $list_clauses P DhC@!	 BU@? B B\@;@@@D B Dg
 @ @! Dm@GC@    X P DlC@%@E A Dg	@$C@'@$C@(
	@$@  Dl@! DlC@+
 B@  DgX P DrC@/@" @@D Do@! B@! 

 

@!
 Dp@GC@7 X P DpC@9@  B B\@$%   Undefined: ~w/~w~n 		 BC@<@  @ B\@$%   Foreign: ~w/~w~n 		 BC@?@ 
 


notify_changed @ @!$list_declarations @  DnX P DwC@E@-@?
  		
 @@;
@@@   B\@$@ @!  			 DwC@I@-@?
  		
 @@;
@@@   B\@$@ @!  			 DwC@M@-@?
  		
 @@;
@@@   B\@$@ @!  			 DwC@Q@$C@R
$write_declarations @D DoX P DzC@U@$C@V
	:- ~q.~n 
	 B@! DzX P DyC@Z@!@=
@E A? Dg
 
 BB@!@ $list_module  A
	 Dj@GX P D~C@b
 @$C@c	@$C@d~q: 		 BX P DuC@g@W
   
	 BU@?@!  
	 B	 B\@8@!  @\@9@!   C@@;@@@?  
	  B\@;@@@$@ 
 %   NOTE: system definition has been overruled for ~w/~w~n~n 
	 BC@p X P DjC@x$$VAR  numbervars $portray_clause @GC@| X P DC@~ A

 @	@$@ $portray_head @.put @D DoC@ A
	@$@  D :-  D2@!indent $portray_body @. D@D DoC@ A	 @	 DX P DC@pprint X P DC@	
 @B@$ !  DC@ 

 @B	@$ !,  D
@  D DC@
 D@$@D Do@ $portray_indent @ noindent  DC@ 

	@$
@  D D  D

@  D DC@@+ @2	 @3	 @1		 @~@$(     D@ $portray_or @D Do@  D)  DC@$meta_call @$
@ $portray_meta C@ DX P DC@@; @2 @1	
	@$@=@F B Dg
@!
 D D@D Do@  D->    D

 D D@D Do@  D;     D

@  DC@@% @1	@$@=
@F D

@!

 D D@D Do@  D D D
@  DC@@% @2	@$@=
@F D

@!

 D D@D Do@  D D D
@  DC@@% @3	@$@=
@F D

@!

 D D@D Do@  D|     D
@  DC@@=@F D
@! D DX P DC@  @4	
C@  @<	
C@  @:	
C@  @;	
C@  @=	
X P DC@@L@  @
 
	 @2	 @3	 @1		 @~@$
 @E D Dg
((  D@=@F D

 D D@D Do
 D))  DC@ DX P DC@@#
@&@)@'   @/
@7@&@)@'   @/@'   @/@7@  D		$n_times @Etab  DgX P DC@ @y@ @"@GC@ X P DC@$portray_variable $print X XI Dh DgI Dj DgI Dl DgD t Anc:/jan/pl/boot/edit.pl  QM$edit Fc:/jan/pl/boot/edit.pl 1(sEed  Eedit E DEmake  E D XD t  Dt  t t edit_source D t  Dt  t t  DD t  Dt t 
t  Dt  DP DC
 @@?@ qlf_file @;@@@$$edit_file $record_last $edit_load CNo such file.  Edit new file ~w 		 @v D D DX P DC@$ D	 B Edit file `~w' 		 @v@$ DX P DC@)


@h
 B@8@ 	 A#@=@9@  @@! @Edit predicate `~w' 	 @v@$@! B@!
 B?@! B	 B\@! 
 $edit_predicate   	 D 
  	 DX P DC@8@2@=	@F B D		 D 	 
	 B @$Edit predicate `~w/~w' 
	 @v@$ 	 
	 DC@=@/ D 	 
	 B @$Edit predicate `~w:~w/~w' 	
	 @v@$ 	 
	 DC@A  ed/0: You can only use ed/0 after ed/1!  @X P DC@D	 @ @@$X P DC@G@: B @;@F A# D
@$@>C@J@  B/X P DC@M@' 
	@:
@  @@?
 D@;@@@;
 	 D@$@>C@R@! 	\= @:
 @@?@  D@;@@@;@  D@$@>X P DC@Y
   D		@"@$C@[@F 
  	@$@:@8EDITOR 
 C@9
$default_editor @;@:@8

@ @!
edit_command @9


@ @!$nopredicate  D@;
 B D@>@>C@f@$@:@8 D
 C@9
 D@;@  D D@! B D@>X P DC@o	@]
 D@$@=@F C D
@=@Ffile_base_name  D	@<@5
nosearch  D@;@=@F A( D@%@e	
substitute @%@f	

 D@F D
@9Don't know how to use editor `~w' 		 @@=@=@=@=C@y
	@c@=@F D
@=@F D	@:
search  D@;@=@F D@%@e	
 D@%@f	

 D@%@s	

 D@%@d	@!
 D@F D
@>X P DC@ 
top 
 D
%e '%f' '-^%s' C@ 
vi 
 D
%e '+/^%s' '%f' C@ 
emacs 
 D
%e +%d '%f' C@ 
emacsclient 
 D
 DC@ 
notepad 
 D
%e %f C@ 
 D
%e '%f' X P DC@	
@,@:@=
@F D

@! A*
 A*@;


 A*


 A*@$@>C@ X P DC@$update_library_index  	
 B@=@Ftime_file  D	@F@>  D
reload @GC@   X P DC@@T
 A{	
	 @h@<@! A#@;  		 A9@=@=
@9@-@<@!	 A#@; 		 A9@=
@9@!
	 A# 
		 A9@=X XI D DI D DI D DI D DI D DD t Anc:/jan/pl/boot/sort.pl  QM$sort Fc:/jan/pl/boot/sort.pl /ުsEmerge Epredsort Emerge_set Ekeysort XP E C
@$C	@$C@%
			@F@<  D@$

	
 E C@%
			@F D D@$
	

 E C@ 
			@F @\ D


 E X P DC
@$C	@$C@ 	
@?
			@<@F@=<  D@;@F A# D

	
 D@9@F E
	

 DX P EC@+length @!$keysort @F E
X P EC@0	
@G

	@$

 Bd	 A#
 E	 A#@<@F E	@;

	 A#@9

	 A#C@7

	
	@$C@8	
 
@$C@9		@.
@&@)@'   @/
@7@&@)@,
@/@7

@  E

@! E


$keymerge X P EC@@
@$C@A	@$C@B	@Q
		 A#@ 	 A#
 E	 A#
 E	 A#@<@F E@;@F E


 E@9@F E
@ 

 EX D@L t  Dt t 
t  Dt 
t $predsort t 
t $predmerge t 
t  Et $predcompare P DC@W@  E

@ 
 E@$@F E
X P EC@\		@=
	@$

 E@8
>  A#

	 A#@9

	 A#@$C@a
		@$C@b

 @$C@c

@0@&@*@'   @/
@7
@ plus 
@! E


 E



 EX P EC@j@$C@k
@$C@l		@'
		

 E





 EX P EC@p
 E	@$@ 
	

 EC@r	@ 

	
 EX P EC@u
 E
@!@#@$C@w 
< X XI D DI D DI E  DI E DD t Anc:/jan/pl/boot/bags.pl  QM$bags Fc:/jan/pl/boot/bags.pl 1FsEsetof Ebagof E @hXD t  E$t t 
t  @it 
t  E&t 
t  E(t assert_bag P @hC Ev 		@  E) E E*		collect_bags @$@F A# E$C X P E%C@$@  E'@Fsort  E$X P E'C@.@+ @?	
	$e_free_variables  E		@  E+
 E, E	

 @@! @jX P E+C@5 Emark  Bd	$record_bag @ @"@E E5 E$	@GC@: X P E,C@<@=@=@F$collect_bag  E$@$ E			@  E,C@? 	X XI E% E$I E' E$I @h E$D t Anc:/jan/pl/boot/apply.pl  QM$apply Fc:/jan/pl/boot/apply.pl /ުsEsublist Emaplist E CEchecklist XD t  E?t t 
t  EEt 
t  ECt 
t  EAt  CP EDC C	@!@#
 EDX P EBC@! C@"
		

@#

 EBX P E@C@*@$C@+
	
@#@$@!	 A#

 E@C@/	
@! E@X P CC@6@?
@"@?@ @"@;@@@;@@X XI E@ E?I EB E?I C E?I ED E?D t Anc:/jan/pl/boot/list.pl  QM$list Fc:/jan/pl/boot/list.pl 1(sEsubset Elist_to_set E DEnth1 Eunion E E
Esubtract E CEis_set Enth0 E @Eintersection Elast E C$XP E
C@F$length  EK	
@$C	@E A EK
@ length2 X P EbC@# 
 C@$	@! Eb@F B EK
X P C$C@+ 
	
C@,
		

@ 
 C$X P @C@3@$C@4
	@$

@! @C@6
		

@ 
 @X P EXC@A@Einteger  EK	@$@&@)@'    @4@ @!nth0_det C@E
@E Ea	@$@ @! nth_gen X P EhC@I
 	@$C@J

	@$C@K
	@$C@L
	@$C@M
	@$C@N
	@$C@O@"	
@&@)@'   @/@7

@! EhX P EjC@S 

	
C@T
	@=@F Ed

@ 

 EjX P EPC@]@E Ee	@$@&@)@'   @/@7
@ @! EhC@a
@E Ea	@$@ @! EjX P E\C@h 		C@i	@! E\X P CC@p@ $reverse X P ElC@s 
C@t
	


	@! ElX P DC@z@ $flatten @$X P EnC@}	
	@E Ea	@$C@
@$C@
	
@! En

@ 
 EnC@ 		
	X P EVC@
 @$@GC@@$C@
	@F @~ EK
@$@GC@

	@  EVX P ENC@ C@	@F Ep@$
@  ENC@	
	


 ENX P EZC@@$C@
	@F Ep
@$@!	 A#

@ 
 EZC@
	
@ @! EZX P ERC@
@$C@
	@F Ep
@$

@ @! ERC@
		

@ 
 ERX P ELC@@$C@	@F Ep

@  ELX P ETC@@$C@
	@F Ep
@$

@ @! ETC@
		

@ 
 ETX XI EL EKI EN EKI D EKI EP EKI ER EKI E
 EKI ET EKI C EKI EV EKI EX EKI @ EKI EZ EKI E\ EKI C$ EKD t Anc:/jan/pl/boot/writef.pl  QM$writef Fc:/jan/pl/boot/writef.pl 01VsEwrite_ln Ewritef Eswritef E EE EXP EC@E D E	@D B EX P EC EX P EC@!		@ $writefs @GC@$@E Bw E	@=@Fstring_to_list  E	@!@  E@GC@)@E AW E	@=@F A( E	@!@  E@GC@. X P EC@0 E
	 C X P EC@2
 E
	 C X P EC@8 C@9
@%	@!@ 
$action @$


 EC@<		@5
@%	
	@0@9@! @y	$getpad @$


$padout 

 EC@A
@\	@!
$special @$@E D E
@  EC@E
@\	@!
$getcode @$@E E

@  EC@I	@E E
@  EX P EC@N
@t
	
@E D- EC@P
@d
	
@E DL EC@R
@w
	
@E EC@T
@q
	
@Ewriteq  EC@V
@p
	
@E EC@X	
@f
@D D4 EC@Z
@n
	
@E EC@\
@r
	

$writelots C@^
@s
	

 EX P EC@a 
@n

C@b 
@l

C@c 
@r

C@d 
@t
	C@e 
@\
@\C@f 
@%
@%X P EC@h@ @!$getdigits @F E	@&@)@'   @1X P EC@m@1
	@&@)@'    @2@!

 A@0@9

 @y@&@)@'   @/@7@$



 EC@s X P EC@u@&@)@'    @2@$@E E
@&@)@'   @/@7@!@  EC@z X P EC@
@! E@F E	

 A
@  EX P EC@ 
@r
r C@ 
@l
l C@ 
@c
c C@ 
@R
 EC@ 
@L
 EC@ 
@C
 EX P EC@ C@$@=@F E	
@ @! EC@@  @@=
@Fatom_length  E
@!@ 

 E@E D E@E E@E EX P EC@
 @$@GC@@$C@
	@  D@$@! EX P EC@ 

C@ 
	C@@E Ef E	@ @~ @yX P EC@
 E
 @$

@&@'   @*@+@/@/@7C@
 E
 @$
@&@'   @*@+@/@/@7C@@$
 E
@&@'   @*@+@/@'   @/@/@7

@&@'   @*@+@/@,@/@/@7X P EC@
	@$@E E
@! EC@ X XI E EI E EI E EI E EI E ED t Anc:/jan/pl/boot/history.pl  QM$history Fc:/jan/pl/boot/history.pl 1$sE CE CEhistory_depth XD t  Et t  EP CC@  A\
prompt_history @=@E$raw_read  E@ @!


read_history_ @$X P EC@&	list_history  @$@GC@)

@ help_history @$@GC@,@o
expand_history 
save_history_line 
 B@<@E A E@;@F A# E
@F E@=@=@9@A@<@'
$silent 	 A#@;   @=	@"@=@E E@ @!


 E@9@!
save_event 

write_event @F E
@F E@=@=X P EC@>
 AN@$C@?
 @~w.~n 		 BX P EC@E@1$last_event 	 @K
history_depth_ @  E@! @y$history_list  
	 B ~t~w   ~8|~w.~n 
	 B@GC@M   X P CC@O
 E	 A}@E D# E	@GC@S  	 E  @KX P EC@V@8History Commands:~n  @p    !!.              Repeat last query~n  @p    !nr.             Repeat query numbered <nr>~n  @p    !str.            Repeat last query starting with <str>~n  @p    !?str.           Repeat last query holding <str>~n  @p    ^old^new.        Substitute <old> into <new> of last query~n  @p    !nr^old^new.     Substitute in query numbered <nr>~n  @p    !str^old^new.    Substitute in query starting with <str>~n  @p    !?str^old^new.   Substitute in query holding <str>~n  @p    ~w.~21|Show history list~n 		 @r    ~w.~21|Show this list~n 
	 @rX P EC@f@< E
@  @K@=@F B E
@=@F A( E	@=
@F E
@<@%@!	

 D@;@Eprompt1  E@9@E E	@=@D D4 EX P EC@treadline  @ @ @
string_concat rl_add_history 
	@# @$C@x X P EC@z@F @~ E
	@$C@|@+ E@! @K@=@F E E
 @K E 
	 B/
 E


remove_history X P EC@@&@)@*@/@'    @3@$C@@&@)@*@/@7 E 	 A}@$@E EC@ X P EC@ E@$C@ 
X P EC@@=@F E	

@!expand_history2 @F @ E

@$X P EC@@"
@^	
 @@$
get_last_event 
old_new 



@ substitute_warn C@@ @!expand_history3 X P FC@@!
@!
	
@!	
not_event_char @$
	
@! FC@@#
@!	
 @@$

match_event 

@  A*@$

 FC@
		@$

@! FC@ 
 ANX P EC@
@^
	@$

@!
new C@
	
	

@!
 EX P FC@@$C@
@^	@$C@
		

@! FX P EC@ E 
	 B @F E
	@$C@! No such event~n  @p@GX P DC@@!
@! A*
 A*@$

@  A*


 A*@$X P EC@
@ @!
 D@$C@! bad substitution~n  @p@GX P FC@
find_event @$

@ @!substitute_event C@ F	 @p@GX P F
C@
@^
	@$


 E

@ @! DC@ 
	X Palpha C@	@a@z @yC@	@A@Z @yC@ 
@_X Pdigit C@	@0@9 @yX Palpha_digit C@ FC@ FX P FC@ F@$@GC@
@?@$@GC@
@!@$@GC@ X P FCA 
@?	@$

@!take_string substring 

@ matching_event CA
@!	@$@  ECA@-
	
 F@$
	@!take_number @=@F E E 	 B @F E
CA@! Fprefix 
@  FX P FCA
		
 F@$

@! FCA
	
	@$CA X P FCA
		
 F@$

@! FCA
	
	@$CA X P FCA
 F E 	 B @F E@ @! A*@$CA"
 F E 	 B @F E
@! A*@ 

 A*@$X XI C EI C EI E ED t Anc:/jan/pl/boot/portray.pl  QM$portray Fc:/jan/pl/boot/portray.pl 1vEsE F!E DXD t  F!t  t t portray D t  F!t  t t  F$P F"C F#@$C
   F$		@"@$X P F#C D
	@E AW F!
@$~w 
	 BC F&
	@ $varname ~s 	 BC$VAR 
	@E F'
@$ F(
	 BC F,
	@  F) F+	 BX P F)C@#	@&@)@'   @1@$@!@&@)@'   A@/ @7C@&@(@&@)@'   @/@'   A@/ @7@&@)@'   @/
@7

 F)

	@  A*X XI F" F!I F# F!D t Anc:/jan/pl/boot/profile.pl  QM$profile Fc:/jan/pl/boot/profile.pl *sEshow_profile Eprofiler Eprofile XP F4C@=@F F1 F1@!$map_profile @E AW F1
@  F:@$
 F9X P F:C 
 @N
 C 
cumulative 
C 
plain 
X P F2C@"@Ktriple 
 
	$profile_count  
	
	 @h@=@F E0 F1
 C~w~t~w =~41|~t~w~57| = ~w ~t~w~79|~n Predicate Box Entries Calls+Redos Exits+Fails Time 	 B~61t~79|~n  B
$show_profile X P FAC@/ BU@?
 B	 B\@;@@@ @!profile_count @   @jX P FKC@5
 @$C@6@$C@7@I F?
		

 @

profile_box ~w~t~D =~41|~t~D+~D~57| = ~D+~D ~t~1d%~79|~n 	 B@=@F B F1	

 FKX D@? t  F1t t 
t  F7t $time_rval P F6C@C
@-@  F> F=	 @~@$ @N F4@Dreset_profiler   F1@  F4 FS @N F4@! F2@$
 @ @\C@Lprofile/3: second argument should be one of {plain, cumulative}  @@GX P FWC@P	
 @ C@$C@R 
 ANX XI F2 F1I F4 F1I F6 F1D t Anc:/jan/pl/boot/dwim.pl  QM$dwim Fc:/jan/pl/boot/dwim.pl 0JsE BE DE @fE$similar_module XD t  F]t t 
t  D
t correct_goal P DC
	@E A F]	@$C@  

	 
	@$
@ 
 D

@ 
 DC@  @2
	 @2	@$
@ 
 D

@ 
 DC@! 
	 
	@8@E Fa@9@E Fa
@$C@#	 BU@$C@%dwim_predicate_list @$@ 
@! F`C@( @l		 B@GX P FdC@,

@Y
	 

 
 

 @$
	 A
	 A@=@E A? F]



 @G
@ goal_name Correct to: `~w' 	 @vC@7@,
 

   F]has_arity 	@!	 E@@$@ 	
 FdC@< @l		 B@GX P FjC@@
@  @! X P FfC@G @(@  ED@!goal_name_ $goal_name @! B/@GC@L
 Fn@! A}@$@E D# F]X P FlC@P
_ 
 Fp@$C@Q  
	@$@ ~q:~q/~q 
	 @C@S 	@$@ ~q/~q 	 @C@U 	@$@ ~q:~w 	 @C@W@  F(		 @X D@f t  F]t t  BP BC@i
	@F@: 

name_arity @=@E Fe@8	@!  @\@=@9@=@F A# F]@;



find_predicate @$@=@F E0 F]

@ principal_predicates @>C@s@+ @!
 Ft 
$in_library 
	 
	@  @h@  @j@$C@y @No predicates for `~w' 		 B@GX P FwC@}find_predicate_ 	
	

 @h

 @j@$C@

@6find_sim_pred 		 @h

@ pack  E
	
 @@ 
print_pack_name Correct to `~w' 
 @v@$X P FC@ 	 
	@$ 
	@! B%C@@#  
	@$ 
 	@! B%C@
 		@$C@ 
	@$ 
	@! B%C@ 
X P FC@@$C@

@M 		 E		



 @G 	@ @!
pack_name @ @!



pack_ 
@ @!

 FX P FC@@>	

 	 C$ 	@ @! F@$



 @G@ @!



 FC@ 	
X P FC@ 
	@E Fa
@E Fa@$

 C@ 
	 
	@E Fa@$

 C@ 
	 	@E Fa
@$


 C@ 
	 
 	


 X P FC@@'same_module @! 	 BU
@! 

same_arity 
@ 


 @GX P FC@	@E Fa	@$@  BWC@	 BWX P FC@@E Fa	@$C@ 	X P FC@@( 
	

sim_module  

	
$dwim_predicate 
 @!
sim_arity X P FC@	@E Fa	@$@  BWC@		 BW@$C@	@  BW@  BCX P FC@@E Fa	@$C@@&@)@*@/@.@'   @1X P FtC@		@E AW F]	@$C@ 
	
@$C@@ @! @$C@Illegal predicate specification: `~w' 		 @@GX P FzC@@5find_definition 		@  EB@<  @\@;find_public 

 EB


delete_defaults @9@=@F Fv@=
@! ENX P FC@@$C@ 
 	
	@F @~ F]
@$

@ @! FC@
		

@ 
 FX P FC@@) 
 	@!   	 BU B	  	 BS@$C@ 	X P FC@@& B	 	
	 BS@$@ 
 


 @G
@! FC@ 
X D@ t  F]t t 
t  @gt  FcP @fCA  Fb@ @! @X P FbCA
		 BU@$CA F		@  E%@$CA F^		@  E%@$CA
@#  	 
 BW	 BU 	@  E%X P F^CA@# 	
 @! BW

@! BC 	 BUX XI B F]I D F]I @f F]I F^ F]D t Anc:/jan/pl/boot/foreign.pl  QM$foreign Fc:/jan/pl/boot/foreign.pl 01NsEload_foreign Eforeign_file E FXD t  Ft t 
t  Ft 
t load_foreign_ t  FP FC$foreign_file  B X P FC@  @ @  FX P FC@$@e AJ AK AM AK@8@ @!


 F@9@H@$ AJ AK AM AK@&@,@,@/@7@&@,@,@/@7confirm_files 
list_to_atom @=@E A? F
module_spec Foreign file(s) ~w loaded~w, ~2f seconds, ~D bytes~n 	 @rX P FC@8
 
 @@$C@9@  into ~w 		 @X P FC@<@$C@=	
	@$@!

confirm_file 

 FC@@@  FX P FC@C AU	@$ AU	@ check_files C@E 	X P FC@G		@' F
 F@! F
 F
@ 



$load_foreign 
record_foreigns X P FC@P
 @$@GC@Q@$C@R	
	@$@!

 F

 FC@U C".o .a  @	 @ C5		@  B^@$C@Z~w: No such foreign file 		 @@GX P FC@^		@E @ F	@$C@`insert_spaces @!@  B%X P FC@d
		@$C@e	
 D0
	


 FX P FC@h@$C@i
	@$@  F@! FC@l
 BP@8 F@  B @9 F B@$X XI F FI F FI F FD t Anc:/jan/pl/boot/parms.pl  QFc:/jan/pl/boot/parms.pl 0]sD
 t  t  t @t @ @D t  t  t @t @~/lib/prolog Dt  t  t @t At @v t 
t @ @vt 
t @v/library vt BPvv P DC
 D @
 @win32 @  @@$C 
 DX XD t Anc:/jan/pl/boot/autoload.pl  QM C8Fc:/jan/pl/boot/autoload.pl 01NsE By E DEmake_library_index E BE ByE FE F|E @WXD t  C8t t library_index D t  C8t t  FP @WC@ @"load_library_index  @ @! @8


 F@F A# C8	@9



 F@$X P F|C@+ F F@!@  X D@4 t  C8t t  BP BC@7 B@$C@9	
@`
 @!
  @O @P @P @K@ 


 @W @Q @Y	 @K@<@F @\ C8
@; @^	 @=@9 
 @d 
		 @= @Q
 @K BX P DC@K AUINDEX.pl 		 @@=
@F @ C8	
@ update_library_index @GC@P   X P FC@R	/INDEX.pl 	
 B%@  D2 @ FX P C9 C@W  
 F	 CX P FC@^   F@$C@` AUINDEX 		 @@=
@F F	
@ read_index @GC@e   X P FC@g
@*@=@E A C8@E A C8	 A\@=@E C5 C8@<

 A @\@;
@$@9
@ assert_index @G@D A C8@E FX P FC@r@/ B
	@$@!
 
 	 B% F
	assertz C@vIllegal term in INDEX.pl of directory ~w: ~w 
		 @X P FC@~
*.pl 	 FX P FC@
@> D2 @@$ @ BP@E C C8	 F A#@ 
expand_index_file_patterns @<


library_index_out_of_date @;Making library index for ~w ...   B@D D C8


do_make_library_index  C B@9@H@E FC@make_library_index/1: Cannot write ~w 		 @X P FC@@!expand_file_name  EB@! D
 Findex.pl Make.pl make.pl 	@  ETX P FC@@?@E @ C8	@;@@@$C@@,@=@F D C8	@8 @ D@F D C8@=
@=@9
@  @@=@F F
@F F@=@$X P FC@ D2open @!index_header index_file 	@  ED@Eclose  C8X P GC@		@I@  C5 F@=@F C5 C8@E G
 A A
	 A#@$@  @delete_suffix  @ 		 @t	index((~k), ~k, ~k, ~k).~n 
	 CC@ X P G
C@@!@  @@$C@ 	X P G C@/*  $Id: autoload.pl,v 1.6 1995/08/16 11:49:18 jan Exp $~n~n  @t    Creator: make/0~n~n  @t    Purpose: Provide index for autoload~n  @t*/~n~n  @tX P FC@   FX P FC@	@p  A: @P	
option @=@F As C8 Bb Bv	 B By @N BN
needs_autoloading 
	 @h By
 BN@! As@<
 @\@;@H@=@=@9@& Bz@  BN By @P BN B
 ED By
 BN Bz
 BN@  FX P GC@@4 
	 
	 B B\@? 
	 B	 B\@;@@@!
 


 F|X P GC@@  
	@< A#	 @~@;@H@9@F F
X XI F C8I D C8I F C8I B C8I F C8I F C8I F| C8I @W C8D t Anc:/jan/pl/boot/qlf.pl  QM$qlf Fc:/jan/pl/boot/qlf.pl 0]sEqcompile E AGEqload XD t  Gt t 
t  G!t 
t  G$t 
t  G$t yesno P G C@$C
	@$@  G @! G C		
@a
 @! C" @ @	 @ C5		 B^@$
 @
remove_suffix 

 @ensure_suffix @E$qlf_open  G @ Ax @K@=@F  G
 A9 
	 G%
 
@" @
 @K@D$qlf_close   GX P G&C@0@!@  @@$C@2 	X P G(C@4	@  @@$C@6@ @! @X P G.C@9@<@"@;@  @ A#@9@  @F A#X P G#C@D@$C@E
	@$@  G#@! G#C@H A# A: @		 G$X P G2C@K@ AJ AK AM AK
 
 C" @ @	 @ C5		 B^@$ 
	$qlf_load @<@'@E AW G@;@< A# @c	@  @~@;@H@9 A6 A#


 A7@9@H@=@<@M A# A: @	@  @~@; AJ AK AM AK@&@,@+@/@7@&@,@,@/@7

 AP
 AR~N~w loaded~w, ~2f sec, ~D bytes.~n 	 @r@9
@H@=@=@=@=@=@=X P G"C@l@+
loaded  
		
 G3

check_is_module @<
@E G5@;@ 
@! A7@9@HX P G8C@u
 @
 @$ A	 @C@w X XI G  GI G" GI G# GM D t Anc:/jan/pl/boot/topvars.pl  QMtoplevel_variables Fc:/jan/pl/boot/topvars.pl 01VsEverbose_expansion Eprint_toplevel_variables  XD t  G>t t  A: D t  G>t Cyt fx $ P DXC@'@!@ expand_vars @=
@Ffree_variables  G>

@!

delete_bound_vars @< A: @F\=@=  G>	
@;@ 
print_query @9@HX P GPC @(@  ED@E E G>	 @ D@D B G>@GC@# X P GEC@&

@E A G>
@$C@(

@E @ G>
@$C@*@" GD	

name_var @<


@!toplevel_var @;@$@9$~w: No such variable 

 @C@0@$@ 
 @$@!


 @&@,
@'   @/ @7
@ @!expand_args X P G\C@6	@$C@7@*
 @@!
 GE

 @@&@)@'   @/ @7
@ @!


 G\X P GWC@> A#
		@F @\ G>	
@$C@@	
@! GWX P GJC@D C@E@&
		
 A#	 A#
@ v_member @$

@ 
 GJC@I
	
@ @! GJX P G_C@L	@8@F G^	@9
 G_X P DZC@Q	assert_bindings X P GaC@T C@U@.
	@  A#	 A# A}$topvar  A#	
	 D#
	 C Gc@  B@! GaX P GYC@[
 Gc A#	
	 B X P GAC@^	
 GY$~w =~t~12|~p~n 	
	 B@GC@b   GY@$C@d  No defined toplevel variables~n  BX P G?C@h

 @P@$ A: C A: CC@k
 @N A: CX D@n t  G>t t 
t  t  DWt  t  DYO  DXC@r  G> DX	
	@"X O  DZC@t  G> DZ	
	@"X XI G? G>I GA G>XXDDt  t v  DDt  t Asv XXT  9qlst