proc read_graph
	filen	graphpak.icn
	local	0,001000,f
	local	1,000020,node
	local	2,000020,nodes
	local	3,000020,node_list
	local	4,000020,lookup
	local	5,000020,arc
	local	6,000020,from_name
	local	7,000020,to_name
	local	8,000000,table
	local	9,000000,read
	local	10,000000,stop
	local	11,000000,name
	local	12,000000,tab
	local	13,000000,upto
	local	14,000000,set
	local	15,000000,put
	local	16,000000,many
	local	17,000000,find
	local	18,000000,move
	local	19,000000,insert
	local	20,000000,graph
	con	0,010000,28,052,052,052,040,145,155,160,164,171,040,163,160,145,143,151,146,151,143,141,164,151,157,156,040,146,151,154,145
	con	1,020000,2,011,040
	con	2,002000,1,0
	con	3,020000,2,040,011
	con	4,010000,2,055,076
	con	5,010000,25,052,052,052,040,142,141,144,040,141,162,143,040,163,160,145,143,151,146,151,143,141,164,151,157,156
	con	6,002000,1,2
	con	7,010000,21,052,052,052,040,156,157,156,055,145,170,151,163,164,145,156,164,040,156,157,144,145
	declend
	line	44
	colm	11
	mark	L1
	pnull
	var	2
	pnull
	line	47
	colm	13
	llist	0
	line	47
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	4
	var	8
	line	48
	colm	19
	invoke	0
	line	48
	colm	11
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	3
	mark	L4
	var	9
	var	0
	line	50
	colm	21
	invoke	1
	esusp
	goto	L5
lab L4
	var	10
	str	0
	line	50
	colm	31
	invoke	1
lab L5
	line	50
	colm	14
	asgn
	unmark
lab L3
	mark	L6
	var	3
	line	52
	colm	14
	bscan
lab L7
	mark0
	pnull
	var	11
	var	12
	mark	L10
	var	13
	cset	1
	line	53
	colm	29
	invoke	1
	esusp
	goto	L11
lab L10
	int	2
lab L11
	line	53
	colm	24
	invoke	1
	line	53
	colm	18
	asgn
	unmark
	mark	L7
	mark	L12
	pnull
	var	1
	var	14
	line	54
	colm	21
	invoke	0
	line	54
	colm	15
	asgn
	unmark
lab L12
	mark	L13
	var	15
	var	2
	var	1
	line	55
	colm	13
	invoke	2
	unmark
lab L13
	mark	L14
	pnull
	pnull
	var	4
	var	11
	line	56
	colm	16
	subsc
	var	1
	line	56
	colm	23
	asgn
	unmark
lab L14
	mark	L15
	pnull
	pnull
	var	4
	var	1
	line	57
	colm	16
	subsc
	var	11
	line	57
	colm	23
	asgn
	unmark
lab L15
	mark	L16
	var	12
	var	16
	cset	3
	line	58
	colm	18
	invoke	1
	line	58
	colm	13
	invoke	1
	esusp
	goto	L17
lab L16
	unmark
	pnull
	goto	L9
lab L17
lab L8
	unmark
	goto	L7
lab L9
	line	52
	colm	14
	escan
	unmark
lab L6
	mark	L18
lab L19
	mark0
	pnull
	var	5
	var	9
	var	0
	line	62
	colm	21
	invoke	1
	line	62
	colm	14
	asgn
	unmark
	mark	L19
	var	5
	line	63
	colm	11
	bscan
	mark	L22
	pnull
	var	6
	mark	L23
	var	12
	var	17
	str	4
	line	64
	colm	31
	invoke	1
	line	64
	colm	26
	invoke	1
	esusp
	goto	L24
lab L23
	var	10
	str	5
	line	64
	colm	45
	invoke	1
lab L24
	line	64
	colm	20
	asgn
	unmark
lab L22
	mark	L25
	var	18
	int	6
	line	65
	colm	14
	invoke	1
	unmark
lab L25
	mark	L26
	pnull
	var	7
	var	12
	int	2
	line	66
	colm	24
	invoke	1
	line	66
	colm	18
	asgn
	unmark
lab L26
	mark	L27
	var	19
	pnull
	pnull
	var	4
	var	6
	line	67
	colm	24
	subsc
	line	67
	colm	17
	nonnull
	pnull
	pnull
	var	4
	var	7
	line	67
	colm	44
	subsc
	line	67
	colm	37
	nonnull
	line	67
	colm	16
	invoke	2
	esusp
	goto	L28
lab L27
	var	10
	str	7
	line	68
	colm	17
	invoke	1
lab L28
	line	63
	colm	11
	escan
lab L20
	unmark
	goto	L19
lab L21
	unmark
lab L18
	mark	L29
	mark	L30
	var	20
	var	2
	var	4
	line	73
	colm	16
	invoke	2
	line	73
	colm	4
	pret
lab L30
	pfail
	unmark
lab L29
	pnull
	line	75
	colm	1
	pfail
	end
proc write_graph
	local	0,001000,g
	local	1,001000,f
	local	2,000020,name_list
	local	3,000020,node
	local	4,000000,write
	con	0,010000,0
	con	1,010000,1,040
	con	2,002000,1,1
	con	3,010000,2,055,076
	declend
	line	79
	colm	11
	mark	L1
	pnull
	var	2
	str	0
	line	82
	colm	14
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	3
	pnull
	pnull
	var	0
	line	84
	colm	20
	field	nodes
	line	84
	colm	18
	bang
	line	84
	colm	15
	asgn
	pop
	mark0
	pnull
	var	2
	dup
	pnull
	pnull
	pnull
	var	0
	line	85
	colm	23
	field	lookup
	var	3
	line	85
	colm	30
	subsc
	str	1
	line	85
	colm	37
	cat
	line	85
	colm	17
	cat
	asgn
	unmark
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L5
	var	4
	var	1
	pnull
	var	2
	int	2
	pnull
	int	2
	line	87
	colm	25
	neg
	line	87
	colm	24
	sect
	line	87
	colm	9
	invoke	2
	unmark
lab L5
	mark	L6
	mark0
	pnull
	var	3
	pnull
	pnull
	var	0
	line	89
	colm	20
	field	nodes
	line	89
	colm	18
	bang
	line	89
	colm	15
	asgn
	pop
	mark0
	mark0
	var	4
	var	1
	pnull
	pnull
	var	0
	line	90
	colm	23
	field	lookup
	var	3
	line	90
	colm	30
	subsc
	str	3
	pnull
	pnull
	var	0
	line	90
	colm	45
	field	lookup
	pnull
	var	3
	line	90
	colm	53
	bang
	line	90
	colm	52
	subsc
	line	90
	colm	18
	invoke	4
	pop
lab L9
	efail
lab L10
	unmark
lab L7
	efail
lab L8
	unmark
lab L6
	mark	L11
	mark	L12
	pnull
	line	92
	colm	4
	pret
lab L12
	pfail
	unmark
lab L11
	pnull
	line	94
	colm	1
	pfail
	end
proc closure
	local	0,001000,node
	local	1,001000,close
	local	2,000020,n
	local	3,000000,set
	local	4,000000,insert
	local	5,000000,member
	local	6,000000,closure
	declend
	line	98
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	101
	colm	4
	null
	var	3
	line	101
	colm	17
	invoke	0
	line	101
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	var	4
	var	1
	var	0
	line	103
	colm	10
	invoke	2
	unmark
lab L2
	mark	L3
	mark0
	pnull
	var	2
	pnull
	var	0
	line	105
	colm	15
	bang
	line	105
	colm	12
	asgn
	pop
	mark0
	mark	L6
	var	5
	var	1
	var	2
	line	107
	colm	13
	invoke	2
	esusp
	goto	L7
lab L6
	var	6
	var	2
	var	1
	line	107
	colm	33
	invoke	2
lab L7
	unmark
lab L4
	efail
lab L5
	unmark
lab L3
	mark	L8
	mark	L9
	var	1
	line	109
	colm	4
	pret
lab L9
	pfail
	unmark
lab L8
	pnull
	line	111
	colm	1
	pfail
	end
