Rect::with:
		link	$1
		pushi	$8d		; 141, new
		push0
		self	$4
		bnot
		sat	temp[$0]
		pushi	$b5		; 181, set
		push0
		&rest	$1
		send	$4
		bnot
		lat	temp[$0]
		ret

Rect::set:
		lap	param[$1]
		aTop	left
		lap	param[$2]
		aTop	top
		lap	param[$3]
		aTop	right
		lap	param[$4]
		aTop	bottom
		selfID
		ret

Rect::init:
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		push0
		push0
		push0
		self	$c
		bnot
		selfID
		ret

Rect::copy:
		link	$1
		pTos	-info-
		ldi	$8000		; -32768
		and
		bnt	code_0105
		pushi	$8d		; 141, new
		push0
		self	$4
		bnot
		sat	temp[$0]
		jmp	code_0108

code_0105:	selfID
		sat	temp[$0]
code_0108:	pushi	$b5		; 181, set
		pushi	$4		; scaleX
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$88		; 136, right
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$8a		; 138, bottom
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		lat	temp[$0]
		send	$c
		bnot
		ret

Rect::moveTo:
		pTos	bottom
		lsp	param[$2]
		pToa	top
		sub
		add
		aTop	bottom
		pTos	right
		lsp	param[$1]
		pToa	left
		sub
		add
		aTop	right
		lap	param[$2]
		aTop	top
		lap	param[$1]
		aTop	left
		selfID
		ret

Rect::posn:
		pushi	$db		; 219, moveTo
		push2
		lsp	param[$1]
		lsp	param[$2]
		self	$8
		bnot
		ret

Rect::moveBy:
		pushi	$db		; 219, moveTo
		push2
		pTos	left
		lap	param[$1]
		add
		push
		pTos	top
		lap	param[$2]
		add
		push
		self	$8
		bnot
		ret

Rect::center:
		pushi	$de		; 222, centerIn
		push1
		lsp	param[$1]
		self	$6
		bnot
		ret

Rect::centerIn:
		pushi	$db		; 219, moveTo
		push2
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$4e		; 78, 'N', width
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$4e		; 78, 'N', width
		push0
		self	$4
		bnot
		sub
		push
		ldi	$2
		div
		add
		push
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$e1		; 225, height
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pushi	$e1		; 225, height
		push0
		self	$4
		bnot
		sub
		push
		ldi	$2
		div
		add
		push
		self	$8
		bnot
		ret

Rect::centerOn:
		pushi	$db		; 219, moveTo
		push2
		lsp	param[$1]
		pushi	$4e		; 78, 'N', width
		push0
		self	$4
		bnot
		push
		ldi	$2
		div
		sub
		push
		lsp	param[$2]
		pushi	$e1		; 225, height
		push0
		self	$4
		bnot
		push
		ldi	$2
		div
		sub
		push
		self	$8
		bnot
		ret

Rect::width:
		lap	param[$0]
		bnt	code_0202
		pTos	left
		lap	param[$1]
		add
		push
		ldi	$1
		sub
		aTop	right
code_0202:	pTos	right
		pToa	left
		sub
		push
		ldi	$1
		add
		ret

Rect::widen:
		pTos	right
		lap	param[$1]
		add
		aTop	right
		pushi	$4e		; 78, 'N', width
		push0
		self	$4
		bnot
		ret

Rect::height:
		lap	param[$0]
		bnt	code_0229
		pTos	top
		lap	param[$1]
		add
		push
		ldi	$1
		sub
		aTop	bottom
code_0229:	pTos	bottom
		pToa	top
		sub
		push
		ldi	$1
		add
		ret

Rect::heighten:
		pTos	bottom
		lap	param[$1]
		add
		aTop	bottom
		pushi	$e1		; 225, height
		push0
		self	$4
		bnot
		ret

Rect::expand:
		pTos	top
		lap	param[$2]
		sub
		aTop	top
		pTos	bottom
		lap	param[$2]
		add
		aTop	bottom
		pTos	left
		lap	param[$1]
		sub
		aTop	left
		pTos	right
		lap	param[$1]
		add
		aTop	right
		selfID
		ret

Rect::contract:
		pushi	$e3		; 227, expand
		push2
		lap	param[$1]
		neg
		push
		lap	param[$2]
		neg
		push
		self	$8
		bnot
		ret

Rect::contains:
		lsp	param[$0]
		ldi	$2
		eq?
		bnt	code_0293
		pTos	top
		lap	param[$2]
		le?
		bnt	code_02fa
		pprev
		pToa	bottom
		le?
		bnt	code_02fa
		pTos	left
		lap	param[$1]
		le?
		bnt	code_02fa
		pprev
		pToa	right
		le?
		jmp	code_02fa

code_0293:	pushi	$99		; 153, respondsTo
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		bnt	code_02c4
		pushi	$99		; 153, respondsTo
		push1
		push2
		lap	param[$1]
		send	$6
		bnot
		bnt	code_02c4
		pushi	$a3		; 163, contains
		push2
		push1
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		push2
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		self	$8
		bnot
		jmp	code_02fa

code_02c4:	pTos	top
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		le?
		bnt	code_02fa
		pTos	bottom
		pushi	$8a		; 138, bottom
		push0
		lap	param[$1]
		send	$4
		bnot
		ge?
		bnt	code_02fa
		pTos	left
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		le?
		bnt	code_02fa
		pTos	right
		pushi	$88		; 136, right
		push0
		lap	param[$1]
		send	$4
		bnot
		ge?
code_02fa:	ret

Rect::intersects:
		pushi	$88		; 136, right
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pToa	left
		lt?
		bt	code_0335
		pushi	$8a		; 138, bottom
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pToa	top
		lt?
		bt	code_0335
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pToa	right
		gt?
		bt	code_0335
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		pToa	bottom
		gt?
code_0335:	not
		ret

Rect::intersection:
		pushi	$e8		; 232, intersects
		push1
		lsp	param[$1]
		self	$6
		bnot
		bnt	code_039c
		push2
		pTos	top
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_3, $4
		bnot
		aTop	top
		push2
		pTos	left
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_3, $4
		bnot
		aTop	left
		push2
		pTos	bottom
		pushi	$8a		; 138, bottom
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_2, $4
		bnot
		aTop	bottom
		push2
		pTos	right
		pushi	$88		; 136, right
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_2, $4
		bnot
		aTop	right
		jmp	code_03a3

code_039c:	pushi	$94		; 148, init
		push0
		self	$4
		bnot
code_03a3:	selfID
		ret

Rect::union:
		push2
		pTos	top
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_2, $4
		bnot
		aTop	top
		push2
		pTos	left
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_2, $4
		bnot
		aTop	left
		push2
		pTos	bottom
		pushi	$8a		; 138, bottom
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_3, $4
		bnot
		aTop	bottom
		push2
		pTos	right
		pushi	$88		; 136, right
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		calle	export60025_3, $4
		bnot
		aTop	right
		selfID
		ret

Rect::isEmpty:
		pTos	top
		pToa	bottom
		eq?
		bnt	code_040b
		pTos	left
		pToa	right
		eq?
code_040b:	ret

Rect::sizeToStr:
		link	$4
		pToa	top
		sat	temp[$0]
		pToa	left
		sat	temp[$1]
		push2
		pushi	$9		; inLeft
		lsp	param[$1]
		callk	kernel_91, $4
		bnot
		sat	temp[$3]
		push2
		push1
		push
		callk	kernel_92, $4
		bnot
		bnt	code_049a
		pushi	$8d		; 141, new
		push1
		pushi	$4		; scaleX
		class	IntArray
		send	$6
		bnot
		sat	temp[$2]
		pushi	$3		; z
		push0
		pushi	$71		; 113, 'q', data
		push0
		send	$4
		bnot
		push
		push2
		pushi	$9		; inLeft
		lsp	param[$1]
		callk	kernel_91, $4
		bnot
		push
		&rest	$2
		callk	kernel_70, $6
		bnot
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		pushi	$4b		; 75, 'K', at
		push1
		push0
		lat	temp[$2]
		send	$6
		bnot
		push
		pushi	$4b		; 75, 'K', at
		push1
		push1
		lat	temp[$2]
		send	$6
		bnot
		push
		pushi	$4b		; 75, 'K', at
		push1
		push2
		lat	temp[$2]
		send	$6
		bnot
		push
		pushi	$4b		; 75, 'K', at
		push1
		pushi	$3		; z
		lat	temp[$2]
		send	$6
		bnot
		push
		self	$c
		bnot
		pushi	$95		; 149, dispose
		push0
		lat	temp[$2]
		send	$4
		bnot
		pushi	$db		; 219, moveTo
		push2
		lst	temp[$1]
		lst	temp[$0]
		self	$8
		bnot
		jmp	code_04af

code_049a:	pushi	$b5		; 181, set
		pushi	$4		; scaleX
		push0
		push0
		push1
		push1
		pushi	$db		; 219, moveTo
		push2
		lst	temp[$1]
		lst	temp[$0]
		self	$14
		bnot
code_04af:	selfID
		ret

Rect::sizeToCel:
		pTos	top
		push0
		&rest	$1
		callk	kernel_29, $0
		bnot
		add
		aTop	bottom
		pTos	left
		push0
		&rest	$1
		callk	kernel_28, $0
		bnot
		add
		aTop	right
		selfID
		ret

Rect::celRect:
		link	$1
		pushSelf
		class	Rect
		eq?
		bnt	code_04dc
		pushi	$8d		; 141, new
		push0
		self	$4
		bnot
		jmp	code_04dd

code_04dc:	selfID
code_04dd:	sat	temp[$0]
		push1
		push
		&rest	$1
		callk	kernel_26, $2
		bnot
		lat	temp[$0]
		ret

Rect::howFar:
		link	$4
		pushi	$ea		; 234, midPoint
		push1
		push1
		self	$6
		bnot
		sat	temp[$2]
		pushi	$ea		; 234, midPoint
		push1
		push2
		self	$6
		bnot
		sat	temp[$3]
		lap	param[$0]
		not
		bnt	code_0509
		ldi	$0
		jmp	code_0532

code_0509:	lsp	param[$0]
		ldi	$1
		eq?
		bnt	code_052a
		pushi	$ea		; 234, midPoint
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		sat	temp[$0]
		pushi	$ea		; 234, midPoint
		push1
		push2
		lap	param[$1]
		send	$6
		bnot
		sat	temp[$1]
		jmp	code_0532

code_052a:	lap	param[$1]
		sat	temp[$0]
		lap	param[$2]
		sat	temp[$1]
code_0532:	pushi	$4		; scaleX
		lst	temp[$2]
		lst	temp[$3]
		lst	temp[$0]
		lst	temp[$1]
		callk	kernel_64, $8
		bnot
		ret

Rect::midPoint:
		lsp	param[$1]
		dup
		ldi	$1
		eq?
		bnt	code_0554
		pTos	left
		pToa	right
		add
		push
		ldi	$2
		div
		jmp	code_058a

code_0554:	dup
		ldi	$4e		; 78, 'N', width
		eq?
		bnt	code_0565
		pTos	right
		pToa	left
		sub
		push
		ldi	$2
		div
		jmp	code_058a

code_0565:	dup
		ldi	$2
		eq?
		bnt	code_0576
		pTos	top
		pToa	bottom
		add
		push
		ldi	$2
		div
		jmp	code_058a

code_0576:	dup
		ldi	$e1		; 225, height
		eq?
		bnt	code_0588
		pTos	bottom
		pToa	top
		sub
		push
		ldi	$2
		div
		jmp	code_058a

code_0588:	ldi	$0
code_058a:	toss
		ret

Rect::handleEvent:
		pushi	$2b		; 43, '+', type
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$1
		eq?
		bnt	code_05c0
		pushi	$eb		; 235, onMe
		push1
		lsp	param[$1]
		self	$6
		bnot
		bnt	code_05c0
		pushi	$48		; 72, 'H', modifiers
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$3		; z
		and
		bnt	code_05c0
		pToa	canDrag
		bnt	code_05c0
		pushi	$ee		; 238, drag
		push1
		lsp	param[$1]
		self	$6
		bnot
code_05c0:	ldi	$0
		ret

Rect::onMe:
		link	$2
		lsp	param[$0]
		ldi	$1
		eq?
		bnt	code_05e0
		push1
		push0
		lap	param[$1]
		send	$4
		bnot
		sat	temp[$0]
		push2
		push0
		lap	param[$1]
		send	$4
		bnot
		sat	temp[$1]
		jmp	code_05e8

code_05e0:	lap	param[$1]
		sat	temp[$0]
		lap	param[$2]
		sat	temp[$1]
code_05e8:	pTos	left
		lat	temp[$0]
		le?
		bnt	code_0600
		pprev
		pToa	right
		le?
		bnt	code_0600
		pTos	top
		lat	temp[$1]
		le?
		bnt	code_0600
		pprev
		pToa	bottom
		le?
code_0600:	ret

Rect::track:
		link	$2
		pToa	canTrack
		not
		bnt	code_060b
		ldi	$0
		ret

code_060b:	pushi	$99		; 153, respondsTo
		push1
		push0
		self	$6
		bnot
		bnt	code_062d
		push2
		pushSelf
		push0
		calle	export60025_5, $4
		bnot
		bnt	code_062d
		push2
		pushSelf
		push0
		calle	export60025_5, $4
		bnot
		jmp	code_063b

code_062d:	push0
		push0
		pushi	$f2		; 242, pCast
		push0
		lag	global[$3]
		send	$4
		bnot
		send	$4
		bnot
code_063b:	sat	temp[$1]
code_063d:	pushi	$f3		; 243, nextEvent
		push1
		pushi	$3ff		; 1023, pQuickness
		lag	global[$e]
		send	$6
		bnot
		sat	temp[$0]
		bnt	code_0678
		push2
		pushi	$2b		; 43, '+', type
		push0
		send	$4
		bnot
		ne?
		bnt	code_0678
		pushi	$b9		; 185, localize
		push1
		lst	temp[$1]
		lat	temp[$0]
		send	$6
		bnot
		pushi	$ed		; 237, trackDoit
		push1
		lst	temp[$0]
		self	$6
		bnot
		lag	global[$28]
		bnt	code_063d
		pushi	$45		; 69, 'E', doit
		push1
		push1
		send	$6
		bnot
		jmp	code_063d

code_0678:	pushi	$b9		; 185, localize
		push1
		lst	temp[$1]
		lat	temp[$0]
		send	$6
		bnot
		pushi	$a3		; 163, contains
		push1
		lst	temp[$0]
		self	$6
		bnot
		ret

Rect::trackDoit:
		lap	param[$1]
		sap	param[$1]
		ret

Rect::drag:
		link	$6
		pToa	canDrag
		not
		bnt	code_069c
		ldi	$0
		ret

code_069c:	push1
		push0
		pushi	$f4		; 244, curEvent
		push0
		lag	global[$e]
		send	$4
		bnot
		send	$4
		bnot
		sat	temp[$1]
		push2
		push0
		pushi	$f4		; 244, curEvent
		push0
		lag	global[$e]
		send	$4
		bnot
		send	$4
		bnot
		sat	temp[$2]
		pTos	left
		lat	temp[$1]
		sub
		sat	temp[$3]
		pTos	top
		lat	temp[$2]
		sub
		sat	temp[$4]
		pushi	$99		; 153, respondsTo
		push1
		push0
		self	$6
		bnot
		bnt	code_06ec
		push2
		pushSelf
		push0
		calle	export60025_5, $4
		bnot
		bnt	code_06ec
		push2
		pushSelf
		push0
		calle	export60025_5, $4
		bnot
		jmp	code_06fa

code_06ec:	push0
		push0
		pushi	$f2		; 242, pCast
		push0
		lag	global[$3]
		send	$4
		bnot
		send	$4
		bnot
code_06fa:	sat	temp[$5]
code_06fc:	pushi	$f3		; 243, nextEvent
		push1
		pushi	$3ff		; 1023, pQuickness
		lag	global[$e]
		send	$6
		bnot
		sat	temp[$0]
		bnt	code_0794
		pushi	$2b		; 43, '+', type
		push0
		send	$4
		bnot
		push
		ldi	$2
		ne?
		bnt	code_0794
		lst	temp[$1]
		push1
		push0
		lat	temp[$0]
		send	$4
		bnot
		ne?
		bt	code_0730
		lst	temp[$2]
		push2
		push0
		lat	temp[$0]
		send	$4
		bnot
		ne?
code_0730:	bnt	code_0785
		pushi	$b9		; 185, localize
		push1
		lst	temp[$5]
		lat	temp[$0]
		send	$6
		bnot
		push1
		push0
		lat	temp[$0]
		send	$4
		bnot
		sat	temp[$1]
		push2
		push0
		lat	temp[$0]
		send	$4
		bnot
		sat	temp[$2]
		push1
		push1
		push1
		push0
		lat	temp[$0]
		send	$4
		bnot
		push
		lat	temp[$3]
		add
		push
		push2
		push1
		push2
		push0
		lat	temp[$0]
		send	$4
		bnot
		push
		lat	temp[$4]
		add
		push
		lat	temp[$0]
		send	$c
		bnot
		pushi	$ef		; 239, dragDoit
		pushi	$3		; z
		lst	temp[$0]
		lst	temp[$3]
		lst	temp[$4]
		self	$a
		bnot
		push0
		callk	kernel_33, $0
		bnot
code_0785:	lag	global[$28]
		bnt	code_06fc
		pushi	$45		; 69, 'E', doit
		push1
		push1
		send	$6
		bnot
		jmp	code_06fc

code_0794:	pushi	$b9		; 185, localize
		push1
		lst	temp[$5]
		lat	temp[$0]
		send	$6
		bnot
		pushi	$50		; 80, 'P', claimed
		push0
		lat	temp[$0]
		send	$4
		bnot
		ret

Rect::dragDoit:
		lap	param[$1]
		sap	param[$1]
		ret

Rect::drawSelected:
		ldi	$0
		ret

Rect::scale:
		link	$1
		pushi	$4e		; 78, 'N', width
		lap	param[$1]
		mul
		push
		ldi	$64		; 100, 'd', moveDone
		div
		sat	temp[$0]
		push
		pToa	top
		mul
		push
		ldi	$64		; 100, 'd', moveDone
		div
		aTop	top
		lst	temp[$0]
		pToa	left
		mul
		push
		ldi	$64		; 100, 'd', moveDone
		div
		aTop	left
		lst	temp[$0]
		pToa	bottom
		mul
		push
		ldi	$64		; 100, 'd', moveDone
		div
		aTop	bottom
		lst	temp[$0]
		pToa	right
		mul
		push
		ldi	$64		; 100, 'd', moveDone
		div
		aTop	right
		ret

