Collect::new:
		pushi	$24		; 36, '$', elements
		push1
		push1
		push0
		&rest	$1
		callk	kernel_90, $2
		bnot
		push
		pushi	$5a		; 90, 'Z', size
		push1
		push0
		pushi	$9a		; 154, yourself
		push0
		pushi	$8d		; 141, new
		push0
		super	Obj, $4
		bnot
		send	$10
		bnot
		ret

Collect::doit:
		pushi	$9d		; 157, eachElementDo
		push1
		pushi	$45		; 69, 'E', doit
		&rest	$1
		self	$6
		bnot
		ret

Collect::add:
		link	$3
		pToa	elements
		not
		bnt	code_0113
		push1
		push0
		callk	kernel_90, $2
		bnot
		aTop	elements
code_0113:	ldi	$0
		sat	temp[$1]
code_0117:	lst	temp[$1]
		lap	param[$0]
		lt?
		bnt	code_0140
		pushi	$a7		; 167, isDuplicate
		push1
		lat	temp[$1]
		lspi	param[$1]
		self	$6
		bnot
		not
		bnt	code_013c
		pushi	$3		; z
		pushi	$b		; 11, inRight
		pTos	elements
		lat	temp[$1]
		lspi	param[$1]
		callk	kernel_90, $6
		bnot
		ipToa	size
code_013c:	+at	temp[$1]
		jmp	code_0117

code_0140:	selfID
		ret

Collect::delete:
		link	$1
		ldi	$0
		sat	temp[$0]
code_0148:	lst	temp[$0]
		lap	param[$0]
		lt?
		bnt	code_0165
		pushi	$3		; z
		pushi	$10		; 16, cel
		pTos	elements
		lat	temp[$0]
		lspi	param[$1]
		callk	kernel_90, $6
		bnot
		bnt	code_0161
		dpToa	size
code_0161:	+at	temp[$0]
		jmp	code_0148

code_0165:	selfID
		ret

Collect::dispose:
		pToa	elements
		bnt	code_017d
		pushi	$9d		; 157, eachElementDo
		push1
		pushi	$95		; 149, dispose
		self	$6
		bnot
		push2
		push1
		pTos	elements
		callk	kernel_90, $4
		bnot
code_017d:	ldi	$0
		aTop	elements
		aTop	size
		pushi	$95		; 149, dispose
		push0
		super	Obj, $4
		bnot
		ret

Collect::first:
		pushi	$3		; z
		pushi	$11		; 17, bitmap
		pTos	elements
		push0
		callk	kernel_90, $6
		bnot
		ret

Collect::next:
		push2
		pushi	$6		; maxScale
		lsp	param[$1]
		callk	kernel_90, $4
		bnot
		ret

Collect::isEmpty:
		pTos	elements
		ldi	$0
		eq?
		bt	code_01b2
		push2
		pushi	$5		; scaleY
		pTos	elements
		callk	kernel_90, $4
		bnot
code_01b2:	ret

Collect::contains:
		pushi	$3		; z
		pushi	$12		; 18, nsLeft
		pTos	elements
		lsp	param[$1]
		callk	kernel_90, $6
		bnot
		push
		ldi	$ff		; 255, asInteger
		ne?
		ret

Collect::eachElementDo:
		link	$3
		pushi	$3		; z
		pushi	$13		; 19, nsTop
		pTos	elements
		lsp	param[$1]
		&rest	$2
		callk	kernel_90, $6
		bnot
		sat	temp[$2]
		push2
		pushi	$17		; 23, lsTop
		pTos	elements
		callk	kernel_90, $4
		bnot
		aTop	size
		lat	temp[$2]
		ret

Collect::firstTrue:
		link	$3
		pushi	$3		; z
		pushi	$14		; 20, nsRight
		pTos	elements
		lsp	param[$1]
		&rest	$2
		callk	kernel_90, $6
		bnot
		sat	temp[$2]
		push2
		pushi	$17		; 23, lsTop
		pTos	elements
		callk	kernel_90, $4
		bnot
		aTop	size
		lat	temp[$2]
		ret

Collect::firstEqual:
		link	$4
		ldi	$0
		sat	temp[$2]
		pToa	elements
		bnt	code_025a
		ldi	$0
		sat	temp[$3]
code_0212:	lst	temp[$3]
		pToa	size
		lt?
		bnt	code_025a
		pushi	$3		; z
		pushi	$11		; 17, bitmap
		pTos	elements
		lst	temp[$3]
		callk	kernel_90, $6
		bnot
		sat	temp[$0]
		push1
		push
		calle	export60000_0, $2
		bnot
		not
		bnt	code_0235
		jmp	code_0256

code_0235:	pushi	$99		; 153, respondsTo
		push1
		lsp	param[$1]
		lat	temp[$0]
		send	$6
		bnot
		bnt	code_0256
		lsp	param[$1]
		push0
		lat	temp[$0]
		send	$4
		bnot
		push
		lap	param[$2]
		eq?
		bnt	code_0256
		lat	temp[$0]
		sat	temp[$2]
		jmp	code_025a

code_0256:	+at	temp[$3]
		jmp	code_0212

code_025a:	lat	temp[$2]
		ret

Collect::allTrue:
		link	$3
		pushi	$3		; z
		pushi	$15		; 21, nsBottom
		pTos	elements
		lsp	param[$1]
		&rest	$2
		callk	kernel_90, $6
		bnot
		sat	temp[$2]
		push2
		pushi	$17		; 23, lsTop
		pTos	elements
		callk	kernel_90, $4
		bnot
		aTop	size
		lat	temp[$2]
		ret

Collect::release:
		link	$1
		pToa	elements
		bnt	code_029d
		push2
		pushi	$17		; 23, lsTop
		push
		callk	kernel_90, $4
		bnot
		bnt	code_029d
		push2
		push1
		pTos	elements
		callk	kernel_90, $4
		bnot
		push1
		push0
		callk	kernel_90, $2
		bnot
		aTop	elements
code_029d:	ldi	$0
		aTop	size
		ret

Collect::isDuplicate:
		ldi	$0
		ret

List::at:
		link	$1
		pushi	$3		; z
		pushi	$11		; 17, bitmap
		pTos	elements
		lsp	param[$1]
		callk	kernel_90, $6
		bnot
		ret

List::last:
		push2
		pushi	$4		; scaleX
		pTos	elements
		callk	kernel_90, $4
		bnot
		ret

List::prev:
		push2
		pushi	$7		; priority
		lsp	param[$1]
		callk	kernel_90, $4
		bnot
		ret

List::addToFront:
		link	$1
		pToa	elements
		not
		bnt	code_02d7
		push1
		push0
		callk	kernel_90, $2
		bnot
		aTop	elements
code_02d7:	lsp	param[$0]
		ldi	$1
		sub
		sat	temp[$0]
code_02de:	push0
		lat	temp[$0]
		le?
		bnt	code_0306
		pushi	$a7		; 167, isDuplicate
		push1
		lat	temp[$0]
		lspi	param[$1]
		self	$6
		bnot
		not
		bnt	code_0302
		pushi	$3		; z
		pushi	$a		; 10, inTop
		pTos	elements
		lat	temp[$0]
		lspi	param[$1]
		callk	kernel_90, $6
		bnot
		ipToa	size
code_0302:	-at	temp[$0]
		jmp	code_02de

code_0306:	selfID
		ret

List::addToEnd:
		link	$1
		pToa	elements
		not
		bnt	code_0317
		push1
		push0
		callk	kernel_90, $2
		bnot
		aTop	elements
code_0317:	ldi	$0
		sat	temp[$0]
code_031b:	lst	temp[$0]
		lap	param[$0]
		lt?
		bnt	code_0344
		pushi	$a7		; 167, isDuplicate
		push1
		lat	temp[$0]
		lspi	param[$1]
		self	$6
		bnot
		not
		bnt	code_0340
		pushi	$3		; z
		pushi	$b		; 11, inRight
		pTos	elements
		lat	temp[$0]
		lspi	param[$1]
		callk	kernel_90, $6
		bnot
		ipToa	size
code_0340:	+at	temp[$0]
		jmp	code_031b

code_0344:	selfID
		ret

List::addAfter:
		link	$3
		-ap	param[$0]
		ldi	$0
		sat	temp[$0]
code_034e:	lst	temp[$0]
		lap	param[$0]
		lt?
		bnt	code_0379
		pushi	$a7		; 167, isDuplicate
		push1
		lat	temp[$0]
		lspi	param[$2]
		self	$6
		bnot
		not
		bnt	code_0375
		pushi	$4		; scaleX
		pushi	$9		; inLeft
		pTos	elements
		lsp	param[$1]
		lat	temp[$0]
		lspi	param[$2]
		callk	kernel_90, $8
		bnot
		ipToa	size
code_0375:	+at	temp[$0]
		jmp	code_034e

code_0379:	selfID
		ret

List::addBefore:
		link	$3
		-ap	param[$0]
		ldi	$0
		sat	temp[$0]
code_0383:	lst	temp[$0]
		lap	param[$0]
		lt?
		bnt	code_03ae
		pushi	$a7		; 167, isDuplicate
		push1
		lat	temp[$0]
		lspi	param[$2]
		self	$6
		bnot
		not
		bnt	code_03aa
		pushi	$4		; scaleX
		pushi	$c		; 12, inBottom
		pTos	elements
		lsp	param[$1]
		lat	temp[$0]
		lspi	param[$2]
		callk	kernel_90, $8
		bnot
		ipToa	size
code_03aa:	+at	temp[$0]
		jmp	code_0383

code_03ae:	selfID
		ret

List::indexOf:
		link	$2
		pushi	$3		; z
		pushi	$12		; 18, nsLeft
		pTos	elements
		lsp	param[$1]
		callk	kernel_90, $6
		bnot
		ret

List::union:
		link	$4
		lap	param[$1]
		sap	param[$1]
		pushi	$b1		; 177, duplicate
		push0
		self	$4
		bnot
		sat	temp[$0]
		ldi	$0
		sat	temp[$3]
code_03d2:	lst	temp[$3]
		lap	param[$0]
		lt?
		bnt	code_040e
		pushi	$5a		; 90, 'Z', size
		push0
		lat	temp[$3]
		lapi	param[$1]
		send	$4
		bnot
		sat	temp[$2]
		ldi	$0
		sat	temp[$1]
code_03e9:	lst	temp[$1]
		lat	temp[$2]
		lt?
		bnt	code_040a
		pushi	$9f		; 159, add
		push1
		pushi	$4b		; 75, 'K', at
		push1
		lst	temp[$1]
		lat	temp[$3]
		lapi	param[$1]
		send	$6
		bnot
		push
		lat	temp[$0]
		send	$6
		bnot
		+at	temp[$1]
		jmp	code_03e9

code_040a:	+at	temp[$3]
		jmp	code_03d2

code_040e:	lat	temp[$0]
		ret

List::intersection:
		link	$5
		lap	param[$1]
		sap	param[$1]
		pushi	$b1		; 177, duplicate
		push0
		self	$4
		bnot
		sat	temp[$0]
		ldi	$0
		sat	temp[$4]
code_0424:	lst	temp[$4]
		lap	param[$0]
		lt?
		bnt	code_046e
		pushi	$5a		; 90, 'Z', size
		push0
		lat	temp[$4]
		lapi	param[$1]
		send	$4
		bnot
		sat	temp[$2]
		ldi	$0
		sat	temp[$1]
code_043b:	lst	temp[$1]
		lat	temp[$2]
		lt?
		bnt	code_046a
		pushi	$4b		; 75, 'K', at
		push1
		lst	temp[$1]
		lat	temp[$4]
		lapi	param[$1]
		send	$6
		bnot
		sat	temp[$3]
		pushi	$a3		; 163, contains
		push1
		push
		lat	temp[$0]
		send	$6
		bnot
		bnt	code_0466
		pushi	$58		; 88, 'X', delete
		push1
		lst	temp[$3]
		lat	temp[$0]
		send	$6
		bnot
code_0466:	+at	temp[$1]
		jmp	code_043b

code_046a:	+at	temp[$4]
		jmp	code_0424

code_046e:	lat	temp[$0]
		ret

List::duplicate:
		link	$3
		pushi	$5a		; 90, 'Z', size
		push0
		self	$4
		bnot
		sat	temp[$2]
		pushi	$8d		; 141, new
		push0
		self	$4
		bnot
		sat	temp[$0]
		ldi	$0
		sat	temp[$1]
code_0488:	lst	temp[$1]
		lat	temp[$2]
		lt?
		bnt	code_04a5
		pushi	$9f		; 159, add
		push1
		pushi	$4b		; 75, 'K', at
		push1
		lst	temp[$1]
		self	$6
		bnot
		push
		lat	temp[$0]
		send	$6
		bnot
		+at	temp[$1]
		jmp	code_0488

code_04a5:	lat	temp[$0]
		ret

List::replace:
		pushi	$ac		; 172, addAfter
		push2
		lsp	param[$1]
		lsp	param[$2]
		&rest	$3		; z
		self	$8
		bnot
		pushi	$58		; 88, 'X', delete
		push1
		lsp	param[$1]
		self	$6
		bnot
		ret

Set::isDuplicate:
		pushi	$a3		; 163, contains
		push1
		lsp	param[$1]
		self	$6
		bnot
		ret

