version	U12.1.00
uid	timezone.u1-1786033031-0
record	util__Timezone__state,4
	0,__s
	1,__m
	2,offset
	3,id
record	util__Timezone__methods,3
	0,get_id
	1,get_offset
	2,initially
impl	local
global	15
	0,000001,util__known_timezones,0
	1,000001,util__system_timezone,0
	2,000001,util__utc_timezone,0
	3,000005,util__Timezone_get_id,1
	4,000005,util__Timezone_get_offset,1
	5,000005,util__Timezone_initially,-2
	6,000011,util__Timezone__state,4
	7,000011,util__Timezone__methods,3
	8,000001,util__Timezone__oprec,0
	9,000005,util__Timezone,-1
	10,000005,util__Timezoneinitialize,0
	11,000005,util__init_timezone,0
	12,000005,util__get_system_timezone,0
	13,000005,util__get_utc_timezone,0
	14,000005,util__get_known_timezone,1

proc util__Timezone_get_id
	local	0,001000,self
	declend
	filen	timezone.icn
	line	14
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	0
	line	15
	colm	18
	synt	any
	field	id
	line	15
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	16
	colm	1
	synt	any
	pfail
	end
proc util__Timezone_get_offset
	local	0,001000,self
	declend
	line	18
	colm	11
	synt	any
	mark	L1
	mark	L2
	pnull
	var	0
	line	19
	colm	18
	synt	any
	field	offset
	line	19
	colm	7
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	20
	colm	1
	synt	any
	pfail
	end
proc util__Timezone_initially
	local	0,001000,self
	local	1,001000,a
	local	2,000040,once
	local	3,000000,util__init_timezone
	local	4,000000,type
	local	5,000000,right
	local	6,000000,abs
	local	7,000000,util__get_known_timezone
	con	0,002000,1,1
	con	1,002000,1,0
	con	2,010000,3,125,124,103
	con	3,010000,7,151,156,164,145,147,145,162
	con	4,010000,1,055
	con	5,010000,1,053
	con	6,002000,4,3600
	con	7,002000,1,2
	con	8,010000,1,060
	con	9,002000,2,60
	declend
	line	22
	colm	11
	synt	any
	mark	L1
	line	24
	colm	7
	synt	if
	mark0
	pnull
	var	2
	line	24
	colm	10
	synt	any
	null
	unmark
	mark	L2
	var	3
	line	25
	colm	29
	synt	any
	invoke	0
	unmark
lab L2
	pnull
	var	2
	int	0
	line	26
	colm	15
	synt	any
	asgn
	line	24
	colm	7
	synt	endif
	unmark
lab L1
	mark	L3
	line	28
	colm	7
	synt	ifelse
	mark	L4
	pnull
	pnull
	var	1
	line	28
	colm	10
	synt	any
	size
	int	1
	line	28
	colm	13
	synt	any
	numeq
	unmark
	mark	L6
	pnull
	pnull
	var	0
	line	29
	colm	14
	synt	any
	field	id
	str	2
	line	29
	colm	17
	synt	any
	asgn
	unmark
lab L6
	pnull
	pnull
	var	0
	line	30
	colm	14
	synt	any
	field	offset
	int	1
	line	30
	colm	21
	synt	any
	asgn
	goto	L5
lab L4
	line	32
	colm	12
	synt	ifelse
	mark	L7
	pnull
	pnull
	var	1
	line	32
	colm	15
	synt	any
	size
	int	0
	line	32
	colm	18
	synt	any
	numeq
	unmark
	line	33
	colm	10
	synt	ifelse
	mark	L9
	pnull
	var	4
	pnull
	var	1
	int	0
	line	33
	colm	21
	synt	any
	subsc
	line	33
	colm	19
	synt	any
	invoke	1
	str	3
	line	33
	colm	26
	synt	any
	lexeq
	unmark
	mark	L11
	pnull
	pnull
	var	0
	line	34
	colm	17
	synt	any
	field	offset
	pnull
	var	1
	int	0
	line	34
	colm	27
	synt	any
	subsc
	line	34
	colm	24
	synt	any
	asgn
	unmark
lab L11
	pnull
	pnull
	var	0
	line	35
	colm	17
	synt	any
	field	id
	pnull
	pnull
	line	35
	colm	23
	synt	ifelse
	mark	L12
	pnull
	pnull
	var	0
	line	35
	colm	30
	synt	any
	field	offset
	int	1
	line	35
	colm	37
	synt	any
	numlt
	unmark
	str	4
	goto	L13
lab L12
	str	5
lab L13
	line	35
	colm	23
	synt	endifelse
	var	5
	pnull
	var	6
	pnull
	var	0
	line	36
	colm	34
	synt	any
	field	offset
	line	36
	colm	29
	synt	any
	invoke	1
	int	6
	line	36
	colm	42
	synt	any
	div
	int	7
	str	8
	line	36
	colm	23
	synt	any
	invoke	3
	line	35
	colm	55
	synt	any
	cat
	var	5
	pnull
	pnull
	var	6
	pnull
	var	0
	line	37
	colm	35
	synt	any
	field	offset
	line	37
	colm	30
	synt	any
	invoke	1
	int	6
	line	37
	colm	43
	synt	any
	mod
	int	9
	line	37
	colm	49
	synt	any
	div
	int	7
	str	8
	line	37
	colm	23
	synt	any
	invoke	3
	line	36
	colm	54
	synt	any
	cat
	line	35
	colm	20
	synt	any
	asgn
	goto	L10
lab L9
	mark	L14
	pnull
	pnull
	var	0
	line	40
	colm	17
	synt	any
	field	id
	pnull
	var	1
	int	0
	line	40
	colm	23
	synt	any
	subsc
	line	40
	colm	20
	synt	any
	asgn
	unmark
lab L14
	pnull
	pnull
	var	0
	line	41
	colm	17
	synt	any
	field	offset
	mark	L15
	pnull
	var	7
	pnull
	var	0
	line	41
	colm	55
	synt	any
	field	id
	line	41
	colm	50
	synt	any
	invoke	1
	line	41
	colm	59
	synt	any
	field	get_offset
	line	41
	colm	70
	synt	any
	invoke	0
	line	41
	colm	72
	synt	any
	esusp
	goto	L16
lab L15
	line	41
	colm	73
	synt	any
	pfail
lab L16
	line	41
	colm	24
	synt	any
	asgn
lab L10
	line	33
	colm	10
	synt	endifelse
	goto	L8
lab L7
	mark	L17
	pnull
	pnull
	var	0
	line	45
	colm	14
	synt	any
	field	offset
	pnull
	var	1
	int	0
	line	45
	colm	24
	synt	any
	subsc
	line	45
	colm	21
	synt	any
	asgn
	unmark
lab L17
	pnull
	pnull
	var	0
	line	46
	colm	14
	synt	any
	field	id
	pnull
	var	1
	int	7
	line	46
	colm	20
	synt	any
	subsc
	line	46
	colm	17
	synt	any
	asgn
lab L8
	line	32
	colm	12
	synt	endifelse
lab L5
	line	28
	colm	7
	synt	endifelse
	unmark
lab L3
	mark	L18
	mark	L19
	pnull
	line	48
	colm	7
	synt	any
	pret
lab L19
	synt	any
	pfail
	unmark
lab L18
	pnull
	line	49
	colm	1
	synt	any
	pfail
	end
proc util__Timezone
	local	0,001000,a
	local	1,000020,self
	local	2,000020,clone
	local	3,000000,util__Timezone__oprec
	local	4,000000,util__Timezoneinitialize
	local	5,000000,util__Timezone__state
	local	6,000000,push
	declend
	filen	__faux.icn
	line	5
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	line	8
	colm	3
	synt	if
	mark0
	pnull
	var	3
	line	8
	colm	6
	synt	any
	null
	unmark
	var	4
	line	8
	colm	58
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	1
	var	5
	line	10
	colm	33
	synt	any
	keywd	null
	var	3
	line	10
	colm	32
	synt	any
	invoke	2
	line	10
	colm	8
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	1
	line	11
	colm	7
	synt	any
	field	__s
	var	1
	line	11
	colm	12
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	mark	L7
	pnull
	pnull
	var	1
	line	12
	colm	7
	synt	any
	field	__m
	line	12
	colm	11
	synt	any
	field	initially
	var	6
	var	0
	var	1
	line	12
	colm	27
	synt	any
	invoke	2
	invoke	-1
	line	12
	colm	37
	synt	any
	esusp
	goto	L8
lab L7
	line	12
	colm	39
	synt	any
	pfail
lab L8
	unmark
lab L6
	mark	L9
	mark	L10
	var	1
	line	13
	colm	3
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	14
	colm	1
	synt	any
	pfail
	end
proc util__Timezoneinitialize
	local	0,000000,util__Timezone__oprec
	local	1,000000,util__Timezone__methods
	local	2,000000,util__Timezone_get_id
	local	3,000000,util__Timezone_get_offset
	local	4,000000,util__Timezone_initially
	declend
	line	16
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	0
	var	1
	var	2
	var	3
	var	4
	line	17
	colm	59
	synt	any
	invoke	3
	line	17
	colm	33
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	18
	colm	1
	synt	any
	pfail
	end
proc util__init_timezone
	local	0,000020,s
	local	1,000020,t1
	local	2,000020,pat
	local	3,000020,t2
	local	4,000020,f
	local	5,000020,t
	local	6,000000,util__known_timezones
	local	7,000000,table
	local	8,000000,util__utc_timezone
	local	9,000000,util__Timezone
	local	10,000000,insert
	local	11,000000,gettimeofday
	local	12,000000,util__Time
	local	13,000000,ctime
	local	14,000000,stop
	local	15,000000,gtime
	local	16,000000,util__system_timezone
	local	17,000000,open
	local	18,000000,read
	local	19,000000,close
	con	0,002000,1,0
	con	1,010000,3,125,124,103
	con	2,010000,3,107,115,124
	con	3,010000,2,125,124
	con	4,010000,3,102,123,124
	con	5,002000,4,3600
	con	6,010000,3,105,123,124
	con	7,002000,5,18000
	con	8,010000,3,105,104,124
	con	9,002000,5,14400
	con	10,010000,3,103,123,124
	con	11,002000,5,21600
	con	12,010000,3,103,104,124
	con	13,010000,3,115,123,124
	con	14,002000,5,25200
	con	15,010000,3,115,104,124
	con	16,010000,3,120,123,124
	con	17,002000,5,28800
	con	18,010000,3,120,104,124
	con	19,002000,1,1
	con	20,010000,27,105,040,115,115,115,040,144,144,040,150,150,072,155,155,072,163,163,040,171,171,171,171,040,172,172,172,172
	con	21,010000,6,040,053,060,060,060,060
	con	22,010000,20,103,157,165,154,144,156,047,164,040,160,141,162,163,145,040,143,164,151,155,145
	con	23,010000,20,103,157,165,154,144,156,047,164,040,160,141,162,163,145,040,147,164,151,155,145
	con	24,010000,4,125,116,111,130
	con	25,010000,8,144,141,164,145,040,053,045,132
	con	26,010000,1,160
	declend
	filen	timezone.icn
	line	50
	colm	11
	synt	any
	mark	L1
	pnull
	var	6
	var	7
	line	52
	colm	32
	synt	any
	invoke	0
	line	52
	colm	25
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	8
	var	9
	int	0
	str	1
	line	54
	colm	38
	synt	any
	invoke	2
	line	54
	colm	22
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	var	10
	var	6
	str	2
	var	9
	int	0
	str	2
	line	55
	colm	55
	synt	any
	invoke	2
	line	55
	colm	12
	synt	any
	invoke	3
	unmark
lab L3
	mark	L4
	var	10
	var	6
	str	1
	var	8
	line	56
	colm	12
	synt	any
	invoke	3
	unmark
lab L4
	mark	L5
	var	10
	var	6
	str	3
	var	9
	int	0
	str	3
	line	57
	colm	54
	synt	any
	invoke	2
	line	57
	colm	12
	synt	any
	invoke	3
	unmark
lab L5
	mark	L6
	var	10
	var	6
	str	4
	var	9
	int	5
	str	4
	line	58
	colm	55
	synt	any
	invoke	2
	line	58
	colm	12
	synt	any
	invoke	3
	unmark
lab L6
	mark	L7
	var	10
	var	6
	str	6
	var	9
	pnull
	int	7
	line	59
	colm	56
	synt	any
	neg
	str	6
	line	59
	colm	55
	synt	any
	invoke	2
	line	59
	colm	12
	synt	any
	invoke	3
	unmark
lab L7
	mark	L8
	var	10
	var	6
	str	8
	var	9
	pnull
	int	9
	line	60
	colm	56
	synt	any
	neg
	str	8
	line	60
	colm	55
	synt	any
	invoke	2
	line	60
	colm	12
	synt	any
	invoke	3
	unmark
lab L8
	mark	L9
	var	10
	var	6
	str	10
	var	9
	pnull
	int	11
	line	61
	colm	56
	synt	any
	neg
	str	10
	line	61
	colm	55
	synt	any
	invoke	2
	line	61
	colm	12
	synt	any
	invoke	3
	unmark
lab L9
	mark	L10
	var	10
	var	6
	str	12
	var	9
	pnull
	int	7
	line	62
	colm	56
	synt	any
	neg
	str	12
	line	62
	colm	55
	synt	any
	invoke	2
	line	62
	colm	12
	synt	any
	invoke	3
	unmark
lab L10
	mark	L11
	var	10
	var	6
	str	13
	var	9
	pnull
	int	14
	line	63
	colm	56
	synt	any
	neg
	str	13
	line	63
	colm	55
	synt	any
	invoke	2
	line	63
	colm	12
	synt	any
	invoke	3
	unmark
lab L11
	mark	L12
	var	10
	var	6
	str	15
	var	9
	pnull
	int	11
	line	64
	colm	56
	synt	any
	neg
	str	15
	line	64
	colm	55
	synt	any
	invoke	2
	line	64
	colm	12
	synt	any
	invoke	3
	unmark
lab L12
	mark	L13
	var	10
	var	6
	str	16
	var	9
	pnull
	int	17
	line	65
	colm	56
	synt	any
	neg
	str	16
	line	65
	colm	55
	synt	any
	invoke	2
	line	65
	colm	12
	synt	any
	invoke	3
	unmark
lab L13
	mark	L14
	var	10
	var	6
	str	18
	var	9
	pnull
	int	14
	line	66
	colm	56
	synt	any
	neg
	str	18
	line	66
	colm	55
	synt	any
	invoke	2
	line	66
	colm	12
	synt	any
	invoke	3
	unmark
lab L14
	mark	L15
	pnull
	var	0
	pnull
	var	11
	line	71
	colm	23
	synt	any
	invoke	0
	int	19
	line	71
	colm	25
	synt	any
	subsc
	line	71
	colm	6
	synt	any
	asgn
	unmark
lab L15
	mark	L16
	pnull
	var	1
	var	12
	line	72
	colm	20
	synt	any
	invoke	0
	line	72
	colm	7
	synt	any
	asgn
	unmark
lab L16
	mark	L17
	pnull
	var	2
	str	20
	line	73
	colm	8
	synt	any
	asgn
	unmark
lab L17
	mark	L18
	mark	L19
	pnull
	var	1
	line	74
	colm	6
	synt	any
	field	parse
	pnull
	var	13
	var	0
	line	74
	colm	18
	synt	any
	invoke	1
	str	21
	line	74
	colm	22
	synt	any
	cat
	var	2
	line	74
	colm	12
	synt	any
	invoke	2
	line	74
	colm	40
	synt	any
	esusp
	goto	L20
lab L19
	var	14
	str	22
	line	74
	colm	48
	synt	any
	invoke	1
lab L20
	unmark
lab L18
	mark	L21
	pnull
	var	3
	var	12
	line	75
	colm	20
	synt	any
	invoke	0
	line	75
	colm	7
	synt	any
	asgn
	unmark
lab L21
	mark	L22
	mark	L23
	pnull
	var	3
	line	76
	colm	6
	synt	any
	field	parse
	pnull
	var	15
	var	0
	line	76
	colm	18
	synt	any
	invoke	1
	str	21
	line	76
	colm	22
	synt	any
	cat
	var	2
	line	76
	colm	12
	synt	any
	invoke	2
	line	76
	colm	40
	synt	any
	esusp
	goto	L24
lab L23
	var	14
	str	23
	line	76
	colm	48
	synt	any
	invoke	1
lab L24
	unmark
lab L22
	mark	L25
	pnull
	var	16
	var	9
	pnull
	pnull
	var	1
	line	77
	colm	44
	synt	any
	field	get_seconds
	line	77
	colm	56
	synt	any
	invoke	0
	pnull
	var	3
	line	77
	colm	61
	synt	any
	field	get_seconds
	line	77
	colm	73
	synt	any
	invoke	0
	line	77
	colm	58
	synt	any
	minus
	line	77
	colm	41
	synt	any
	invoke	1
	line	77
	colm	25
	synt	any
	asgn
	unmark
lab L25
	mark	L26
	line	79
	colm	4
	synt	if
	mark0
	pnull
	line	79
	colm	7
	synt	any
	keywd	features
	str	24
	line	79
	colm	17
	synt	any
	lexeq
	unmark
	mark	L27
	line	80
	colm	7
	synt	if
	mark0
	pnull
	var	4
	var	17
	str	25
	str	26
	line	80
	colm	21
	synt	any
	invoke	2
	line	80
	colm	12
	synt	any
	asgn
	unmark
	mark	L28
	pnull
	var	5
	var	18
	var	4
	line	81
	colm	21
	synt	any
	invoke	1
	line	81
	colm	12
	synt	any
	asgn
	unmark
lab L28
	var	19
	var	4
	line	82
	colm	17
	synt	any
	invoke	1
	line	80
	colm	7
	synt	endif
	unmark
lab L27
	line	85
	colm	7
	synt	if
	mark0
	pnull
	pnull
	pnull
	pnull
	var	6
	pnull
	var	5
	line	85
	colm	34
	synt	any
	nonnull
	line	85
	colm	33
	synt	any
	subsc
	line	85
	colm	11
	synt	any
	nonnull
	line	85
	colm	38
	synt	any
	field	get_offset
	line	85
	colm	49
	synt	any
	invoke	0
	pnull
	var	16
	line	85
	colm	73
	synt	any
	field	get_offset
	line	85
	colm	84
	synt	any
	invoke	0
	line	85
	colm	51
	synt	any
	numeq
	unmark
	pnull
	var	16
	pnull
	var	6
	var	5
	line	86
	colm	54
	synt	any
	subsc
	line	86
	colm	31
	synt	any
	asgn
	line	85
	colm	7
	synt	endif
	line	79
	colm	4
	synt	endif
	unmark
lab L26
	pnull
	line	88
	colm	1
	synt	any
	pfail
	end
proc util__get_system_timezone
	local	0,000000,util__init_timezone
	local	1,000000,util__system_timezone
	declend
	line	90
	colm	12
	synt	any
lab L1
	init	L3
	mark	L2
	var	0
	line	92
	colm	26
	synt	any
	invoke	0
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	mark	L5
	var	1
	line	94
	colm	4
	synt	any
	pret
lab L5
	synt	any
	pfail
	unmark
lab L4
	pnull
	line	95
	colm	2
	synt	any
	pfail
	end
proc util__get_utc_timezone
	local	0,000000,util__init_timezone
	local	1,000000,util__utc_timezone
	declend
	line	97
	colm	12
	synt	any
lab L1
	init	L3
	mark	L2
	var	0
	line	99
	colm	26
	synt	any
	invoke	0
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	mark	L5
	var	1
	line	101
	colm	4
	synt	any
	pret
lab L5
	synt	any
	pfail
	unmark
lab L4
	pnull
	line	102
	colm	2
	synt	any
	pfail
	end
proc util__get_known_timezone
	local	0,001000,id
	local	1,000020,s
	local	2,000020,sign
	local	3,000000,util__init_timezone
	local	4,000000,member
	local	5,000000,util__known_timezones
	local	6,000000,any
	local	7,000000,move
	local	8,000000,tab
	local	9,000000,many
	local	10,000000,util__Timezone
	local	11,000000,integer
	con	0,020000,2,053,055
	con	1,020000,1,055
	con	2,002000,1,1
	con	3,002000,4,3600
	con	4,002000,1,3
	con	5,002000,2,60
	con	6,002000,1,5
	declend
	line	107
	colm	12
	synt	any
lab L1
	init	L3
	mark	L2
	var	3
	line	110
	colm	26
	synt	any
	invoke	0
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	line	112
	colm	4
	synt	if
	mark0
	var	4
	var	5
	var	0
	line	112
	colm	15
	synt	any
	invoke	2
	unmark
	mark	L5
	pnull
	var	5
	var	0
	line	113
	colm	35
	synt	any
	subsc
	line	113
	colm	7
	synt	any
	pret
lab L5
	synt	any
	pfail
	line	112
	colm	4
	synt	endif
	unmark
lab L4
	mark	L6
	var	0
	line	115
	colm	7
	synt	any
	bscan
	line	116
	colm	7
	synt	if
	mark0
	var	6
	cset	0
	line	116
	colm	15
	synt	any
	invoke	1
	unmark
	mark	L7
	line	117
	colm	10
	synt	ifelse
	mark	L8
	var	6
	cset	1
	line	117
	colm	18
	synt	any
	invoke	1
	unmark
	pnull
	var	2
	pnull
	int	2
	line	118
	colm	21
	synt	any
	neg
	line	118
	colm	18
	synt	any
	asgn
	goto	L9
lab L8
	pnull
	var	2
	int	2
	line	120
	colm	18
	synt	any
	asgn
lab L9
	line	117
	colm	10
	synt	endifelse
	unmark
lab L7
	mark	L10
	var	7
	int	2
	line	121
	colm	16
	synt	any
	invoke	1
	unmark
lab L10
	mark	L11
	pnull
	var	1
	mark	L12
	var	8
	var	9
	line	122
	colm	28
	synt	any
	keywd	digits
	line	122
	colm	27
	synt	any
	invoke	1
	line	122
	colm	20
	synt	any
	invoke	1
	line	122
	colm	38
	synt	any
	esusp
	goto	L13
lab L12
	line	122
	colm	40
	synt	any
	pfail
lab L13
	line	122
	colm	12
	synt	any
	asgn
	unmark
lab L11
	mark	L14
	mark	L15
	var	10
	pnull
	pnull
	pnull
	var	2
	int	3
	line	123
	colm	36
	synt	any
	mult
	var	11
	pnull
	var	1
	int	2
	int	4
	line	123
	colm	53
	synt	any
	synt	any
	sect
	line	123
	colm	49
	synt	any
	invoke	1
	line	123
	colm	41
	synt	any
	mult
	pnull
	int	5
	var	11
	pnull
	var	1
	int	4
	int	6
	line	123
	colm	78
	synt	any
	synt	any
	sect
	line	123
	colm	74
	synt	any
	invoke	1
	line	123
	colm	63
	synt	any
	mult
	line	123
	colm	58
	synt	any
	plus
	var	0
	line	123
	colm	31
	synt	any
	invoke	2
	line	124
	colm	30
	synt	any
	esusp
	goto	L16
lab L15
	line	124
	colm	32
	synt	any
	pfail
lab L16
	line	123
	colm	10
	synt	any
	pret
lab L14
	synt	any
	pfail
	line	116
	colm	7
	synt	endif
	line	115
	colm	7
	synt	any
	escan
	unmark
lab L6
	pnull
	line	127
	colm	1
	synt	any
	pfail
	end
