proc shquote
	filen	shquote.icn
	local	0,001000,s
	local	1,000000,shquote_words
	declend
	line	43
	colm	11
	mark	L1
	mark	L2
	var	1
	var	0
	line	44
	colm	24
	invoke	1
	line	44
	colm	4
	pret
lab L2
	pfail
	unmark
lab L1
	pnull
	line	45
	colm	1
	pfail
	end
proc cshquote
	local	0,001000,s
	local	1,000000,shquote_words
	local	2,000000,tab
	local	3,000000,find
	local	4,000000,move
	con	0,020000,20,011,012,040,044,042,043,046,047,050,051,052,073,074,076,077,133,134,140,174,176
	con	1,010000,0
	con	2,010000,1,041
	con	3,010000,1,134
	con	4,002000,1,1
	con	5,002000,1,0
	declend
	line	47
	colm	11
	mark	L1
	pnull
	var	0
	var	1
	var	0
	cset	0
	line	48
	colm	22
	invoke	2
	line	48
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	var	0
	line	52
	colm	6
	bscan
	mark	L3
	pnull
	var	0
	str	1
	line	53
	colm	9
	asgn
	unmark
lab L3
	mark	L4
lab L5
	mark0
	pnull
	var	0
	dup
	var	2
	var	3
	str	2
	line	54
	colm	28
	invoke	1
	line	54
	colm	23
	invoke	1
	line	54
	colm	15
	cat
	asgn
	unmark
	mark	L5
	pnull
	var	0
	dup
	pnull
	str	3
	var	4
	int	4
	line	55
	colm	25
	invoke	1
	line	55
	colm	18
	cat
	line	55
	colm	8
	cat
	asgn
lab L6
	unmark
	goto	L5
lab L7
	unmark
lab L4
	pnull
	var	0
	dup
	var	2
	int	5
	line	57
	colm	17
	invoke	1
	line	57
	colm	9
	cat
	asgn
	line	52
	colm	6
	escan
	unmark
lab L2
	mark	L8
	mark	L9
	var	0
	line	59
	colm	4
	pret
lab L9
	pfail
	unmark
lab L8
	pnull
	line	60
	colm	1
	pfail
	end
proc mpwquote
	local	0,001000,s
	local	1,000020,result
	local	2,000000,shquote_words
	local	3,000000,tab
	local	4,000000,find
	local	5,000000,move
	con	0,010000,0
	con	1,020000,33,000,011,012,015,040,042,043,046,047,050,051,052,053,057,073,074,076,077,133,134,135,140,173,174,175,250,263,266,267,305,307,310,311
	con	2,010000,1,266
	con	3,010000,1,015
	con	4,010000,4,047,266,156,047
	con	5,002000,1,1
	con	6,002000,1,0
	declend
	line	62
	colm	11
	mark	L1
	pnull
	var	1
	str	0
	line	80
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	var	2
	var	0
	cset	1
	str	2
	line	85
	colm	17
	invoke	3
	line	87
	colm	14
	bscan
	mark	L3
lab L4
	mark0
	pnull
	var	1
	dup
	var	3
	var	4
	str	3
	line	88
	colm	33
	invoke	1
	line	88
	colm	28
	invoke	1
	line	88
	colm	20
	cat
	asgn
	unmark
	mark	L4
	mark	L7
	pnull
	var	1
	dup
	str	4
	line	89
	colm	13
	cat
	asgn
	unmark
lab L7
	var	5
	int	5
	line	90
	colm	11
	invoke	1
lab L5
	unmark
	goto	L4
lab L6
	unmark
lab L3
	pnull
	var	1
	dup
	var	3
	int	6
	line	92
	colm	22
	invoke	1
	line	92
	colm	14
	cat
	asgn
	line	87
	colm	14
	escan
	unmark
lab L2
	mark	L8
	mark	L9
	var	1
	line	94
	colm	4
	pret
lab L9
	pfail
	unmark
lab L8
	pnull
	line	95
	colm	1
	pfail
	end
proc shquote_words
	local	0,001000,wordList
	local	1,001000,quotedChars
	local	2,001000,escapeString
	local	3,001000,sepString
	local	4,000020,s
	local	5,000020,result
	local	6,000020,sep
	local	7,000000,upto
	local	8,000000,tab
	local	9,000000,find
	local	10,000000,move
	con	0,020000,21,011,012,015,040,044,042,043,046,047,050,051,052,073,074,076,077,133,134,136,140,174
	con	1,010000,1,134
	con	2,010000,1,040
	con	3,010000,0
	con	4,010000,1,047
	con	5,010000,2,047,047
	con	6,002000,1,1
	con	7,002000,1,0
	declend
	line	97
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	99
	colm	4
	null
	cset	0
	line	99
	colm	17
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	2
	line	100
	colm	4
	null
	str	1
	line	100
	colm	18
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	3
	line	101
	colm	4
	null
	str	2
	line	101
	colm	15
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	5
	pnull
	var	6
	str	3
	line	102
	colm	18
	asgn
	line	102
	colm	11
	asgn
	unmark
lab L4
	mark	L5
	mark0
	pnull
	var	4
	pnull
	var	0
	line	103
	colm	15
	bang
	line	103
	colm	12
	asgn
	pop
	mark0
	mark	L8
	mark0
	mark	L9
	pnull
	var	4
	str	3
	line	104
	colm	12
	lexeq
	esusp
	goto	L10
lab L9
	var	7
	var	1
	var	4
	line	104
	colm	24
	invoke	2
lab L10
	unmark
	var	4
	line	105
	colm	8
	bscan
	mark	L11
	pnull
	var	4
	str	4
	line	106
	colm	11
	asgn
	unmark
lab L11
	mark	L12
lab L13
	mark0
	pnull
	var	4
	dup
	pnull
	pnull
	pnull
	var	8
	var	9
	str	4
	line	107
	colm	30
	invoke	1
	line	107
	colm	25
	invoke	1
	str	4
	line	107
	colm	37
	cat
	var	2
	line	107
	colm	44
	cat
	str	5
	line	107
	colm	60
	cat
	line	107
	colm	17
	cat
	asgn
	pop
	var	10
	int	6
	line	107
	colm	74
	invoke	1
lab L14
	unmark
	goto	L13
lab L15
	unmark
lab L12
	pnull
	var	4
	dup
	pnull
	var	8
	int	7
	line	108
	colm	19
	invoke	1
	str	4
	line	108
	colm	23
	cat
	line	108
	colm	11
	cat
	asgn
	line	105
	colm	8
	escan
	unmark
lab L8
	mark	L16
	pnull
	var	5
	dup
	pnull
	var	6
	var	4
	line	111
	colm	23
	cat
	line	111
	colm	14
	cat
	asgn
	unmark
lab L16
	pnull
	var	6
	var	3
	line	112
	colm	11
	asgn
	unmark
lab L6
	efail
lab L7
	unmark
lab L5
	mark	L17
	mark	L18
	var	5
	line	114
	colm	4
	pret
lab L18
	pfail
	unmark
lab L17
	pnull
	line	115
	colm	1
	pfail
	end
proc dequote
	local	0,001000,s
	local	1,001000,escapeString
	local	2,001000,escapeProc
	local	3,000020,quoteChars
	local	4,000020,c
	local	5,000020,d
	local	6,000000,tab
	local	7,000000,upto
	local	8,000000,move
	con	0,010000,1,134
	con	1,002000,1,1
	con	2,020000,2,042,047
	con	3,010000,0
	con	4,010000,1,047
	con	5,002000,1,0
	declend
	line	117
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	119
	colm	4
	null
	str	0
	line	119
	colm	18
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	2
	line	120
	colm	4
	null
	int	1
	line	120
	colm	16
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	3
	pnull
	cset	2
	pnull
	var	1
	int	1
	line	121
	colm	39
	subsc
	line	121
	colm	24
	unions
	line	121
	colm	15
	asgn
	unmark
lab L3
	mark	L4
	var	0
	line	122
	colm	6
	bscan
	mark	L5
	pnull
	var	0
	str	3
	line	123
	colm	9
	asgn
	unmark
lab L5
	mark	L6
lab L7
	mark0
	pnull
	var	0
	dup
	var	6
	var	7
	var	3
	line	124
	colm	28
	invoke	1
	line	124
	colm	23
	invoke	1
	line	124
	colm	15
	cat
	asgn
	unmark
	mark	L7
	mark	L10
	pnull
	var	1
	line	125
	colm	9
	tabmat
	unmark
	pnull
	var	0
	dup
	mark	L12
	pnull
	var	5
	str	4
	line	125
	colm	41
	eqv
	unmark
	var	1
	goto	L13
lab L12
	var	2
	var	8
	int	1
	line	126
	colm	16
	invoke	1
	line	126
	colm	11
	invoke	1
lab L13
	line	125
	colm	30
	cat
	asgn
	goto	L11
lab L10
	mark	L14
	pnull
	var	4
	var	8
	int	1
	line	128
	colm	18
	invoke	1
	line	128
	colm	11
	asgn
	unmark
lab L14
	mark	L15
	pnull
	pnull
	var	5
	line	129
	colm	10
	null
	var	4
	line	129
	colm	13
	asgn
	esusp
	goto	L16
lab L15
	mark	L17
	pnull
	var	0
	dup
	pnull
	var	5
	var	4
	line	129
	colm	31
	lexne
	line	129
	colm	24
	cat
	asgn
	esusp
	goto	L18
lab L17
	pnull
	var	5
	line	129
	colm	46
	keywd	null
	line	129
	colm	43
	asgn
lab L18
lab L16
lab L11
lab L8
	unmark
	goto	L7
lab L9
	unmark
lab L6
	mark	L19
	pnull
	var	0
	var	6
	int	5
	line	132
	colm	22
	invoke	1
	line	132
	colm	16
	cat
	line	132
	colm	7
	pret
lab L19
	pfail
	line	122
	colm	6
	escan
	unmark
lab L4
	pnull
	line	134
	colm	1
	pfail
	end
proc mpwdequote
	local	0,001000,s
	local	1,000000,dequote
	local	2,000000,mpw_escape_proc
	con	0,010000,1,266
	declend
	line	136
	colm	11
	mark	L1
	mark	L2
	var	1
	var	0
	str	0
	var	2
	line	137
	colm	18
	invoke	3
	line	137
	colm	4
	pret
lab L2
	pfail
	unmark
lab L1
	pnull
	line	138
	colm	1
	pfail
	end
proc mpw_escape_proc
	local	0,001000,ch
	con	0,010000,1,156
	con	1,010000,1,012
	con	2,010000,1,164
	con	3,010000,1,011
	con	4,010000,1,146
	con	5,010000,1,014
	declend
	line	140
	colm	11
	mark	L1
	mark	L2
	mark0
	var	0
	eret
	mark	L4
	ccase
	str	0
	line	142
	colm	10
	eqv
	unmark
	pop
	str	1
	goto	L3
lab L4
	mark	L5
	ccase
	str	2
	line	143
	colm	10
	eqv
	unmark
	pop
	str	3
	goto	L3
lab L5
	mark	L6
	ccase
	str	4
	line	144
	colm	10
	eqv
	unmark
	pop
	str	5
	goto	L3
lab L6
	pop
	var	0
lab L3
	line	141
	colm	4
	pret
lab L2
	pfail
	unmark
lab L1
	pnull
	line	147
	colm	1
	pfail
	end
