
mspr_x		equ	m_xc
mspr_y		equ	m_yc
rsqr	equr	3
rt	equr	4
rsqrt	equr	6
rx		equr	1
ry		equr	2
rxp		equr	rsqrt
ryp		equr	7
rradius	equr	8 	
rxc		equr	9	
ryc		equr	10	
ry2		equr	3



mdrawsphere_l
	mcall	mdrawsphere_mc
	nop
	lm	r8,[m_rtl+2]	; << return long bank	 >>
	lm	r0,[m_rtl+0]	; << return long address >>
	ljmp	r8
	nop

mdrawsphere
mdrawtsphere
	mcall	mdrawsphere_mc
	nop
	stop
	nop

mdrawsphere_mc

	sms	[m_sprb],r11

	IFEQ	1

	sub	r0
	ramb
	romb
	cmode
	miwt	rsp,m_stack
	lms	r1,[m_bigx]
	lms	r2,[m_bigy]
	lms	r3,[m_bigz]
	lms	r4,[m_lxpos]
	lms	r5,[m_lypos]
	lms	r6,[m_lzpos]
	mcall	mvector_from
	nop
	from	r1
	hib
	sex
	sms	[m_rotlightx],r0
	from	r2
	hib
	sex
	sms	[m_rotlighty],r0
	from	r3
	hib
	sex
	sms	[m_rotlightz],r0
	ifne	1
	ibt	r0,#id_0_c>>16
	romb
	lms	r0,[msprite]
	umult	#3
	miwt	r1,textureaddrtab
	to	r14
	add	r1
	mgetw	r0
	endc
	sms	[m_sprdata],r0
	lms	r0,[m_rotx]
	lms	r0,[m_roty]
	lms	r0,[m_rotz]
	miwt	r9,m_mat11
	mcall	mcrotmatzxy16
	nop
	ifeq	0
	lms	r1,[m_mat11]
	lms	r2,[m_mat12]
	lms	r3,[m_mat13]
	mcall	mnormalise16
	nop
	sms	[m_mat11],r1
	sms	[m_mat12],r2
	sms	[m_mat13],r3
	lms	r1,[m_mat21]
	lms	r2,[m_mat22]
	lms	r3,[m_mat23]
	mcall	mnormalise16
	nop
	sms	[m_mat21],r1
	sms	[m_mat22],r2
	sms	[m_mat23],r3
	lms	r1,[m_mat31]
	lms	r2,[m_mat32]
	lms	r3,[m_mat33]
	mcall	mnormalise16
	nop
	sms	[m_mat31],r1
	sms	[m_mat32],r2
	sms	[m_mat33],r3
	nop
	endc
	lms	rradius,[m_radius]
	from	rradius
	umult	rradius
	sms	[m_radius2],r0
	sub	r0
	romb
	miwt	r0,reciptab16s	
	add	rradius
	to	r14
	add	rradius
	mgetw	r0	
	sm	[m_rr],r0    	
	move	r6,r0
	miwt	r1,m_mat11	
	miwt	r2,m_smat11
	ibt	r12,#9
	move	r13,pc
	mldwi	r1		
	fmult			
	rol
	mtest	r0		
	bpl	.pl
	nop
	inc	r0
.pl
	mstwi	r2		
	loop
	nop
	lms	r0,[m_scale]
	fmult
	to	r6
	rol
	lms	r0,[m_rotlightx]	
	swap
	fmult
	rol
	sm	[m_lx],r0
	lms	r0,[m_rotlighty]
	swap
	fmult
	rol
	sm	[m_ly],r0
	lms	r0,[m_rotlightz]
	swap
	fmult
	rol
	sm	[m_lz],r0	
	lm	r0,[m_spx]	
	add	r0
	sbk
	lm	r0,[m_sex]
	add	r0
	sbk
	lm	r0,[m_spex]
	add	r0
	sbk
	lm	r0,[m_lx]
	add	r0
	sbk
	sub	r0
	sms	[m_yspy],r0
	sms	[m_ysey],r0
	sms	[m_yspey],r0
	sms	[m_yly],r0
	ibt	ryp,#0
.1
	sm	[m_yp],ryp
	from	ryp
	to	ry2
	umult	ryp
	from	rradius
	umult	rradius
	to	rsqr
	sub	ry2
	mcall	msph_sqrt16
	nop
	sms	[m_xlen],r6
	mcall	mgenzlist
	nop
	lm	ryp,[m_yp]
	lm	r0,[m_yc]
	to	ry
	sub	ryp
	lms	r0,[m_ytop]
	from	ry
	sub	r0
	blt	.skipytop
	nop
	ibt	r4,#-1
	mcall	mtsphereline
	nop
.skipytop
	lm	ryp,[m_yp]
	lm	r0,[m_yc]
	to	ry
	add	ryp
	lms	r0,[m_ybot]
	inc	r0
	from	ry
	sub	r0
	bge	.skipybot
	nop
	ibt	r4,#1
	mcall	mtsphereline
	nop
.skipybot
	lm	r4,[m_spy]
	lms	r0,[m_yspy]
	add	r4
	sbk
	lm	r4,[m_sey]
	lms	r0,[m_ysey]
	add	r4
	sbk
	lm	r4,[m_spey]
	lms	r0,[m_yspey]
	add	r4
	sbk
	lm	r4,[m_ly]
	lms	r0,[m_yly]
	add	r4
	sbk
	lm	ryp,[m_yp]
	lms	rradius,[m_radius]
	inc	ryp
	from	ryp
	sub	rradius
	mlbne	.1
	nop
msphere_exit
	ibt	r1,#0
	ibt	r2,#0
	mrpix
	nop

	lms	r15,[m_sprb]
	nop

rsqr	equr	3
rsqrt	equr	6
rt	equr	4
msph_sqrt16
	ibt	rsqrt,#0
	ibt	rt,#0
	ibt	r12,#8
	miwt	r13,.2
	with	rsqr
.2
	add	rsqr		
	with	rt		
	rol
	with	rsqr		
	add	rsqr
	with	rt  		
	rol
	with	rsqrt		
	add	rsqrt
	from	rsqrt		
	add	rsqrt
	cmp	rt		
	bcs	.1		
	with	rt
	sbc	r0
	inc	rsqrt
.1
	loop
	with	rsqr
	jmp	r11
	nop
rx	equr	1
rr2y2	equr	2
rt	equr	4
rsqrt	equr	6
rspz	equr	7
rsez	equr	8
rspez	equr	9
rzlist	equr	10
rxlen	equr	5
rnz	equr	6
rlz	equr	3
mgenzlist
	lms	r0,[m_xlen]
	move	rnz,r0
	inc	r0
	to	rxlen
	lsr	
	inc	rxlen
	sms	[m_xlen2],rxlen
	lm	r0,[m_yp]
	to	r4
	umult	r0
	lms	r0,[m_radius]
	umult	r0
	to	rr2y2
	sub	r4
	ibt	rx,#0
	miwt	rzlist,m_zlist	
	lm	rspz,[m_spz]
	lm	rsez,[m_sez]
	lm	rspez,[m_spez]
	lm	rlz,[m_lz]
mdrawtspherestart
.1
	ifeq	1
	from	rx
	umult	rx
	from	rr2y2
	to	rsqr
	sub	r0
	ibt	rsqrt,#0
	ibt	rt,#0
	ibt	r12,#8
	miwt	r13,.s2
	with	rsqr
.s2
	add	rsqr		
	with	rt		
	rol
	with	rsqr		
	add	rsqr
	with	rt  		
	rol
	with	rsqrt		
	add	rsqrt
	from	rsqrt		
	add	rsqrt
	cmp	rt		
	bcs	.s1		
	with	rt
	sbc	r0
	inc	rsqrt
.s1
	loop
	with	rsqr
	nop
	endc


	from	rspz		
	lmult
	from	r4
	mstwi	rzlist
	from	rsez		
	lmult
	from	r4
	mstwi	rzlist
	from	rspez		
	lmult
	from	r4
	mstwi	rzlist
	from	rlz		
	lmult
	from	r4
	mstwi	rzlist
	inc	rx		
	inc	rx
	from	rx		
	add	rx
	add	r0
	add	#4
	with	rr2y2
	sub	r0
	mcache
.s2
	from	rnz		
	umult	rnz
	from	rr2y2
	sub	r0
	bmi	.s2
	dec	rnz
.s1
	dec	rxlen
	bne	.1
	inc	rnz
	jmp	r11
	nop
rcmin		equr	9	
rcmax		equr	10	
mtsphereline
	sms	[m_y1],ry
	ifeq	0
	lms	r0,[m_xlen]
	ibt	r6,#111
	sub	r6
	bmi	.1ok
	nop
	sms	[m_xlen],r6
.1ok		
	endc

rxspx	equr	1
rxsex	equr	2
rxspex	equr	3
rspx	equr	5
rsex	equr	7
rspex	equr	8
rzlist	equr	11
ruvlist	equr	10
rxlen	equr	12
rxlx	equr	9
rlx	equr	13
mgenuvlist
	lms	rxspx,[m_yspy]
	lms	rxsex,[m_ysey]
	lms	rxspex,[m_yspey]
	lms	rxlx,[m_yly]
	mtest	r4
	bpl	.1n
	nop
	mneg	rxspx
	mneg	rxsex
	mneg	rxspex
	mneg	rxlx
.1n	
mgenuvlist1
	ibt	r0,#m_uvtab>>16
	romb
	sms	[m_xspx],rxspx
	sms	[m_xsex],rxsex
	sms	[m_xspex],rxspex
	sms	[m_xlx],rxlx
	lm	rspx,[m_spx]
	lm	rsex,[m_sex]
	lm	rspex,[m_spex]
	lm	rlx,[m_lx]
	sms	[m_r11tmp1],r11
	miwt	ruvlist,m_uvlist
	mcall	mgenuvlistx
	nop
	miwt	ruvlist,m_uvlist2
	lms	rxspx,[m_xspx]
	lms	rxsex,[m_xsex]
	lms	rxspex,[m_xspex]
	lms	rxlx,[m_xlx]
	mneg	rspx
	mneg	rsex
	mneg	rspex
	mneg	rlx
	mcall	mgenuvlistx
	nop
	sub	r0
	romb 
	mlbra	mdrawuvlist
mgenuvlistx
	lms	rxlen,[m_xlen2]
	sms	[m_r11tmp2],r11
	miwt	rzlist,m_zlist
.1
	mldwi	rzlist	
	to	r4
	add	rxspx		
	from	r4
	asr
	miwt	r6,16384	
	add	r6
	stw	[ruvlist]	
	inc	ruvlist
	moves	r0,r4
	bpl	.1p		
	inc	ruvlist
	not
	inc	r0
.1p	
	lsr
	lsr
	lsr
	lsr
	add	r0		
	miwt	r6,m_uvtab	
	to	r14
	add	r6		
	to	r6
	ldw	[rzlist]	
	getb			
	inc	r14
	inc	rzlist
	inc	rzlist
	with	r6
	add	rxsex		
	getbh
	lmult
	lob
	swap
	with	r4
	hib
	or	r4		
	asr
	miwt	r6,16384
	to	r6		
	add	r6
	ldw	[rzlist]	
	inc	rzlist
	add	rxspex		
	bpl	.2		
	inc	rzlist
	mneg	r6		
.2
	from	r6
	mstwi	ruvlist	
	with	rxspx		
	add	rspx
	with	rxsex		
	add	rsex
	with	rxspex		
	add	rspex
	ldw	[rzlist]	
	inc	rzlist
	add	rxlx
	mstwi	ruvlist	
	with	rxlx		
	add	rlx
	dec	rxlen
	bne	.1
	inc	rzlist
	lms	pc,[m_r11tmp2]
	nop
rx	equr	1	
ry	equr	2	
rnewu	equr	3	
rnewv	equr	4	
rmask	equr	5	
rl	equr	6	
rv	equr	7	
ru	equr	8	
rtexptr	equr	9	
ruvlist	equr	10	
rnewl		equr	11	
rxlen		equr	12	
rrnd		equr	13	
rt	equr	5      	
mrand1	macro
	from	rrnd
	add	rrnd
	bcc	.\@
	nop
	miwt	rrnd,$a63d
	xor	rrnd
.\@
	move	rrnd,r0
	lob
	add	r0
	add	r0
	add	r0
	endm
mdrawuvlist
	sub	r0
	miwt	ruvlist,m_uvlist
	mcall	mdrawuvlistx
	nop
	miwt	r0,$8000
	miwt	ruvlist,m_uvlist2
	mcall	mdrawuvlistx
	nop
	sub	r0		
	romb
	ibt	r1,#0
	lms	pc,[m_r11tmp1]
	nop
mdrawuvlistx
	sms	[m_r11tmp2],r11
	lm	rx,[m_xc]
	lms	ry,[m_y1]
	with	rx
	add	r0
	ibt	r0,#mworldspr>>16
	romb
	lms	rtexptr,[m_sprdata]
	lms	rxlen,[m_xlen]
	from	ry
	add	ry
	add	r0
	mult	#13
	add	ry
	swap	
	to	rrnd
	add	rx
	to	rv	       	
	mldwi	ruvlist	
	to	ru		
	mldwi	ruvlist	
	to	rl	       	
	mldwi	ruvlist	
.loop
	to	rnewv	       	
	mldwi	ruvlist	
	to	rnewu		
	mldwi	ruvlist	
	to	rnewl	       	
	ldw	[ruvlist]	
	from	ru		
	sub	rnewu		
	asr			
	with	rnewu		
	add	r0		
	with	rv		
	add	rnewv		
	with	rv		
	ror			
	from	rl		
	sub	rnewl		
	asr			
	with	rnewl		
	add	r0		
	merge			
	lsr
	lsr
	miwt	rt,$1f3f
	and	rt		
	to	r14		
	add	rtexptr		
	move	ru,rnewu	
	move	rv,rnewv	
	mrand1
	add	rl
	hib
	bpl	.p1
	nop
	sub	r0
.p1
	bic	#7
	miwt	rt,$0078
	xor	rt
	to	rt
	add	r0
; hack to prevent palette 15 being used
	iwt	r0,#$f<<4
	cmp	rt
	bne	.daijobu (no problem)
	nop

	iwt	rt,#$e<<4

.daijobu
	getb			
	lsr
	lsr
	lsr
	lsr
	or	rt
	colour
	dec	r12		
	beq	.4		
	plot			
	mtest	r1
	bpl	.xp
	nop
	dec	r1
	dec	r1
.xp
	inc	ruvlist		
	inc	ruvlist		
	merge			
	lsr
	lsr
	miwt	rt,$1f3f
	and	rt		
	to	r14		
	add	rtexptr		
	move	rl,rnewl	
	mrand1
	add	rnewl
	hib
	bpl	.p2
	nop
	sub	r0
.p2
	bic	#7
	miwt	rt,$0078
	xor	rt
	to	rt
	add	r0
; hack to prevent palette 15 being used
	iwt	r0,#$f<<4
	cmp	rt
	bne	.daijobu2 (no problem again)
	nop

	iwt	rt,#$e<<4

.daijobu2
	getb			
	lsr
	lsr
	lsr
	lsr
	or	rt
	colour
	plot			
	mtest	r1
	bpl	.xp2
	nop
	dec	r1
	dec	r1
.xp2
	dec	r12
	mlbne	.loop		
	nop
.4
	lms	pc,[m_r11tmp2]
	nop
;	printroulen	mdrawtspherestart,<cache bound>
;	?*-mdrawtspherestart
m_uvtab
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	256
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	257
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	258
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	259
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	260
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	261
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	262
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	263
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	264
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	265
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	266
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	267
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	268
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	269
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	270
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	271
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	272
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	273
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	274
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	275
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	276
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	277
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	278
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	279
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	280
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	281
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	282
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	283
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	284
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	285
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	286
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	287
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	288
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	289
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	290
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	291
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	292
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	293
	DW	294
	DW	294
	DW	294
	DW	294
	DW	294
	DW	294
	DW	294
	DW	294
	DW	294
	DW	294
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	295
	DW	296
	DW	296
	DW	296
	DW	296
	DW	296
	DW	296
	DW	296
	DW	296
	DW	296
	DW	296
	DW	297
	DW	297
	DW	297
	DW	297
	DW	297
	DW	297
	DW	297
	DW	297
	DW	297
	DW	297
	DW	298
	DW	298
	DW	298
	DW	298
	DW	298
	DW	298
	DW	298
	DW	298
	DW	298
	DW	298
	DW	299
	DW	299
	DW	299
	DW	299
	DW	299
	DW	299
	DW	299
	DW	299
	DW	299
	DW	300
	DW	300
	DW	300
	DW	300
	DW	300
	DW	300
	DW	300
	DW	300
	DW	300
	DW	300
	DW	301
	DW	301
	DW	301
	DW	301
	DW	301
	DW	301
	DW	301
	DW	301
	DW	301
	DW	302
	DW	302
	DW	302
	DW	302
	DW	302
	DW	302
	DW	302
	DW	302
	DW	302
	DW	303
	DW	303
	DW	303
	DW	303
	DW	303
	DW	303
	DW	303
	DW	303
	DW	303
	DW	304
	DW	304
	DW	304
	DW	304
	DW	304
	DW	304
	DW	304
	DW	304
	DW	304
	DW	305
	DW	305
	DW	305
	DW	305
	DW	305
	DW	305
	DW	305
	DW	305
	DW	306
	DW	306
	DW	306
	DW	306
	DW	306
	DW	306
	DW	306
	DW	306
	DW	306
	DW	307
	DW	307
	DW	307
	DW	307
	DW	307
	DW	307
	DW	307
	DW	307
	DW	308
	DW	308
	DW	308
	DW	308
	DW	308
	DW	308
	DW	308
	DW	308
	DW	309
	DW	309
	DW	309
	DW	309
	DW	309
	DW	309
	DW	309
	DW	309
	DW	310
	DW	310
	DW	310
	DW	310
	DW	310
	DW	310
	DW	310
	DW	310
	DW	311
	DW	311
	DW	311
	DW	311
	DW	311
	DW	311
	DW	311
	DW	311
	DW	312
	DW	312
	DW	312
	DW	312
	DW	312
	DW	312
	DW	312
	DW	312
	DW	313
	DW	313
	DW	313
	DW	313
	DW	313
	DW	313
	DW	313
	DW	314
	DW	314
	DW	314
	DW	314
	DW	314
	DW	314
	DW	314
	DW	314
	DW	315
	DW	315
	DW	315
	DW	315
	DW	315
	DW	315
	DW	315
	DW	316
	DW	316
	DW	316
	DW	316
	DW	316
	DW	316
	DW	316
	DW	317
	DW	317
	DW	317
	DW	317
	DW	317
	DW	317
	DW	317
	DW	318
	DW	318
	DW	318
	DW	318
	DW	318
	DW	318
	DW	318
	DW	319
	DW	319
	DW	319
	DW	319
	DW	319
	DW	319
	DW	319
	DW	320
	DW	320
	DW	320
	DW	320
	DW	320
	DW	320
	DW	320
	DW	321
	DW	321
	DW	321
	DW	321
	DW	321
	DW	321
	DW	321
	DW	322
	DW	322
	DW	322
	DW	322
	DW	322
	DW	322
	DW	323
	DW	323
	DW	323
	DW	323
	DW	323
	DW	323
	DW	323
	DW	324
	DW	324
	DW	324
	DW	324
	DW	324
	DW	324
	DW	325
	DW	325
	DW	325
	DW	325
	DW	325
	DW	325
	DW	325
	DW	326
	DW	326
	DW	326
	DW	326
	DW	326
	DW	326
	DW	327
	DW	327
	DW	327
	DW	327
	DW	327
	DW	327
	DW	328
	DW	328
	DW	328
	DW	328
	DW	328
	DW	328
	DW	329
	DW	329
	DW	329
	DW	329
	DW	329
	DW	329
	DW	330
	DW	330
	DW	330
	DW	330
	DW	330
	DW	330
	DW	331
	DW	331
	DW	331
	DW	331
	DW	331
	DW	331
	DW	332
	DW	332
	DW	332
	DW	332
	DW	332
	DW	333
	DW	333
	DW	333
	DW	333
	DW	333
	DW	333
	DW	334
	DW	334
	DW	334
	DW	334
	DW	334
	DW	335
	DW	335
	DW	335
	DW	335
	DW	335
	DW	335
	DW	336
	DW	336
	DW	336
	DW	336
	DW	336
	DW	337
	DW	337
	DW	337
	DW	337
	DW	337
	DW	337
	DW	338
	DW	338
	DW	338
	DW	338
	DW	338
	DW	339
	DW	339
	DW	339
	DW	339
	DW	339
	DW	340
	DW	340
	DW	340
	DW	340
	DW	340
	DW	341
	DW	341
	DW	341
	DW	341
	DW	341
	DW	341
	DW	342
	DW	342
	DW	342
	DW	342
	DW	342
	DW	343
	DW	343
	DW	343
	DW	343
	DW	343
	DW	344
	DW	344
	DW	344
	DW	344
	DW	345
	DW	345
	DW	345
	DW	345
	DW	345
	DW	346
	DW	346
	DW	346
	DW	346
	DW	346
	DW	347
	DW	347
	DW	347
	DW	347
	DW	347
	DW	348
	DW	348
	DW	348
	DW	348
	DW	349
	DW	349
	DW	349
	DW	349
	DW	349
	DW	350
	DW	350
	DW	350
	DW	350
	DW	350
	DW	351
	DW	351
	DW	351
	DW	351
	DW	352
	DW	352
	DW	352
	DW	352
	DW	352
	DW	353
	DW	353
	DW	353
	DW	353
	DW	354
	DW	354
	DW	354
	DW	354
	DW	355
	DW	355
	DW	355
	DW	355
	DW	355
	DW	356
	DW	356
	DW	356
	DW	356
	DW	357
	DW	357
	DW	357
	DW	357
	DW	358
	DW	358
	DW	358
	DW	358
	DW	359
	DW	359
	DW	359
	DW	359
	DW	360
	DW	360
	DW	360
	DW	360
	DW	361
	DW	361
	DW	361
	DW	361
	DW	362
	DW	362
	DW	362
	DW	362
	DW	363
	DW	363
	DW	363
	DW	363
	DW	364
	DW	364
	DW	364
	DW	364
	DW	365
	DW	365
	DW	365
	DW	365
	DW	366
	DW	366
	DW	366
	DW	366
	DW	367
	DW	367
	DW	367
	DW	367
	DW	368
	DW	368
	DW	368
	DW	369
	DW	369
	DW	369
	DW	369
	DW	370
	DW	370
	DW	370
	DW	370
	DW	371
	DW	371
	DW	371
	DW	372
	DW	372
	DW	372
	DW	372
	DW	373
	DW	373
	DW	373
	DW	373
	DW	374
	DW	374
	DW	374
	DW	375
	DW	375
	DW	375
	DW	375
	DW	376
	DW	376
	DW	376
	DW	377
	DW	377
	DW	377
	DW	378
	DW	378
	DW	378
	DW	378
	DW	379
	DW	379
	DW	379
	DW	380
	DW	380
	DW	380
	DW	381
	DW	381
	DW	381
	DW	381
	DW	382
	DW	382
	DW	382
	DW	383
	DW	383
	DW	383
	DW	384
	DW	384
	DW	384
	DW	385
	DW	385
	DW	385
	DW	386
	DW	386
	DW	386
	DW	387
	DW	387
	DW	387
	DW	388
	DW	388
	DW	388
	DW	388
	DW	389
	DW	389
	DW	389
	DW	390
	DW	390
	DW	390
	DW	391
	DW	391
	DW	392
	DW	392
	DW	392
	DW	393
	DW	393
	DW	393
	DW	394
	DW	394
	DW	394
	DW	395
	DW	395
	DW	395
	DW	396
	DW	396
	DW	396
	DW	397
	DW	397
	DW	397
	DW	398
	DW	398
	DW	399
	DW	399
	DW	399
	DW	400
	DW	400
	DW	400
	DW	401
	DW	401
	DW	401
	DW	402
	DW	402
	DW	403
	DW	403
	DW	403
	DW	404
	DW	404
	DW	405
	DW	405
	DW	405
	DW	406
	DW	406
	DW	406
	DW	407
	DW	407
	DW	408
	DW	408
	DW	408
	DW	409
	DW	409
	DW	410
	DW	410
	DW	410
	DW	411
	DW	411
	DW	412
	DW	412
	DW	412
	DW	413
	DW	413
	DW	414
	DW	414
	DW	415
	DW	415
	DW	415
	DW	416
	DW	416
	DW	417
	DW	417
	DW	418
	DW	418
	DW	418
	DW	419
	DW	419
	DW	420
	DW	420
	DW	421
	DW	421
	DW	421
	DW	422
	DW	422
	DW	423
	DW	423
	DW	424
	DW	424
	DW	425
	DW	425
	DW	426
	DW	426
	DW	426
	DW	427
	DW	427
	DW	428
	DW	428
	DW	429
	DW	429
	DW	430
	DW	430
	DW	431
	DW	431
	DW	432
	DW	432
	DW	433
	DW	433
	DW	434
	DW	434
	DW	435
	DW	435
	DW	436
	DW	436
	DW	437
	DW	437
	DW	438
	DW	438
	DW	439
	DW	439
	DW	440
	DW	440
	DW	441
	DW	441
	DW	442
	DW	442
	DW	443
	DW	443
	DW	444
	DW	444
	DW	445
	DW	445
	DW	446
	DW	447
	DW	447
	DW	448
	DW	448
	DW	449
	DW	449
	DW	450
	DW	450
	DW	451
	DW	452
	DW	452
	DW	453
	DW	453
	DW	454
	DW	454
	DW	455
	DW	456
	DW	456
	DW	457
	DW	457
	DW	458
	DW	459
	DW	459
	DW	460
	DW	460
	DW	461
	DW	462
	DW	462
	DW	463
	DW	463
	DW	464
	DW	465
	DW	465
	DW	466
	DW	467
	DW	467
	DW	468
	DW	469
	DW	469
	DW	470
	DW	470
	DW	471
	DW	472
	DW	472
	DW	473
	DW	474
	DW	474
	DW	475
	DW	476
	DW	476
	DW	477
	DW	478
	DW	479
	DW	479
	DW	480
	DW	481
	DW	481
	DW	482
	DW	483
	DW	483
	DW	484
	DW	485
	DW	486
	DW	486
	DW	487
	DW	488
	DW	489
	DW	489
	DW	490
	DW	491
	DW	492
	DW	492
	DW	493
	DW	494
	DW	495
	DW	495
	DW	496
	DW	497
	DW	498
	DW	499
	DW	499
	DW	500
	DW	501
	DW	502
	DW	503
	DW	503
	DW	504
	DW	505
	DW	506
	DW	507
	DW	508
	DW	508
	DW	509
	DW	510
	DW	511
	DW	512
	DW	513
	DW	514
	DW	514
	DW	515
	DW	516
	DW	517
	DW	518
	DW	519
	DW	520
	DW	521
	DW	522
	DW	523
	DW	524
	DW	524
	DW	525
	DW	526
	DW	527
	DW	528
	DW	529
	DW	530
	DW	531
	DW	532
	DW	533
	DW	534
	DW	535
	DW	536
	DW	537
	DW	538
	DW	539
	DW	540
	DW	541
	DW	542
	DW	543
	DW	544
	DW	546
	DW	547
	DW	548
	DW	549
	DW	550
	DW	551
	DW	552
	DW	553
	DW	554
	DW	556
	DW	557
	DW	558
	DW	559
	DW	560
	DW	561
	DW	562
	DW	564
	DW	565
	DW	566
	DW	567
	DW	568
	DW	570
	DW	571
	DW	572
	DW	573
	DW	575
	DW	576
	DW	577
	DW	579
	DW	580
	DW	581
	DW	583
	DW	584
	DW	585
	DW	587
	DW	588
	DW	589
	DW	591
	DW	592
	DW	593
	DW	595
	DW	596
	DW	598
	DW	599
	DW	601
	DW	602
	DW	604
	DW	605
	DW	607
	DW	608
	DW	610
	DW	611
	DW	613
	DW	614
	DW	616
	DW	617
	DW	619
	DW	621
	DW	622
	DW	624
	DW	626
	DW	627
	DW	629
	DW	631
	DW	632
	DW	634
	DW	636
	DW	638
	DW	639
	DW	641
	DW	643
	DW	645
	DW	647
	DW	649
	DW	650
	DW	652
	DW	654
	DW	656
	DW	658
	DW	660
	DW	662
	DW	664
	DW	666
	DW	668
	DW	670
	DW	672
	DW	675
	DW	677
	DW	679
	DW	681
	DW	683
	DW	685
	DW	688
	DW	690
	DW	692
	DW	694
	DW	697
	DW	699
	DW	702
	DW	704
	DW	706
	DW	709
	DW	711
	DW	714
	DW	716
	DW	719
	DW	722
	DW	724
	DW	727
	DW	730
	DW	732
	DW	735
	DW	738
	DW	741
	DW	744
	DW	747
	DW	749
	DW	752
	DW	755
	DW	759
	DW	762
	DW	765
	DW	768
	DW	771
	DW	774
	DW	778
	DW	781
	DW	784
	DW	788
	DW	791
	DW	795
	DW	798
	DW	802
	DW	806
	DW	809
	DW	813
	DW	817
	DW	821
	DW	825
	DW	829
	DW	833
	DW	837
	DW	841
	DW	846
	DW	850
	DW	854
	DW	859
	DW	863
	DW	868
	DW	873
	DW	877
	DW	882
	DW	887
	DW	892
	DW	897
	DW	903
	DW	908
	DW	913
	DW	919
	DW	924
	DW	930
	DW	936
	DW	942
	DW	948
	DW	954
	DW	961
	DW	967
	DW	974
	DW	980
	DW	987
	DW	994
	DW	1001
	DW	1009
	DW	1016
	DW	1024
	DW	1032
	DW	1040
	DW	1048
	DW	1056
	DW	1065
	DW	1074
	DW	1083
	DW	1092
	DW	1102
	DW	1112
	DW	1122
	DW	1132
	DW	1143
	DW	1154
	DW	1165
	DW	1177
	DW	1189
	DW	1201
	DW	1214
	DW	1227
	DW	1241
	DW	1255
	DW	1270
	DW	1285
	DW	1301
	DW	1318
	DW	1335
	DW	1352
	DW	1371
	DW	1390
	DW	1410
	DW	1431
	DW	1453
	DW	1476
	DW	1501
	DW	1526
	DW	1553
	DW	1581
	DW	1611
	DW	1643
	DW	1677
	DW	1712
	DW	1751
	DW	1792
	DW	1836
	DW	1883
	DW	1935
	DW	1990
	DW	2052
	DW	2119
	DW	2193
	DW	2275
	DW	2368
	DW	2473
	DW	2593
	DW	2733
	DW	2899
	DW	3098
	DW	3346
	DW	3665
	DW	4098
	DW	4731
	DW	5794
	DW	8193


	ENDC


