#!/bin/sh
# SWI-Prolog version: 2.7.14
# SWI-Prolog save-version: 31
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	@$@<
	@!@"@;
@"@9@ @"C@*-> 	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P @'C@ @1	@$@<
	@!@"@;
@"@9@ @"C@ @3	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"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  @Kt  @LD@ t  t @" @KD@t  tflag $verbose_autoload v off DA t  t @M$enable_autoload v on DAt  t @M$autoloading v  P$undefined_procedure CA  
	
 @I   @Lundefined_predicate 
	@"@$CA
@
retry  @Q @R @R @M@ @!
$find_library @ @!  @S+ 	 @M@<@F==  	
@;ensure_loaded 	 @?@9@3@< 
	$c_current_predicate @; 	import  
	@"@9 	use_module  
		 @? @S
 @M 		 @bCA		@8
 @H @ 
 @Idwim_predicate 
	findall 
\== @ @!  
 @I

$warn_undefined @D @#  X P$ttyformat CA% @sX P @tCA'user_error @ format X P$confirm CA.	@E@  @t?   @r between @<@*@=@Eget_single_char  @!@y@Y@j@J@n@N@ 
	memberchk @;@$@!$confirm_ @9Please answer 'y' or 'n'~n  @r@G@=X P @CA9@(@y@Y@j@J@ 
	 @@$@<

@D$tty   @;
yes~n  @r@9@HCA?	@D @no~n  @r@GX P$warning CAG @X P @CAI@N@=@=@Fsource_location  @$@<@=report_error true feature @;
@ sformat @<   @Vwarning  @
		@"@;@H@9 @u[WARNING: (~w:~d)~n~t~8|~w]~n 
	 @v@9@H@=
CAT@4@< @ @ @@; @u[WARNING:   @v @u@  @v @u]~n  @v@9@H@<debug_on_error  @ @@;@D @p@9@HX DAe t  t t 
t  @ot 
t $write_alternatives t $predicate_name P @nCAj@$ @[WARNING: Undefined predicate: `~w' 	 @t@8@  @^@9~nHowever there are definitions for:  @r@  @@$ @ @rX P @CAs@$CAt
	@  @~n~t~8|~w 	 @t@! @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  @ @M@$.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	@!
@  @CA@$
 @

@  @@!
 @@F @ @	
	asserta 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 @CA CA	@F @ @$
@  @CB	
	


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

$canonise_extension 

 @CB	@! @X P @CB
 @
 @@$CB	.  @@$CB A @  @X DB t  t t 
t  @t 
t $start_compilation t $end_compilation DB! t  t t 
t  @t 
t  At  ADB't  t 
t @M$break_level v  t 
t @M @v @t 
t @M$preprocessor vnone tprompt v|:  Pcompiling  CB/ @?	 @ @ @ @M@;	@@X DB2 t  t t $ifcompiling P ACB5 @ @ @ @M@$CB7@"X Ppreprocessor CB> A@  @MX P$open_source CBA@" A A A
@$@=@Eseeing  @Esee  	@ $open_source_call @Dseen   @E A
yes  @^CBG@D@! A
@<@*%f @!$substitute_atom @;@=
@E A
pipe 	 A@  A@D A@E A
@$
 A @^@9Illegal preprocessor specification: `~w' 	 @@G@=@=
@=X P ACBS@C$compilation_level  @[	 @M   A		 @?@<
@ @"@;
@! A= @9@!no  A%   A		 @? A#
 @MX P ACB^
@:@=
@Fname  	
@=@F A)
@=@F A)
append 


 A,@$

 A,

 A,@$@F A)X DBm t  t t 
t  @at 
t  A t 
t consult t 
t  @gt 
t  @gt 
t $load_file t 
t load_files t  A0P @`CB}
if changed 		 A0X P @gCB A1 A3	must_be_module  @		 A4X P @fCB A1 A3	 A6 @	imports 
		 A4X P A CB
	
	 A.X P[]  CB   X P A;CB A0X P$compiler_extension CB 
 @
$qload_file CB 
 @
$consult_file X P$consult_goal CB
@  A?@! @@$X P A>CB A4X P A4CB 
@!@ $load_files X P AECB@$CB
	@$ 
	@! A/

@ @! AECB 
		@! AGX P$get_option CB@<	@F @	
@;@H@9@! @X P$noload CB
 @@$@GCB
not_loaded @ source_file @$CB
 A3@ $time_source_file @=@Ftime_file  
@F@=<  @$X P AGCB@"A]heapused statistics cputime  AX A8
	@ all  AH A6	@ false  AHsilent 	@  A\ AH A1	@  @ AH @<@b @ @ @	 @	 @>

 AJ@;@<@ 
$current_module @;@ 

 A[$import_list @9@<@!
  @^@;@!@H@9 A1 @	
	 AG@=@=@=@=@=@=@=@=@=@=@=@9@@I@"
 @@J@"@H@9No such file: ~w  @@G@=@<@#@"
 AC

	@%@;@#@H@9Failed to load file: ~w  @@G@=@=@=@<@$@`
 A\ @^@8
 @S   @M@9 @O @R @R @M@;@$ AW AX AZ AX@&@,@+@/@7@&@,@,@/@7

$confirm_file 
$confirm_module ~N~w ~w~w, ~2f sec, ~D bytes.~n 	 @t@9
@H@=@=@=@=@=@=@=@=X P AeCC	 @	
@$CC 	X P AgCC
 
 @@$CC@Eatom  	@$ into  @  @CC 
 @X P$read_clause CC
repeat  @Eread_clause  	@$X P ABCC@F  

@$@ @!


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

 Ax$qlf_end_part  A
 X P AxCC	
@T@=@F Aw
@E$start_consult  	

$compile_type @< @wic  A @M@;$assert_load_context_module 		$add_directive_wic @9@H
 A@=@F$style_check   
 Ao	 A/		 A
 A
 X P ACC)@0 @
@  @M@<@  @ @^@;compiled  A%@9@<@ qlf  @^@;*qcompiled*  A%@9boot compiled  A%X P$load_context_module CC5 A 	
	recorded X P ACC8 A 	
	 A@$CC: A 	
	recordz X P ACCB?- module 	
 A[@$

 A[@ $load_module CCD:-  A	
 A[@$

 A[@  ACCF A A	@$

@!@  ACCH A A	@$

@!@  ACCJ
 @@$use_module: ~w is not a module file 
	 @@GCCM	
end_of_file @$@F Aw

CCO	@-
 A\@$@F Aw

$qlf_start_file 
	 A$consult_clause 	
	 @? Aq@=@E As
@  A@$ A| AX P$reserved_module CCY 
 CCZ 
 X P ACC\ A@$Cannot load into module "~w": reserved module name 		 @@GCCa@7@=
@F Aw

@F$declare_module  	@ $export_list $qlf_start_module 		 A Aq@=@E As

 A@$ 	$check_export 	@" A| A

@! AaX P AaCCp@$CCq@1 
		@$


 @F$import_wic  
 	 @d 
	 @?@ 
 AaCCv
 A[@$@=@Fexport_list  

@ $import_all X P ACC{ CC|@!
	 
 @d 	 @?@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 @<@(@  @( @^@; @ @ @M@<

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

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

@<@   @^@;Directive failed: ~w 		 @@9Directive failed: ~w:~w 
		 @@GX P ACC@%@ $common_goal_type @$@<@ load  @^@;@H@=@9@=@F Aw 		 ACC@<
 @ A A @M@;@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  A;	CC
 @`	 @ A A @MCC
 A5	 @ A A @MCC
 @f	 @ A A @M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 DD 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 ACD1phrase 	
	@E A	@$CD3@I@E A	@$@< A%@;
 A%
	 A%@=
@9@+@<
	 A%@;
C 

	 A%@9
 A,	
	 A%@=
CD;	 A%@$
 A,	
	 A%CD>

 @D

 @D@$CD?{} 
	 

 A%
	@$CD@		@% 

	 
	@$

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

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

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

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

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

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

@ @!
 ACDV
	
 AX P ACDZ 
 A%
		@F @]	@$CD\ 
X P ACD_@=@F=..  


 A,@F A
X P ACDd 
	
X DDf t  t t 
t  At  AP ACDj@  AX P ACDl @<

@Eis_list  @;
@!@  A,@9@ @!@#X P$compile_wic  CD@=	@E$argv  	
$get_files_argv $get_wic_argv @ @! B X P BCD@0@ $open_wic @D$qlf_put_states    @ A @M@=@F A A	 A   A;		@" @@! @M@D$close_wic   X P BCD@$CD
-c 	@$CD	@!@  BX P BCD 
a.out CD
-o 	@$CD	@!@  B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 
	assert 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 A @
 A @M@  A; 	 A A	 A @

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

@! Bv


 BvC@F @\
	@$

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

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

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

 B~@  Bv@! BX P BaC@^@=
@F$visible  B(

 B~@  Bv@! BX P$map_style_check C@c 
 Am
C@d 
singleton 
C@e 
dollar 
C@f 
 
C@g 
string 
C@h 
 
@ X P BlC@j@=
@F A B(

 B@  Bv@! AX P BLC@o
autoload @$ @Q@ @! @MC@q
verbose_autoload @$ @O@ @! @MC@s@ @!$please X D@v t  B(t t 
t  @#t 
t  @#t 
t $trace t 
t  BZt  BEP BKC@}
 Bx A[	 BFX P BFC@@$C@	@$@!@  BF
@  BFC@	@'@Ddebug   B($find_predicate @! @l@8@! @
$define_predicate @ 
 B
show_trace_point @G@9@H@=X Ptrace_alias C@ 
 A[
trace_call 
trace_redo 
trace_exit 
trace_fail 	C@ 
 @(
 B	C@ 
 B
 B	C@ 
 @F
 B	C@ 
 @H
 B	X P BC@@$C@	@$@!@  B
@  BC@ Bx	@! B@$
 @\
tag_list 

@  BC@ Bx	@$	 B@ @! C@ By	@! B@$
 Bz
 B

@  BC@ By	@$	 B@ @!  C@
@E Al B(	 Bx		@  BX P BC@ C@@"
		

	 A

@ 
 BX P BYC@@$C@
	@$@  BY@! BYC@@!
 B@  @@! B@E$spy  B(@! @Spy point on ~w~n 	 @t@GC@ X P BDC@@$C@
	@$@  BD@! BDC@
 B@  @@E$nospy  B(@! @Spy point removed from ~w~n 	 @t@GC@ X P B@C@ 	
	 Bo 	
	 B@GC@   X P BWC@  @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 	
	 Bo 	
	 BZ$get_predicate_attribute @? 	
	imported_from 	 B[@;@@ 	
	 @~t~8|~w~n 	 @w@GC@   X P BC@@6 	
	 Bo 	
	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 BOCA	@$@!
@  @CA@F @ B(	
X P @CA

@   $term_to_atom X P B_CA
@E A B(@ @!  BX P BUCA
@  BVX P BdCA@"$gs_  @@!
 @M@=
@Fsucc  B(
@!

 @M

@  @X P BsCA@  BtX DA" t  B(t t  ANP BjCA%
 Bo@F$source_file  B(	
X P AMCA) AOCA+@E B	
 BQ@  AOX DA6 t  B(t t  B,P B+CA9
 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  Bpt  BiP BoCA\@E B
@$@=@Econtext_module  B(@!@ generate_current_predicate CA` 	@8@E B@9@E B@$@!
 BCAc
@  @b@  Bh@$CAf@"@  @!
 B) 
	 @b 
	 Bh@$CAk@! @Q @R @R @M@  

 @!

 @Y@$X P BCAq@  Bn 
	 @b 
	 BhX P BhCAv
defined  B@$X DAy t  B(t t 
t  B\t  BTP B[CA}@I@ undefined  @^@$@8 	 A%@E B@9 @$@! Bn
 	 A%

 @b@?

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

 Bo@;@@CA
 Bo@  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 @	@ @! Bj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 B; P B;CA 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 Bo@! B
 

@ 
 BX P BGCA Bo B 
@ @! BX P BCA A	
	@$CA 
 @	X P B9CA@  B:X P BkCA@  AX P BuCA@  AX DA t  B(t t  B3P B2CA CA 
		@$
@ @! @E$require  B(
 B2CA
	require/1: Illegal predicate specifier: ~w 
	 @@! B2X P BnCA A_X P BfCA
@  A_@  @lX P B8CA
@E B	 Bn@$$module CA @~w is not a current module 		$break  CX P B/CA@trail 	 AXtrailused 
 AXlocal  AXlocalused  AXglobal 
 AXglobalused  AX AZ AXinferences  AX AW AXatoms  AXfunctors  AXpredicates  AXmodules  AXcodes  AXlocallimit  AXgloballimit  AXtraillimit  AX~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 	 AX@&@)@'    @2@$collected 
 AXgctime  AX~n~D garbage collections gained ~D bytes in ~2f seconds.~n 	
	 BCB*   X P CCB,@;local_shifts 	 AXglobal_shifts 
 AXtrail_shifts  AX@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 BJCB@  B>X P BNCBCSHELL 	getenv @$ BJCBF  /bin/sh  BJX Pdlopen_flag CBN 
now 
CBO 
 C

X Pmap_dlflags CBQ 
 CBR	

 C2@! C/@ @&@,
@,@/
@7X P B4CBW
@  C2@!
$open_shared_object X P B^CB[ C
	@  B4X P B$CBc BX P @CBf B
	$write_on_string X P B=CBh
 B$
	 C6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 @H A%@=@F C>@<

@! @@;@<
 CA @^@;@$@9@H@9@<
 @H @^@;@G@9~w: No such file or directory  @@GX P C<CB 	
txt 
 @	CB 
prolog 
 @
 @	CB 
executable 
.so 
 @	CB 
 A
 @
 @	CB 	
 @
 @	X P BQCB
@E @ B(	@$@F @ B(	
CB @	 @read 		 @@$@F CJ
CB @	 @@$@F CJ
X P BHCB   $garbage_collect X P B6CB BcX P BcCB $autoload clear_library_index 	@"@F$save_program  B(	
X P BqCB BrX DB t  B(t t  BCP BBCB@:
 @8@! 
	 A%@9@!
 @$@&@,
@'   @/ @7

  
	$arithmetic_function X P B)CB 	CB@!$default_module @! @l@!@  B)X XI B) B(I B+ B(I B- B(I B/ B(I B0 B(I B2 B(I @ B(I B4 B(I B6 B(I B8 B(I B9 B(I B; B(I B= B(I B> B(I B@ B(I BB B(I BD B(I BF B(I BG B(I BH B(I BJ B(I BK B(I BL B(I BN B(I BO B(I BQ 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(I Ba B(I Bc B(I Bd B(I Bf B(I B$ B(I Bh B(I Bj B(I Bk B(I Bl B(I Bn B(I Bo B(I Bq B(I AM B(I Bs B(I @ B(I Bu B(D t Ac:/jan/pl/boot/toplevel.pl  QM$toplevel Fc:/jan/pl/boot/toplevel.pl 2/sE$welcome  E$initialise  Etime E$abort  Eat_initialization E$compile  E CF E C E$set_prompt E C Einitialization XD t  Ct t loaded_init_file P CC@Bversion 	 @
@&@)@'  '@/
@7@&@)@'   d@/
@'   d@/@7@&@)@'   d@/@7Welcome to SWI-Prolog (Version ~w.~w.~w)~n 
	 @tCopyright (c) 1993-1996 University of Amsterdam.    @rAll rights reserved.~n~n  @rFor help, use ?- help(Topic). or ?- apropos(Word).~n~n  @rX P$load_init_file C@*
 A@$C@+ C@$C@-@+
 @~/ 	 @@  @@! CK @@$ C		 @   @`	@"C@3 X P$load_system_init_file  C@5    C@$C@7
@]system_init_file 	$option @<
 A @^@;
 C 	 @@=
@=@=@9@; @
 @rc  @
 	 BO
 CK @ C 	 @  	 A] @		 A4@$C@B   X P$check_novice  C@D   @R @R$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 B C	+C  @@$   @` Ajemacs_interface 	@"C@R   X D@X t  Ct t 
t  Ct  CD@[ t  Ct t $at_initialization P CC@^
   C B 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 C	
user_output flush_output X P CC@ C@"X P$set_file_search_paths  C@@@8@m@=	@E C	
-p 	 A,@?@ --  @@;@@@:@=@F @ C@<@+$search_path 
	
 A@;
reverse  @	 @   @
	forall @9-p: failed to parse ~w 	 @@Dnodebug   C@=
@=@=@=@;@H@>@G@9@H@=	@=
@=@=@=
@=@=@=X P CC@@#
@!$string 
@= A@$@F C	
@=@F A% C@ 

$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 Al C
@=@9@  @!  @l@$C@@F C
	X P$load_associated_file  C@@[associate 	 @
	 B@=@Fprolog_to_os_filename  C
@! @@! CK @@=@F @ C@Echdir  C  	 A;@$SWI-Prolog --  @!
 @  window_title 
	 A%@<
 Bo@;
@"@9@H@D B CC@   X D@t  Ct @M$banner_goal v  CP CC@@I C$clean_history   C C C Cinit_file 	 C Cgoal 
@  C@  @@<
@! C @^@;
 C
 @M@9@=@F C  	 @? CX P CC@    A tell  A  @M A#  @M~nExecution Aborted~n~n  @r CX P CC@@' A	 @M@=
@F B C	
 A@  @MBreak Level [~w]~n 
	 @t C A @M@$X P CC@top_level 	 C
 @  
	@"X P CCA    AX P CCA
@n$tracing  @P @M A	 @M Aq@:@=
@F C C

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

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

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

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

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

 DX P DCAN@E A C	@$... 1,000,000 ............ 10,000,000 years later~n~n  @r~t~8|>> 42 << (last release gives the question)~n  @r@GCAS	
 A~N  @r@$CAU@=@F C $dwim_correct_goal 	
	@"@$
@ $execute_goal CAY	@D B  C~nNo~n  @r@GX P D"CA^
 @#@D @q C~n  @r$write_bindings @$@GCAc@e@=@F C$qid  @[	 @M  @ A$user_query 
			
	@"@!$set_user_goal_attributes @8@)  D-
	@"@Dflush   C@ call_expand_answer  D( @r@:
 D)@;@$@D D$@Eerase  C
@G@>@9@D D$ D& @r@E D6
@G@=X P D/CAx 	 
 @" D.	 @$ D.	@"X P D)CA|@$Yes~n  @rCA~
@. Aq$output_bindings 
get_respons @<@  B @^@;@$@G@9@<
@ show_again  @^@;@G@9@$ C~n~nYes~n  @vX DAt  Ct @M$toplevel_print_predicate v print P D:CA@$ D9 @rCA A%
		@$@ @!$output_binding  C  write @Dttyflush   CCA A%
		@ @! DB C B
 D:X P DBCA@& C DE C =   DE D@@! @M C
	 A
@"X P D<CA@! Aq@D DG@=
@E @~ C
@ answer_respons @<again  @^@;Action?   @r@G@9@$X P DMCA
 DO@?@h	 @@$show_toplevel_usage  CA
 B@;@n@r@N@R	 @@$;~n $format_if_tty CA
 B@t@T	 @@$@D D'; [trace]~n  DTCA
continue @c@ 

@y@Y	 @@$CA	
@b
 D>@$@Dbreak   CCA
 D>print_predicate @$~w~n 	 DU D@@! @MCA
 DO~nUnknown action (h for help)~nAction?   @r@D DGX P D[CA 
@d
display CA 
@w
 DFCA 
@p
 DAX P DQCA  ~nActions:~n  @r; (n, r):     redo    t:               trace & redo~n  @rb:            break   c (ret, space):  continue~n  @rd:            display p                print~n  @rw:            write   h (?):           help~n  @rX P DTCA D^X P D^CA	@D @ C@$@  @tCA X DA t  Ct t 
t  Ct $time_call P CCA	
@e AZ
 AX C AX Dg C
 AX AZ AX@&@,@*@/@7@&@,
@+@/@7@<@&@,@'    @5@;Infinite  A%@9@&@,@,@/@.@7~D inferences in ~2f seconds (~w Lips)~n 	 @t
 A @^X P DhCA
 A@"@$CA 
 A'X DA t  Ct  t t expand_query DA t  Ct  t t  DkP D
CA   Dk	
	@"@$CA 	X DA t  Ct  t t expand_answer DA t  Ct  t t  DmP D4CA   Dm	
	@"@$CA 	X XI C CI C CI C CI C CI C CI C CI C CI C CI C CI C CI C CD t Ac:/jan/pl/boot/listing.pl  QM$listing Fc:/jan/pl/boot/listing.pl 2/sElisting  Eportray_clause E D}XD t  D{t t 
t  D} t 
t  D}t 
t  D{t 
t $listing2 t $list_clauses P D|C@!	 Bo@? B B[@;@@@D B D{
 @ @! D@GC@    X P DC@%@E A D{	@$C@'@$C@(
	@$@  D@! DC@+
 B@  D{X P DC@/@" @@D D@! B@! 

 

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

notify_changed @ @!$list_declarations @  DX P DC@E@-@?
  		
 @@;
@@@   B[@$@ @!  			 DC@I@-@?
  		
 @@;
@@@   B[@$@ @!  			 DC@M@-@?
  		
 @@;
@@@   B[@$@ @!  			 DC@Q@$C@R
$write_declarations @D DX P DC@U@$C@V
	:- ~q.~n 
	 B@! DX P DC@Z@!@=
@E B D{
 
 BG@!@ $list_module  A
	 D~@GX P DC@b
 @$C@c	@$C@d~q: 		 BX P DC@g@W
   
	 Bo@?@!  
	 B	 B[@8@!  @^@9@!   CV@;@@@?  
	  B[@;@@@$@ 
 %   NOTE: system definition has been overruled for ~w/~w~n~n 
	 BC@p X P D~C@x$$VAR  numbervars $portray_clause @GC@| X P DC@~ A

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

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

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

@  DC@@; @2 @3	
	@$@=@F D
@!
 D D@D D@  D*->   D

 D D@D D@  D D D

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

@!

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

@!

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

@!

 D D@D D@  D|     D
@  DC@@=@F D
@! D DX P DC@  @6	
C@  @>	
C@  @<	
C@  @=	
C@  @?	
X P DC@@L@  @
 
	 @2	 @5	 @1		 @@$
 @E D D{
((  D@=@F D

 D D@D D
 D))  DC@ DX P DC@@#
@&@)@'   @/
@7@&@)@'   @/@'   @/@7@  D		$n_times @Etab  D{X P DC@ @{@ @"@GC@ X P DC@$portray_variable $print X XI D| D{I D~ D{I D D{D t A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 		 @x D D DX P DC@$ D	 BuEdit file `~w' 		 @x@$ DX P DC@)


@h
 B@8@ 	 A%@=@9@  @@! @Edit predicate `~w' 	 @x@$@! B@!
 Bj@! B	 B[@! 
 $edit_predicate   	 D 
  	 DX P DC@8@2@=	@F C D		 D 	 
	 Bu@$Edit predicate `~w/~w' 
	 @x@$ 	 
	 DC@=@/ D 	 
	 Bu@$Edit predicate `~w:~w/~w' 	
	 @x@$ 	 
	 DC@A  ed/0: You can only use ed/0 after ed/1!  @X P DC@D	 @ @@$X P DC@G@: Bu@;@F A% D
@$@>C@J@  B9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@;
 BJ D@>@>C@f@$@:@8 D
 C,@9
 D@;@  D D@! BJ 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  	
 AO@=@F AR D	@F@>  D
reload @GC@   X P EC@@T
 A	
	 @j@<@! A%@;  		 A;@=@=
@9@-@<@!	 A%@; 		 A;@=
@9@!
	 A% 
		 A;@=X XI D DI D DI D DI D DI D DD t A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@<  E@$

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


 EX P EC
@$C	@$C@ 	
@?
			@<@F AU E@;@F A% E

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

 Bz	 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  Et t 
t  Et 
t $predsort t 
t $predmerge t 
t  E&t $predcompare P EC@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 E EI E EI E EI E ED t Ac:/jan/pl/boot/bags.pl  QM$bags Fc:/jan/pl/boot/bags.pl 1FsE @jEbagof Esetof XD t  E5t t 
t  @kt 
t  E9t 
t  E7t assert_bag P @jC E"v 		@  E: E" E;		collect_bags @$@F A% E5C X P E8C@$@  E6@Fsort  E5X P E6C@.@+ @A	
	$e_free_variables  E"		@  E<
 E= E"	

 @@! @lX P E<C@5 E"mark  Bz	$record_bag @ @"@E EF E5	@GC@: X P E=C@<@=@=@F$collect_bag  E5@$ E"			@  E=C@? 	X XI @j E5I E6 E5I E8 E5D t Ac:/jan/pl/boot/apply.pl  QM$apply Fc:/jan/pl/boot/apply.pl /ުsEchecklist Esublist E CEmaplist XD t  EPt t 
t  ERt 
t  EVt 
t  ETt  CP EQC C	@!@#
 EQX P EUC@! C@"
		

@#

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

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

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

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

@ 
 @X P EaC@A@Einteger  E\	@$@&@)@'    @4@ @!nth0_det C@E
@E Er	@$@ @! nth_gen X P EyC@I
 	@$C@J

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

@! EyX P E{C@S 

	
C@T
	@=@F Eu

@ 

 E{X P EkC@]@E Ev	@$@&@)@'   @/@7
@ @! EyC@a
@E Er	@$@ @! E{X P EgC@h 		C@i	@! EgX P CC@p@ $reverse X P E}C@s 
C@t
	

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

@ 
 EC@ 		
	X P E_C@
 @$@GC@@$C@
	@F @ E\
@$@GC@

	@  E_X P EiC@ C@	@F E@$
@  EiC@	
	


 EiX P EcC@@$C@
	@F E
@$@!	 A%

@ 
 EcC@
	
@ @! EcX P EmC@
@$C@
	@F E
@$

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

@ 
 EmX P EeC@@$C@	@F E

@  EeX P E]C@@$C@
	@F E
@$

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

@ 
 E]X XI E] E\I E_ E\I Ea E\I Ec E\I E E\I Ee E\I D E\I Eg E\I Ei E\I C E\I C: E\I Ek E\I Em E\I @ E\D t Ac:/jan/pl/boot/writef.pl  QM$writef Fc:/jan/pl/boot/writef.pl 01VsEwritef Eswritef Ewrite_ln E EE EXP EC@E D E	@D B EX P EC EX P EC@!		@ $writefs @GC@$@E B E	@=@Fstring_to_list  E	@!@  E@GC@)@E Al E	@=@F A* E	@!@  E@GC@. X P EC@0 E
	 C6X P EC@2
 E
	 C6X P EC@8 C@9
@%	@!@ 
$action @$


 EC@<		@5
@%	
	@0@9@! @{	$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 DA EC@P
@d
	
@E D` EC@R
@w
	
@E EC@T
@q
	
@Ewriteq  EC@V
@p
	
@E EC@X	
@f
@D DH 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

 @{@&@)@'   @/@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 Ew E	@ @~ @{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 Ac:/jan/pl/boot/history.pl  QM$history Fc:/jan/pl/boot/history.pl 1$sE CE DEhistory_depth XD t  Et t  EP DC@  Aq
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@>
 A\@$C@?
 @~w.~n 		 BX P EC@E@1$last_event 	 @M
history_depth_ @  E+@! @{$history_list  
	 Bu~t~w   ~8|~w.~n 
	 B@GC@M   X P CC@O
 E	 A@E D7 E	@GC@S  	 E  @MX P EC@V@8History Commands:~n  @r    !!.              Repeat last query~n  @r    !nr.             Repeat query numbered <nr>~n  @r    !str.            Repeat last query starting with <str>~n  @r    !?str.           Repeat last query holding <str>~n  @r    ^old^new.        Substitute <old> into <new> of last query~n  @r    !nr^old^new.     Substitute in query numbered <nr>~n  @r    !str^old^new.    Substitute in query starting with <str>~n  @r    !?str^old^new.   Substitute in query holding <str>~n  @r    ~w.~21|Show history list~n 		 @t    ~w.~21|Show this list~n 
	 @tX P EC@f@< E
@  @M@=@F B E
@=@F A* E	@=
@F E
@<@%@!	

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

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

@$X P F	C@@"
@^	
 @@$
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@ 
 A\X P FC@
@^
	@$

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

@! FX P FC@ E 
	 Bu@F E
	@$C@! No such event~n  @r@GX P DC@@!
@! A,
 A,@$

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

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


 F

@ @! DC@ 
	X Palpha C@	@a@z @{C@	@A@Z @{C@ 
@_X Pdigit C@	@0@9 @{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
@!	@$@  FCA@-
	
 F"@$
	@!take_number @=@F E E 	 Bu@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 	 Bu@F E@ @! A,@$CA"
 F( E 	 Bu@F E
@! A,@ 

 A,@$X XI C EI D EI E ED t Ac:/jan/pl/boot/portray.pl  QM$portray Fc:/jan/pl/boot/portray.pl 1vEsE DE F2XD t  F2t  t t portray D t  F2t  t t  F5P F4C F3@$C
   F5		@"@$X P F3C D
	@E Al F2
@$~w 
	 BC F7
	@ $varname ~s 	 BC$VAR 
	@E F8
@$ F9
	 BC F=
	@  F: F<	 BX P F:C@#	@&@)@'   @1@$@!@&@)@'   A@/ @7C@&@(@&@)@'   @/@'   A@/ @7@&@)@'   @/
@7

 F:

	@  A,X XI F3 F2I F4 F2D t Ac:/jan/pl/boot/profile.pl  QM$profile Fc:/jan/pl/boot/profile.pl *sEprofile Eshow_profile Eprofiler XP FGC@=@F FB FB@!$map_profile @E Al FB
@  FK@$
 FJX P FKC 
 @P
 C 
cumulative 
C 
plain 
X P FEC@"@Ktriple 
 
	$profile_count  
	
	 @j@=@F EA FB
 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 FRC@/ Bo@?
 B	 B[@;@@@ @!profile_count @   @lX P F\C@5
 @$C@6@$C@7@I FP
		

 @

profile_box ~w~t~D =~41|~t~D+~D~57| = ~D+~D ~t~1d%~79|~n 	 B@=@F B FB	

 F\X D@? t  FBt t 
t  FDt $time_rval P FCC@C
@-@  FO FN	 @@$ @P FG@Dreset_profiler   FB@  FG Fd @P FG@! FE@$
 @ @^C@Lprofile/3: second argument should be one of {plain, cumulative}  @@GX P FhC@P	
 @ C@$C@R 
 A\X XI FC FBI FE FBI FG FBD t Ac:/jan/pl/boot/dwim.pl  QM$dwim Fc:/jan/pl/boot/dwim.pl 2/sE BE D E @hE$similar_module XD t  Fnt t 
t  D!t correct_goal P D C
	@E A Fn	@$C@  

	 
	@$
@ 
 D 

@ 
 D C		@1 @2 @3
		 @2 @3		@$
@ 
 D 

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

@ 
 D C@% 
	 
	@8@E Fr@9@E Fr
@$C@'	 Bo@$C@)dwim_predicate_list @$@ 
@! FqC@, @n		 C@GX P FuC@0

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

 
 

 @$
	 A
	 A@=@E B Fn



 @I
@ goal_name Correct to: `~w' 	 @xC@;@,
 

   Fnhas_arity 	@!	 ES@$@ 	
 FuC@@ @n		 C@GX P F{C@D
@  @! X P FwC@K @(@  EQ@!goal_name_ $goal_name @! B9@GC@P
 F@! A@$@E D7 FnX P F}C@T
_ 
 F@$C@U  
	@$@ ~q:~q/~q 
	 @C@W 	@$@ ~q/~q 	 @C@Y 	@$@ ~q:~w 	 @C@[@  F9		 @X D@j t  Fnt t  BP BC@m
	@F@: 

name_arity @=@E Fv@8	@!  @^@=@9@=@F A% Fn@;



find_predicate @$@=@F EA Fn

@ principal_predicates @>C@w@+ @!
 F 
$in_library 
	 
	@  @j@  @l@$C@} @No predicates for `~w' 		 C@GX P FC@find_predicate_ 	
	

 @j

 @l@$C@

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

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

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

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

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

 @IX P FC@	@E Fr	@$@  BnC@	 BnX P FC@@E Fr	@$C@ 	X P FC@@( 
	

sim_module  

	
$dwim_predicate 
 @!
sim_arity X P FC@	@E Fr	@$@  BnC@		 Bn@$C@	@  Bn@  BsX P FC@@E Fr	@$C@@&@)@*@/@.@'   @1X P FC@		@E Al Fn	@$C@ 
	
@$C@@ @! @$C@Illegal predicate specification: `~w' 		 @@GX P FC@@5find_definition 		@  EU@<  @^@;find_public 

 EU


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

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

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

 @I
@! FC@ 
X DA  t  Fnt t 
t  @it  FtP @hCA Fs@ @! @X P FsCA
		 Bo@$CA
 F		@  E8@$CA Fo		@  E8@$CA@#  	 
 Bn	 Bo 	@  E8X P FoCA@# 	
 @! Bn

@! Bs 	 BoX XI B FnI D  FnI @h FnI Fo FnD t A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  BuX P FC@  @ @  FX P FC@$@e AW AX AZ AX@8@ @!


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

confirm_file 

 FC@@@  FX P FC@C Aj	@$ Aj	@ 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 C8.o .a  @	 @ CK		@  B]@$C@Z~w: No such foreign file 		 @@GX P FC@^		@E @ F	@$C@`insert_spaces @!@  BOX P FC@d
		@$C@e	
 DD
	


 FX P FC@h@$C@i
	@$@  F@! FC@l
 BQ@8 F@  Bu@9 F Bk@$X XI F FI F FI F FD t Ac:/jan/pl/boot/parms.pl  QFc:/jan/pl/boot/parms.pl 0]sD
 t  t  t Bt @ @D t  t  t Bt @~/lib/prolog Dt  t  t Bt At @v t 
t @ @vt 
t @v/library vt BQvv P DC
 D @
 @win32 @  @@$C 
 DX XD t Ac:/jan/pl/boot/autoload.pl  QM CNFc:/jan/pl/boot/autoload.pl 01NsE B E @YE E Emake_library_index E BE BE FE FXD t  CNt t library_index D t  CNt t  FP @YC@ @"load_library_index  @ @! @8


 F@F A% CN	@9



 F@$X P FC@+ F F@!@  X D@4 t  CNt t  BP BC@7 Bh@$C@9	
@`
 @!
  @Q @R @R @M@ 


 @Y @S @[	 @M@<@F @^ CN
@; @`	 @?@9 
 @f 
		 @? @S
 @M BX P E C@K AjINDEX.pl 		 @@=
@F @ CN	
@ update_library_index @GC@P   X P FC@R	/INDEX.pl 	
 BO@  DF @ FX P CO C@W  
 F	 DX P FC@^   F@$C@` AjINDEX 		 @@=
@F F	
@ read_index @GC@e   X P FC@g
@*@=@E A CN@E A CN	 Aq@=@E CK CN@<

 A @^@;
@$@9
@ assert_index @G@D A CN@E FX P FC@r@/ B
	@$@!
 
 	 BO F
	assertz C@vIllegal term in INDEX.pl of directory ~w: ~w 
		 @X P FC@~
*.pl 	 FX P FC@
@> DF @@$ @ BQ@E C CN	 F A%@ 
expand_index_file_patterns @<


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

do_make_library_index  C B$@9@H@E FC@make_library_index/1: Cannot write ~w 		 @X P FC@@!expand_file_name  EU@! D
 Findex.pl Make.pl make.pl 	@  E]X P GC@@?@E @ CN	@;@@@$C@@,@=@F AR CN	@8 A  AR@F E CN@=
@=@9
@  @@=@F G

@F G@=@$X P GC@ DFopen @!index_header index_file 	@  EQ@Eclose  CNX P GC@		@I@  CK G@=@F CK CN@E G
 A A
	 A%@$@  @delete_suffix  @ 		 @v	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  @v    Creator: make/0~n~n  @v    Purpose: Provide index for autoload~n  @v*/~n~n  @vX P FC@   FX P FC@	@p verbose  @R	
option @=@F A CN Bx B	 Bl B @P BL
needs_autoloading 
	 @j B
 BL@! A@<
 @^@;@H@=@=@9@& B@  BL B @R BL B
 EQ B
 BL B
 BL@  FX P G&C@@4 
	 
	 B B[@? 
	 B	 B[@;@@@!
 


 FX P G#C@@  
	@< A%	 @@;@H@9@F F
X XI F CNI @Y CNI E  CNI F CNI F CNI B CNI F CNI F CND t Ac:/jan/pl/boot/qlf.pl  QM$qlf Fc:/jan/pl/boot/qlf.pl 0]sEqcompile E AAEqload XD t  G1t t 
t  G3t 
t  G6t 
t  G6t yesno P G2C@$C
	@$@  G2@! G2C		
@a
 @! C8 @ @	 @ CK		 B]@$
 @
remove_suffix 

 @ensure_suffix @E$qlf_open  G1 @ A @M@=@F  G1
 A; 
	 G7
 
@" @
 @M@D$qlf_close   G1X P G8C@0@!@  @@$C@2 	X P G:C@4	@  @@$C@6@ @! @X P G@C@9@<@"@;@  @ A%@9@  @H A%X P G5C@D@$C@E
	@$@  G5@! G5C@H A% G" @		 G6X P GDC@K@ AW AX AZ AX
 
 C8 @ @	 @ CK		 B]@$ 
	$qlf_load @<@'@E Al G1@;@< A% @e	@  @@;@H@9 A[ A%


 Aa@9@H@=@<@M A% G" @	@  @@; AW AX AZ AX@&@,@+@/@7@&@,@,@/@7

 Ae
 Ag~N~w loaded~w, ~2f sec, ~D bytes.~n 	 @t@9
@H@=@=@=@=@=@=X P G4C@l@+
loaded  
		
 GE

check_is_module @<
@E GG@;@ 
@! Aa@9@HX P GJC@u
 @
 @$ A	 @C@w X XI G2 G1I G4 G1I G5 G1M D t Ac:/jan/pl/boot/topvars.pl  QMtoplevel_variables Fc:/jan/pl/boot/topvars.pl 01VsEprint_toplevel_variables  Everbose_expansion XD t  GPt t  G" D t  GPt Ct fx $ P DlC@'@!@ expand_vars @=
@Ffree_variables  GP

@!

delete_bound_vars @< G" @F\=@=  GP	
@;@ 
print_query @9@HX P GbC @(@  EQ@E E GP	 A  D@D B GP@GC@# X P GWC@&

@E A GP
@$C@(

@E @ GP
@$C@*@" GV	

name_var @<


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

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

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

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

 GnX P GiC@> A%
		@F @^ GP	
@$C@@	
@! GiX P G\C@D C@E@&
		
 A%	 A%
@ v_member @$

@ 
 G\C@I
	
@ @! G\X P GqC@L	@8@F Gp	@9
 GqX P DnC@Q	assert_bindings X P GsC@T C@U@.
	@  A%	 A% A$topvar  A%	
	 D7
	 C Gu@  B@! GsX P GkC@[
 Gu A%	
	 BuX P GQC@^	
 Gk$~w =~t~12|~p~n 	
	 B@GC@b   Gk@$C@d  No defined toplevel variables~n  B$X P GSC@h

 @R@$ G" D G" @C@k
 @P G" DX D@n t  GPt t 
t  t  Dkt  t  DmO  DlC@r  GP Dl	
	@"X O  DnC@t  GP Dn	
	@"X XI GQ GPI GS GPXXDDt  t v  DDt  t Av XXT  qlst