	.file	"598886.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 8
.LC0:
	.string	"Unable to allocate memory for a new parser action."
	.text
	.globl	Action_new
	.type	Action_new, @function
Action_new:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR freelist.12[rip]
	test	rax, rax
	jne	.L2
	mov	DWORD PTR -12[rbp], 100
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR freelist.12[rip], rax
	mov	rax, QWORD PTR freelist.12[rip]
	test	rax, rax
	jne	.L3
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 50
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L3:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L4
.L5:
	mov	rcx, QWORD PTR freelist.12[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	mov	rsi, QWORD PTR freelist.12[rip]
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	lea	rdx, [rcx+rdi]
	mov	QWORD PTR 24[rax], rdx
	add	DWORD PTR -16[rbp], 1
.L4:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L5
	mov	rcx, QWORD PTR freelist.12[rip]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	sub	rax, 40
	add	rax, rcx
	mov	QWORD PTR 24[rax], 0
.L2:
	mov	rax, QWORD PTR freelist.12[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR freelist.12[rip]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR freelist.12[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	Action_new, .-Action_new
	.section	.rodata
.LC1:
	.string	"the_stack_data/598886.c"
	.text
	.type	actioncmp, @function
actioncmp:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L8
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L8:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L9
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	je	.L10
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	je	.L10
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L10
	mov	esi, 370
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L10:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	je	.L11
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	je	.L11
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L11
	mov	esi, 371
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L11:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR 64[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L9:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	actioncmp, .-actioncmp
	.globl	Action_sort
	.type	Action_sort, @function
Action_sort:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, actioncmp[rip]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	msort
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	Action_sort, .-Action_sort
	.globl	Action_add
	.type	Action_add, @function
Action_add:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	eax, 0
	call	Action_new
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	cmp	DWORD PTR -28[rbp], 0
	jne	.L16
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L18
.L16:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
.L18:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	Action_add, .-Action_add
	.globl	acttab_free
	.type	acttab_free, @function
acttab_free:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	acttab_free, .-acttab_free
	.section	.rodata
	.align 8
.LC2:
	.string	"Unable to allocate memory for a new acttab."
	.text
	.globl	acttab_alloc
	.type	acttab_alloc, @function
acttab_alloc:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L21
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L21:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 48
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	acttab_alloc, .-acttab_alloc
	.section	.rodata
.LC3:
	.string	"malloc failed\n"
	.text
	.globl	acttab_action
	.type	acttab_action, @function
acttab_action:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	jl	.L24
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 25[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L24
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L24:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L25
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], edx
	jmp	.L26
.L25:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L27
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 32[rax], edx
.L27:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -12[rbp], eax
	jge	.L26
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], edx
.L26:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR 4[rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	acttab_action, .-acttab_action
	.globl	acttab_insert
	.type	acttab_insert, @function
acttab_insert:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jg	.L29
	mov	esi, 492
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L29:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jl	.L30
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, edx
	lea	edx, 20[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L31
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L31:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L32
.L33:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR 4[rax], -1
	add	DWORD PTR -20[rbp], 1
.L32:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L33
.L30:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L34
.L59:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L35
	mov	DWORD PTR -16[rbp], 0
	jmp	.L36
.L40:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L64
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L65
	add	DWORD PTR -16[rbp], 1
.L36:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L40
	jmp	.L38
.L64:
	nop
	jmp	.L38
.L65:
	nop
.L38:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L66
	mov	DWORD PTR -16[rbp], 0
	jmp	.L43
.L46:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, ecx
	sub	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	je	.L67
	add	DWORD PTR -16[rbp], 1
.L43:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L46
	jmp	.L45
.L67:
	nop
.L45:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -16[rbp], eax
	jne	.L42
	jmp	.L47
.L35:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jne	.L42
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jne	.L68
	mov	DWORD PTR -16[rbp], 0
	jmp	.L49
.L53:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L50
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jge	.L50
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L69
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jne	.L70
	add	DWORD PTR -16[rbp], 1
.L49:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L53
	jmp	.L50
.L69:
	nop
	jmp	.L50
.L70:
	nop
.L50:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L71
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L55
.L58:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L72
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, ecx
	sub	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jne	.L57
	add	DWORD PTR -12[rbp], 1
	jmp	.L57
.L72:
	nop
.L57:
	add	DWORD PTR -16[rbp], 1
.L55:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L58
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -12[rbp], eax
	je	.L73
	jmp	.L42
.L66:
	nop
	jmp	.L42
.L68:
	nop
	jmp	.L42
.L71:
	nop
.L42:
	add	DWORD PTR -20[rbp], 1
.L34:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	eax, edx
	cmp	DWORD PTR -20[rbp], eax
	jl	.L59
	jmp	.L47
.L73:
	nop
.L47:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L60
.L62:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR [rcx]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L61
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L61:
	add	DWORD PTR -16[rbp], 1
.L60:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L62
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, edx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	acttab_insert, .-acttab_insert
	.section	.rodata
	.align 8
.LC4:
	.string	"Assertion failed on line %d of file \"%s\"\n"
	.text
	.globl	myassert
	.type	myassert, @function
myassert:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE14:
	.size	myassert, .-myassert
	.globl	FindRulePrecedences
	.type	FindRulePrecedences, @function
FindRulePrecedences:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L76
.L81:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L77
	mov	DWORD PTR -12[rbp], 0
	jmp	.L78
.L80:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L79
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L77
.L79:
	add	DWORD PTR -12[rbp], 1
.L78:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L80
.L77:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -8[rbp], rax
.L76:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L81
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	FindRulePrecedences, .-FindRulePrecedences
	.globl	FindFirstSets
	.type	FindFirstSets, @function
FindFirstSets:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -48[rbp], 0
	jmp	.L84
.L85:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 48[rax], 0
	add	DWORD PTR -48[rbp], 1
.L84:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L85
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -48[rbp], eax
	jmp	.L86
.L87:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rbx, QWORD PTR [rax]
	mov	eax, 0
	call	SetNew
	mov	QWORD PTR 40[rbx], rax
	add	DWORD PTR -48[rbp], 1
.L86:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L87
.L96:
	mov	DWORD PTR -44[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L88
.L95:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L107
	mov	DWORD PTR -48[rbp], 0
	jmp	.L91
.L94:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L108
	add	DWORD PTR -48[rbp], 1
.L91:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L94
	jmp	.L93
.L108:
	nop
.L93:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -48[rbp], eax
	jne	.L90
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 48[rax], 1
	mov	DWORD PTR -44[rbp], 1
	jmp	.L90
.L107:
	nop
.L90:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -40[rbp], rax
.L88:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L95
	cmp	DWORD PTR -44[rbp], 0
	jne	.L96
.L105:
	mov	DWORD PTR -44[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L97
.L104:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L98
.L103:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L99
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	SetAdd
	add	DWORD PTR -44[rbp], eax
	jmp	.L100
.L99:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L101
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L102
	jmp	.L100
.L101:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	SetUnion
	add	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L109
.L102:
	add	DWORD PTR -48[rbp], 1
.L98:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L103
	jmp	.L100
.L109:
	nop
.L100:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -40[rbp], rax
.L97:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L104
	cmp	DWORD PTR -44[rbp], 0
	jne	.L105
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	FindFirstSets, .-FindFirstSets
	.section	.rodata
	.align 8
.LC5:
	.string	"The specified start symbol \"%s\" is not in a nonterminal of the grammar.  \"%s\" will be used as the start symbol instead."
	.align 8
.LC6:
	.string	"The start symbol \"%s\" occurs on the right-hand side of a rule. This will result in a parser which does not work properly."
	.text
	.globl	FindStates
	.type	FindStates, @function
FindStates:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	eax, 0
	call	Configlist_init
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L111
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_find
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L112
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC5[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L112
.L111:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
.L112:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L113
.L117:
	mov	DWORD PTR -28[rbp], 0
	jmp	.L114
.L116:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L115
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rcx, rdx
	lea	rdx, .LC6[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 40[rax], edx
.L115:
	add	DWORD PTR -28[rbp], 1
.L114:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L116
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
.L113:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L117
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L118
.L119:
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	Configlist_addbasis
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	SetAdd
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
.L118:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L119
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getstate
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	FindStates, .-FindStates
	.globl	getstate
	.type	getstate, @function
getstate:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	eax, 0
	call	Configlist_sortbasis
	mov	eax, 0
	call	Configlist_basis
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	State_find
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L122
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L123
.L125:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, 32
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	Plink_copy
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	mov	eax, 0
	call	Plink_delete
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
.L123:
	cmp	QWORD PTR -32[rbp], 0
	je	.L124
	cmp	QWORD PTR -24[rbp], 0
	jne	.L125
.L124:
	mov	eax, 0
	call	Configlist_return
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Configlist_eat
	jmp	.L126
.L122:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Configlist_closure
	mov	eax, 0
	call	Configlist_sort
	mov	eax, 0
	call	Configlist_return
	mov	QWORD PTR -8[rbp], rax
	mov	eax, 0
	call	State_new
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L127
	mov	eax, 0
	call	memory_error
.L127:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rdx], ecx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rdx], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	State_insert
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	buildshifts
.L126:
	mov	rax, QWORD PTR -40[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	getstate, .-getstate
	.globl	buildshifts
	.type	buildshifts, @function
buildshifts:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L130
.L131:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -48[rbp], rax
.L130:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L131
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L132
.L142:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L143
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 20[rax]
	cmp	edx, eax
	jge	.L144
	mov	eax, 0
	call	Configlist_reset
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L136
.L141:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L145
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 20[rax]
	cmp	edx, eax
	jge	.L146
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jne	.L147
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	Configlist_addbasis
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	Plink_add
	jmp	.L138
.L145:
	nop
	jmp	.L138
.L146:
	nop
	jmp	.L138
.L147:
	nop
.L138:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -40[rbp], rax
.L136:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L141
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	getstate
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	lea	rdi, 24[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 0
	mov	eax, 0
	call	Action_add
	jmp	.L134
.L143:
	nop
	jmp	.L134
.L144:
	nop
.L134:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -48[rbp], rax
.L132:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L142
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	buildshifts, .-buildshifts
	.globl	FindLinks
	.type	FindLinks, @function
FindLinks:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -36[rbp], 0
	jmp	.L149
.L152:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L150
.L151:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
.L150:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L151
	add	DWORD PTR -36[rbp], 1
.L149:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L152
	mov	DWORD PTR -36[rbp], 0
	jmp	.L153
.L158:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L154
.L157:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L155
.L156:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	Plink_add
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L155:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L156
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
.L154:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L157
	add	DWORD PTR -36[rbp], 1
.L153:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L158
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	FindLinks, .-FindLinks
	.globl	FindFollowSets
	.type	FindFollowSets, @function
FindFollowSets:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -28[rbp], 0
	jmp	.L160
.L163:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L161
.L162:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -16[rbp], rax
.L161:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L162
	add	DWORD PTR -28[rbp], 1
.L160:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L163
.L173:
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L164
.L172:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L165
.L171:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L174
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L168
.L170:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	SetUnion
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L169
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR 48[rax], 1
	mov	DWORD PTR -24[rbp], 1
.L169:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L168:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L170
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 48[rax], 0
	jmp	.L167
.L174:
	nop
.L167:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -16[rbp], rax
.L165:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L171
	add	DWORD PTR -28[rbp], 1
.L164:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L172
	cmp	DWORD PTR -24[rbp], 0
	jne	.L173
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	FindFollowSets, .-FindFollowSets
	.section	.rodata
	.align 8
.LC7:
	.string	"This rule can not be reduced.\n"
	.text
	.globl	FindActions
	.type	FindActions, @function
FindActions:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -72[rbp], 0
	jmp	.L176
.L183:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L177
.L182:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L178
	mov	DWORD PTR -68[rbp], 0
	jmp	.L179
.L181:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L180
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -8[rbp]
	lea	rdi, 24[rcx]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 2
	mov	eax, 0
	call	Action_add
.L180:
	add	DWORD PTR -68[rbp], 1
.L179:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -68[rbp], eax
	jl	.L181
.L178:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -64[rbp], rax
.L177:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L182
	add	DWORD PTR -72[rbp], 1
.L176:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L183
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L184
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_find
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L185
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L185
.L184:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
.L185:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	lea	rdi, 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, 0
	mov	rdx, rax
	mov	esi, 1
	mov	eax, 0
	call	Action_add
	mov	DWORD PTR -72[rbp], 0
	jmp	.L186
.L194:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L187
	mov	esi, 943
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L187:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	mov	eax, 0
	call	Action_sort
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L188
.L193:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L189
.L191:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	resolve_conflict
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 256[rax]
	add	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 256[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -32[rbp], rax
.L189:
	cmp	QWORD PTR -32[rbp], 0
	je	.L190
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L191
.L190:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
.L188:
	cmp	QWORD PTR -40[rbp], 0
	je	.L192
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L193
.L192:
	add	DWORD PTR -72[rbp], 1
.L186:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L194
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L195
.L196:
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 68[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -48[rbp], rax
.L195:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L196
	mov	DWORD PTR -72[rbp], 0
	jmp	.L197
.L201:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L198
.L200:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L199
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	DWORD PTR 68[rax], 1
.L199:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
.L198:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L200
	add	DWORD PTR -72[rbp], 1
.L197:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L201
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L202
.L205:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 68[rax]
	test	eax, eax
	jne	.L206
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 232[rax]
	lea	rdx, .LC7[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 40[rax], edx
	jmp	.L204
.L206:
	nop
.L204:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -48[rbp], rax
.L202:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L205
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	FindActions, .-FindActions
	.section	.rodata
.LC8:
	.string	"Not enough precedence: %s\n"
	.text
	.type	resolve_conflict, @function
resolve_conflict:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L208
	mov	esi, 989
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L208:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L209
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L209
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L210
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L210
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jns	.L211
.L210:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 4
	add	DWORD PTR -20[rbp], 1
	jmp	.L212
.L211:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jle	.L213
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 6
	jmp	.L219
.L213:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jge	.L214
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 5
	jmp	.L219
.L214:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L215
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jne	.L215
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 6
	jmp	.L212
.L215:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L216
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L216
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 5
	jmp	.L212
.L216:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L217
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 2
	je	.L218
.L217:
	mov	esi, 1007
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L218:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 4
	add	DWORD PTR -20[rbp], 1
	jmp	.L219
.L212:
	jmp	.L219
.L209:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L220
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L220
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L221
	cmp	QWORD PTR -8[rbp], 0
	je	.L221
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L221
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L221
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L222
.L221:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 4
	add	DWORD PTR -20[rbp], 1
	jmp	.L226
.L222:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jle	.L224
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 6
	jmp	.L226
.L224:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jge	.L226
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 6
	jmp	.L226
.L220:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 5
	je	.L219
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	je	.L219
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L219
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 5
	je	.L219
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	je	.L219
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L219
	mov	esi, 1025
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
	jmp	.L219
.L226:
	nop
.L219:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	resolve_conflict, .-resolve_conflict
	.local	freelist
	.comm	freelist,8,8
	.local	current
	.comm	current,8,8
	.local	currentend
	.comm	currentend,8,8
	.local	basis
	.comm	basis,8,8
	.local	basisend
	.comm	basisend,8,8
	.section	.rodata
	.align 8
.LC9:
	.string	"Unable to allocate memory for a new configuration."
	.text
	.globl	newconfig
	.type	newconfig, @function
newconfig:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR freelist[rip]
	test	rax, rax
	jne	.L228
	mov	DWORD PTR -12[rbp], 3
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR freelist[rip], rax
	mov	rax, QWORD PTR freelist[rip]
	test	rax, rax
	jne	.L229
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 50
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L229:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L230
.L231:
	mov	rcx, QWORD PTR freelist[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	mov	rsi, QWORD PTR freelist[rip]
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	lea	rdx, [rcx+rdi]
	mov	QWORD PTR 56[rax], rdx
	add	DWORD PTR -16[rbp], 1
.L230:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L231
	mov	rcx, QWORD PTR freelist[rip]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 3
	sub	rax, 72
	add	rax, rcx
	mov	QWORD PTR 56[rax], 0
.L228:
	mov	rax, QWORD PTR freelist[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR freelist[rip]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR freelist[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	newconfig, .-newconfig
	.globl	deleteconfig
	.type	deleteconfig, @function
deleteconfig:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rdx, QWORD PTR freelist[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR freelist[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	deleteconfig, .-deleteconfig
	.globl	Configlist_init
	.type	Configlist_init, @function
Configlist_init:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR current[rip], 0
	lea	rax, current[rip]
	mov	QWORD PTR currentend[rip], rax
	mov	QWORD PTR basis[rip], 0
	lea	rax, basis[rip]
	mov	QWORD PTR basisend[rip], rax
	mov	eax, 0
	call	Configtable_init
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	Configlist_init, .-Configlist_init
	.globl	Configlist_reset
	.type	Configlist_reset, @function
Configlist_reset:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR current[rip], 0
	lea	rax, current[rip]
	mov	QWORD PTR currentend[rip], rax
	mov	QWORD PTR basis[rip], 0
	lea	rax, basis[rip]
	mov	QWORD PTR basisend[rip], rax
	mov	edi, 0
	mov	eax, 0
	call	Configtable_clear
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	Configlist_reset, .-Configlist_reset
	.globl	Configlist_add
	.type	Configlist_add, @function
Configlist_add:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR currentend[rip]
	test	rax, rax
	jne	.L239
	mov	esi, 1105
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L239:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -72[rbp], eax
	lea	rax, -80[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Configtable_find
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L240
	mov	eax, 0
	call	newconfig
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 0
	call	SetNew
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR currentend[rip]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 56
	mov	QWORD PTR currentend[rip], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Configtable_insert
.L240:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L242
	call	__stack_chk_fail@PLT
.L242:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	Configlist_add, .-Configlist_add
	.globl	Configlist_addbasis
	.type	Configlist_addbasis, @function
Configlist_addbasis:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR basisend[rip]
	test	rax, rax
	jne	.L244
	mov	esi, 1132
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L244:
	mov	rax, QWORD PTR currentend[rip]
	test	rax, rax
	jne	.L245
	mov	esi, 1133
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L245:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -72[rbp], eax
	lea	rax, -80[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Configtable_find
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L246
	mov	eax, 0
	call	newconfig
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 0
	call	SetNew
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR currentend[rip]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 56
	mov	QWORD PTR currentend[rip], rax
	mov	rax, QWORD PTR basisend[rip]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 64
	mov	QWORD PTR basisend[rip], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Configtable_insert
.L246:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L248
	call	__stack_chk_fail@PLT
.L248:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	Configlist_addbasis, .-Configlist_addbasis
	.section	.rodata
	.align 8
.LC10:
	.string	"Nonterminal \"%s\" has no rules."
	.text
	.globl	Configlist_closure
	.type	Configlist_closure, @function
Configlist_closure:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR currentend[rip]
	test	rax, rax
	jne	.L250
	mov	esi, 1164
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L250:
	mov	rax, QWORD PTR current[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L251
.L263:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -52[rbp], eax
	jge	.L265
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L253
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L254
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 48[rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L254
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rcx, rdx
	lea	rdx, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 40[rax], edx
.L254:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L255
.L262:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	Configlist_add
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
	jmp	.L256
.L260:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L257
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	SetAdd
	jmp	.L258
.L257:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	SetUnion
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L266
	add	DWORD PTR -56[rbp], 1
.L256:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L260
	jmp	.L258
.L266:
	nop
.L258:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -56[rbp], eax
	jne	.L261
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	Plink_add
.L261:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -40[rbp], rax
.L255:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L262
	jmp	.L253
.L265:
	nop
.L253:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -48[rbp], rax
.L251:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L263
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	Configlist_closure, .-Configlist_closure
	.globl	Configlist_sort
	.type	Configlist_sort, @function
Configlist_sort:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR current[rip]
	lea	rcx, 56[rax]
	mov	rax, QWORD PTR current[rip]
	lea	rdx, Configcmp[rip]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	msort
	mov	QWORD PTR current[rip], rax
	mov	QWORD PTR currentend[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	Configlist_sort, .-Configlist_sort
	.globl	Configlist_sortbasis
	.type	Configlist_sortbasis, @function
Configlist_sortbasis:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR current[rip]
	lea	rcx, 64[rax]
	mov	rax, QWORD PTR current[rip]
	lea	rdx, Configcmp[rip]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	msort
	mov	QWORD PTR basis[rip], rax
	mov	QWORD PTR basisend[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	Configlist_sortbasis, .-Configlist_sortbasis
	.globl	Configlist_return
	.type	Configlist_return, @function
Configlist_return:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR current[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR current[rip], 0
	mov	QWORD PTR currentend[rip], 0
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	Configlist_return, .-Configlist_return
	.globl	Configlist_basis
	.type	Configlist_basis, @function
Configlist_basis:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR basis[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR basis[rip], 0
	mov	QWORD PTR basisend[rip], 0
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	Configlist_basis, .-Configlist_basis
	.globl	Configlist_eat
	.type	Configlist_eat, @function
Configlist_eat:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	jmp	.L276
.L280:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L277
	mov	esi, 1236
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L277:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L278
	mov	esi, 1237
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L278:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L279
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	mov	eax, 0
	call	SetFree
.L279:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	deleteconfig
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L276:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L280
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	Configlist_eat, .-Configlist_eat
	.type	findbreak, @function
findbreak:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L283
.L290:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 9
	jne	.L284
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
.L284:
	cmp	BYTE PTR -9[rbp], 10
	jne	.L285
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L286
.L285:
	cmp	BYTE PTR -9[rbp], 0
	jne	.L287
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L286
.L287:
	cmp	BYTE PTR -9[rbp], 45
	jne	.L288
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 1
	cmp	DWORD PTR -8[rbp], eax
	jge	.L288
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
.L288:
	cmp	BYTE PTR -9[rbp], 32
	jne	.L289
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
.L289:
	add	DWORD PTR -8[rbp], 1
.L283:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jle	.L290
.L286:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	findbreak, .-findbreak
	.section	.rodata
.LC11:
	.string	"%.*s:%d: "
.LC12:
	.string	"%.*s: "
.LC13:
	.string	"%s%.*s\n"
	.text
	.globl	ErrorMsg
	.type	ErrorMsg, @function
ErrorMsg:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 2128
	mov	QWORD PTR -10296[rbp], rdi
	mov	DWORD PTR -10300[rbp], esi
	mov	QWORD PTR -10312[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L293
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L293:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -10264[rbp], 24
	mov	DWORD PTR -10260[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -10256[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -10248[rbp], rax
	cmp	DWORD PTR -10300[rbp], 0
	jle	.L294
	mov	ecx, DWORD PTR -10300[rbp]
	mov	rdx, QWORD PTR -10296[rbp]
	lea	rax, -10240[rbp]
	mov	r8d, ecx
	mov	rcx, rdx
	mov	edx, 20
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	jmp	.L295
.L294:
	mov	rdx, QWORD PTR -10296[rbp]
	lea	rax, -10240[rbp]
	mov	rcx, rdx
	mov	edx, 20
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
.L295:
	lea	rax, -10240[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -10276[rbp], eax
	mov	eax, 79
	sub	eax, DWORD PTR -10276[rbp]
	mov	DWORD PTR -10272[rbp], eax
	lea	rdx, -10264[rbp]
	mov	rcx, QWORD PTR -10312[rbp]
	lea	rax, -10192[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vsprintf@PLT
	lea	rax, -10192[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -10288[rbp], eax
	jmp	.L296
.L298:
	sub	DWORD PTR -10288[rbp], 1
	mov	eax, DWORD PTR -10288[rbp]
	cdqe
	mov	BYTE PTR -10192[rbp+rax], 0
.L296:
	cmp	DWORD PTR -10288[rbp], 0
	jle	.L297
	mov	eax, DWORD PTR -10288[rbp]
	sub	eax, 1
	cdqe
	movzx	eax, BYTE PTR -10192[rbp+rax]
	cmp	al, 10
	je	.L298
.L297:
	mov	DWORD PTR -10280[rbp], 0
	jmp	.L299
.L302:
	lea	rdx, -10192[rbp]
	mov	eax, DWORD PTR -10280[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -10272[rbp]
	mov	edx, eax
	mov	esi, 0
	mov	rdi, rcx
	mov	eax, 0
	call	findbreak
	mov	DWORD PTR -10284[rbp], eax
	mov	eax, DWORD PTR -10284[rbp]
	mov	DWORD PTR -10268[rbp], eax
	mov	eax, DWORD PTR -10280[rbp]
	add	DWORD PTR -10284[rbp], eax
	jmp	.L300
.L301:
	add	DWORD PTR -10284[rbp], 1
.L300:
	mov	eax, DWORD PTR -10284[rbp]
	cdqe
	movzx	eax, BYTE PTR -10192[rbp+rax]
	cmp	al, 32
	je	.L301
	lea	rdx, -10192[rbp]
	mov	eax, DWORD PTR -10280[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR stdout[rip]
	mov	ecx, DWORD PTR -10268[rbp]
	lea	rdx, -10240[rbp]
	mov	r8, rsi
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -10284[rbp]
	mov	DWORD PTR -10280[rbp], eax
.L299:
	mov	eax, DWORD PTR -10280[rbp]
	cdqe
	movzx	eax, BYTE PTR -10192[rbp+rax]
	test	al, al
	jne	.L302
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L303
	call	__stack_chk_fail@PLT
.L303:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	ErrorMsg, .-ErrorMsg
	.section	.rodata
.LC14:
	.string	"Out of memory.  Aborting...\n"
	.text
	.globl	memory_error
	.type	memory_error, @function
memory_error:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC14[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE38:
	.size	memory_error, .-memory_error
	.local	nDefine
	.comm	nDefine,4,4
	.local	azDefine
	.comm	azDefine,8,8
	.section	.rodata
.LC15:
	.string	"out of memory\n"
	.text
	.type	handle_D_option, @function
handle_D_option:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR nDefine[rip]
	add	eax, 1
	mov	DWORD PTR nDefine[rip], eax
	mov	eax, DWORD PTR nDefine[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR azDefine[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR azDefine[rip], rax
	mov	rax, QWORD PTR azDefine[rip]
	test	rax, rax
	jne	.L306
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC15[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L306:
	mov	rdx, QWORD PTR azDefine[rip]
	mov	eax, DWORD PTR nDefine[rip]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L307
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC15[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L307:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L308
.L310:
	add	QWORD PTR -24[rbp], 1
.L308:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L309
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L310
.L309:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	handle_D_option, .-handle_D_option
	.section	.rodata
.LC16:
	.string	"Lemon version 1.0"
	.align 8
.LC17:
	.string	"Exactly one filename argument is required.\n"
.LC18:
	.string	"$"
.LC19:
	.string	"error"
.LC20:
	.string	"Empty grammar.\n"
.LC21:
	.string	"{default}"
	.align 8
.LC22:
	.string	"Parser statistics: %d terminals, %d nonterminals, %d rules\n"
	.align 8
.LC23:
	.string	"                   %d states, %d parser table entries, %d conflicts\n"
.LC24:
	.string	"%d parsing conflicts.\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	DWORD PTR -308[rbp], edi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR stderr[rip]
	mov	rax, QWORD PTR -320[rbp]
	lea	rsi, options.11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	OptInit
	mov	eax, DWORD PTR version.10[rip]
	test	eax, eax
	je	.L312
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L312:
	mov	eax, 0
	call	OptNArgs
	cmp	eax, 1
	je	.L313
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L313:
	mov	DWORD PTR -248[rbp], 0
	mov	eax, 0
	call	Strsafe_init
	mov	eax, 0
	call	Symbol_init
	mov	eax, 0
	call	State_init
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	edi, 0
	mov	eax, 0
	call	OptArg
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR basisflag.9[rip]
	mov	DWORD PTR -24[rbp], eax
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	QWORD PTR -200[rbp], 0
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	QWORD PTR -208[rbp], 0
	mov	QWORD PTR -192[rbp], 0
	mov	QWORD PTR -104[rbp], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -168[rbp], rax
	mov	QWORD PTR -72[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	Symbol_new
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	Symbol_new
	mov	QWORD PTR -240[rbp], rax
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Parse
	mov	eax, DWORD PTR -248[rbp]
	test	eax, eax
	je	.L314
	mov	eax, DWORD PTR -248[rbp]
	mov	edi, eax
	call	exit@PLT
.L314:
	mov	rax, QWORD PTR -280[rbp]
	test	rax, rax
	jne	.L315
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC20[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L315:
	mov	eax, 0
	call	Symbol_count
	mov	DWORD PTR -264[rbp], eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	Symbol_new
	mov	eax, 0
	call	Symbol_arrayof
	mov	QWORD PTR -256[rbp], rax
	mov	DWORD PTR -292[rbp], 0
	jmp	.L316
.L317:
	mov	rdx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -292[rbp]
	mov	DWORD PTR 8[rax], edx
	add	DWORD PTR -292[rbp], 1
.L316:
	mov	eax, DWORD PTR -264[rbp]
	cmp	DWORD PTR -292[rbp], eax
	jle	.L317
	mov	eax, DWORD PTR -264[rbp]
	add	eax, 1
	movsx	rsi, eax
	mov	rax, QWORD PTR -256[rbp]
	lea	rcx, Symbolcmpp[rip]
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	mov	DWORD PTR -292[rbp], 0
	jmp	.L318
.L319:
	mov	rdx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -292[rbp]
	mov	DWORD PTR 8[rax], edx
	add	DWORD PTR -292[rbp], 1
.L318:
	mov	eax, DWORD PTR -264[rbp]
	cmp	DWORD PTR -292[rbp], eax
	jle	.L319
	mov	DWORD PTR -292[rbp], 1
	jmp	.L320
.L321:
	add	DWORD PTR -292[rbp], 1
.L320:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L321
	mov	eax, DWORD PTR -292[rbp]
	mov	DWORD PTR -260[rbp], eax
	mov	eax, DWORD PTR rpflag.8[rip]
	test	eax, eax
	je	.L322
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Reprint
	jmp	.L323
.L322:
	mov	eax, DWORD PTR -260[rbp]
	mov	edi, eax
	mov	eax, 0
	call	SetSize
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	FindRulePrecedences
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	FindFirstSets
	mov	DWORD PTR -272[rbp], 0
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	FindStates
	mov	eax, 0
	call	State_arrayof
	mov	QWORD PTR -288[rbp], rax
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	FindLinks
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	FindFollowSets
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	FindActions
	mov	eax, DWORD PTR compress.7[rip]
	test	eax, eax
	jne	.L324
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	CompressTables
.L324:
	mov	eax, DWORD PTR quiet.6[rip]
	test	eax, eax
	jne	.L325
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	ReportOutput
.L325:
	mov	edx, DWORD PTR mhflag.5[rip]
	lea	rax, -288[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	ReportTable
	mov	eax, DWORD PTR mhflag.5[rip]
	test	eax, eax
	jne	.L323
	lea	rax, -288[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	ReportHeader
.L323:
	mov	eax, DWORD PTR statistics.4[rip]
	test	eax, eax
	je	.L326
	mov	edx, DWORD PTR -268[rbp]
	mov	eax, DWORD PTR -264[rbp]
	mov	ecx, DWORD PTR -260[rbp]
	sub	eax, ecx
	mov	esi, eax
	mov	eax, DWORD PTR -260[rbp]
	mov	ecx, edx
	mov	edx, esi
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ecx, DWORD PTR -32[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -272[rbp]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
.L326:
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	je	.L327
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L327:
	mov	edx, DWORD PTR -248[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	edi, eax
	call	exit@PLT
	.cfi_endproc
.LFE40:
	.size	main, .-main
	.type	merge, @function
merge:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L330
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L331
.L330:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L332
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L331
.L332:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	rcx
	test	eax, eax
	jns	.L333
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L334
.L333:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L334:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L335
.L338:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	rcx
	test	eax, eax
	jns	.L336
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L335
.L336:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L335:
	cmp	QWORD PTR -24[rbp], 0
	je	.L337
	cmp	QWORD PTR -32[rbp], 0
	jne	.L338
.L337:
	cmp	QWORD PTR -24[rbp], 0
	je	.L339
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L331
.L339:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
.L331:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	merge, .-merge
	.globl	msort
	.type	msort, @function
msort:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -296[rbp], rdi
	mov	QWORD PTR -304[rbp], rsi
	mov	QWORD PTR -312[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -304[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	sub	rax, rdx
	mov	QWORD PTR -264[rbp], rax
	mov	DWORD PTR -276[rbp], 0
	jmp	.L342
.L343:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	QWORD PTR -256[rbp+rax*8], 0
	add	DWORD PTR -276[rbp], 1
.L342:
	cmp	DWORD PTR -276[rbp], 29
	jle	.L343
	jmp	.L344
.L348:
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -272[rbp], rax
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -296[rbp], rax
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR -276[rbp], 0
	jmp	.L345
.L347:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rsi, QWORD PTR -256[rbp+rax*8]
	mov	rcx, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	merge
	mov	QWORD PTR -272[rbp], rax
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	QWORD PTR -256[rbp+rax*8], 0
	add	DWORD PTR -276[rbp], 1
.L345:
	cmp	DWORD PTR -276[rbp], 28
	jg	.L346
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rax, QWORD PTR -256[rbp+rax*8]
	test	rax, rax
	jne	.L347
.L346:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rdx, QWORD PTR -272[rbp]
	mov	QWORD PTR -256[rbp+rax*8], rdx
.L344:
	cmp	QWORD PTR -296[rbp], 0
	jne	.L348
	mov	QWORD PTR -272[rbp], 0
	mov	DWORD PTR -276[rbp], 0
	jmp	.L349
.L351:
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rax, QWORD PTR -256[rbp+rax*8]
	test	rax, rax
	je	.L350
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	mov	rsi, QWORD PTR -256[rbp+rax*8]
	mov	rcx, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	merge
	mov	QWORD PTR -272[rbp], rax
.L350:
	add	DWORD PTR -276[rbp], 1
.L349:
	cmp	DWORD PTR -276[rbp], 29
	jle	.L351
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L353
	call	__stack_chk_fail@PLT
.L353:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	msort, .-msort
	.local	argv
	.comm	argv,8,8
	.local	op
	.comm	op,8,8
	.local	errstream
	.comm	errstream,8,8
	.section	.rodata
.LC25:
	.string	" %s"
.LC26:
	.string	""
.LC27:
	.string	"\n%*s^-- here\n"
.LC28:
	.string	"\n%*shere --^\n"
	.text
	.type	errline, @function
errline:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L355
	mov	rax, QWORD PTR argv[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
.L355:
	mov	rax, QWORD PTR argv[rip]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -4[rbp], 1
	jmp	.L356
.L358:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	add	DWORD PTR -4[rbp], 1
.L356:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jge	.L357
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L358
.L357:
	mov	eax, DWORD PTR -24[rbp]
	add	DWORD PTR -8[rbp], eax
	jmp	.L359
.L360:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -4[rbp], 1
.L359:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L360
	cmp	DWORD PTR -8[rbp], 19
	jg	.L361
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, .LC26[rip]
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L363
.L361:
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -7[rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, .LC26[rip]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L363:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	errline, .-errline
	.section	.rodata
.LC29:
	.string	"--"
	.text
	.type	argindex, @function
argindex:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR argv[rip]
	test	rax, rax
	je	.L365
	mov	rax, QWORD PTR argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L365
	mov	DWORD PTR -8[rbp], 1
	jmp	.L366
.L372:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L367
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L368
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L368
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	jne	.L368
.L367:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L369
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L370
.L369:
	sub	DWORD PTR -20[rbp], 1
.L368:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC29[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L371
	mov	DWORD PTR -4[rbp], 1
.L371:
	add	DWORD PTR -8[rbp], 1
.L366:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L372
.L365:
	mov	eax, -1
.L370:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	argindex, .-argindex
	.data
	.align 16
	.type	emsg, @object
	.size	emsg, 28
emsg:
	.string	"Command line syntax error: "
	.section	.rodata
.LC30:
	.string	"%sundefined option.\n"
	.align 8
.LC31:
	.string	"%smissing argument on switch.\n"
	.text
	.type	handleflags, @function
handleflags:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L374
.L377:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rcx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rcx
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, QWORD PTR argv[rip]
	mov	ecx, DWORD PTR -20[rbp]
	movsx	rcx, ecx
	sal	rcx, 3
	add	rcx, rsi
	mov	rcx, QWORD PTR [rcx]
	add	rcx, 1
	mov	rsi, rax
	mov	rdi, rcx
	call	strncmp@PLT
	test	eax, eax
	je	.L386
	add	DWORD PTR -8[rbp], 1
.L374:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L377
	jmp	.L376
.L386:
	nop
.L376:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L378
	cmp	QWORD PTR -32[rbp], 0
	je	.L379
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	mov	eax, 0
	call	errline
.L379:
	add	DWORD PTR -12[rbp], 1
	jmp	.L380
.L378:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L381
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L380
.L381:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	jne	.L382
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	mov	eax, 0
	call	rdx
	jmp	.L380
.L382:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	jne	.L383
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rcx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	mov	eax, 0
	call	rdx
	jmp	.L380
.L383:
	cmp	QWORD PTR -32[rbp], 0
	je	.L384
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, 1
	mov	edi, eax
	mov	eax, 0
	call	errline
.L384:
	add	DWORD PTR -12[rbp], 1
.L380:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	handleflags, .-handleflags
	.section	.rodata
	.align 8
.LC33:
	.string	"%soption requires an argument.\n"
	.align 8
.LC34:
	.string	"%sillegal character in floating-point argument.\n"
	.align 8
.LC35:
	.string	"%sillegal character in integer argument.\n"
	.text
	.type	handleswitch, @function
handleswitch:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -52[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -48[rbp], 0
	jmp	.L388
.L391:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L416
	add	DWORD PTR -48[rbp], 1
.L388:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L391
	jmp	.L390
.L416:
	nop
.L390:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 61
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L392
	cmp	QWORD PTR -80[rbp], 0
	je	.L393
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 0
	mov	edi, eax
	mov	eax, 0
	call	errline
.L393:
	add	DWORD PTR -44[rbp], 1
	jmp	.L394
.L392:
	add	QWORD PTR -16[rbp], 1
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L395
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L397[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L397[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L397:
	.long	.L395-.L397
	.long	.L400-.L397
	.long	.L399-.L397
	.long	.L398-.L397
	.long	.L396-.L397
	.long	.L400-.L397
	.long	.L399-.L397
	.long	.L398-.L397
	.long	.L396-.L397
	.text
.L400:
	cmp	QWORD PTR -80[rbp], 0
	je	.L401
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, 0
	mov	edi, eax
	mov	eax, 0
	call	errline
.L401:
	add	DWORD PTR -44[rbp], 1
	jmp	.L395
.L398:
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L417
	cmp	QWORD PTR -80[rbp], 0
	je	.L403
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC34[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rax
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	sub	rcx, rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 0
	call	errline
.L403:
	add	DWORD PTR -44[rbp], 1
	jmp	.L417
.L399:
	lea	rcx, -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L418
	cmp	QWORD PTR -80[rbp], 0
	je	.L405
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, emsg[rip]
	lea	rsi, .LC35[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rax
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	sub	rcx, rax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	rsi, rcx
	mov	edi, eax
	mov	eax, 0
	call	errline
.L405:
	add	DWORD PTR -44[rbp], 1
	jmp	.L418
.L396:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L395
.L417:
	nop
	jmp	.L395
.L418:
	nop
.L395:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L394
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L407[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L407[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L407:
	.long	.L394-.L407
	.long	.L394-.L407
	.long	.L413-.L407
	.long	.L412-.L407
	.long	.L411-.L407
	.long	.L394-.L407
	.long	.L409-.L407
	.long	.L408-.L407
	.long	.L406-.L407
	.text
.L412:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L394
.L408:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	movq	xmm0, rax
	mov	eax, 1
	call	rdx
	jmp	.L394
.L413:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L394
.L409:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	mov	eax, 0
	call	rdx
	jmp	.L394
.L411:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L394
.L406:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	rdx
	nop
.L394:
	mov	eax, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L415
	call	__stack_chk_fail@PLT
.L415:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	handleswitch, .-handleswitch
	.section	.rodata
	.align 8
.LC36:
	.string	"Valid command line options for \"%s\" are:\n"
	.text
	.globl	OptInit
	.type	OptInit, @function
OptInit:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR argv[rip], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR op[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR errstream[rip], rax
	mov	rax, QWORD PTR argv[rip]
	test	rax, rax
	je	.L420
	mov	rax, QWORD PTR argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L420
	mov	rax, QWORD PTR op[rip]
	test	rax, rax
	je	.L420
	mov	DWORD PTR -4[rbp], 1
	jmp	.L421
.L425:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L422
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L423
.L422:
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	mov	eax, 0
	call	handleflags
	add	DWORD PTR -8[rbp], eax
	jmp	.L424
.L423:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L424
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	mov	eax, 0
	call	handleswitch
	add	DWORD PTR -8[rbp], eax
.L424:
	add	DWORD PTR -4[rbp], 1
.L421:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L425
.L420:
	cmp	DWORD PTR -8[rbp], 0
	jle	.L426
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC36[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 0
	call	OptPrint
	mov	edi, 1
	call	exit@PLT
.L426:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	OptInit, .-OptInit
	.globl	OptNArgs
	.type	OptNArgs, @function
OptNArgs:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR argv[rip]
	test	rax, rax
	je	.L429
	mov	rax, QWORD PTR argv[rip]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L429
	mov	DWORD PTR -4[rbp], 1
	jmp	.L430
.L434:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L431
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L432
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L432
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	jne	.L432
.L431:
	add	DWORD PTR -12[rbp], 1
.L432:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC29[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L433
	mov	DWORD PTR -8[rbp], 1
.L433:
	add	DWORD PTR -4[rbp], 1
.L430:
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L434
.L429:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	OptNArgs, .-OptNArgs
	.globl	OptArg
	.type	OptArg, @function
OptArg:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	mov	eax, 0
	call	argindex
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L437
	mov	rdx, QWORD PTR argv[rip]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L439
.L437:
	mov	eax, 0
.L439:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	OptArg, .-OptArg
	.globl	OptErr
	.type	OptErr, @function
OptErr:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	mov	eax, 0
	call	argindex
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L442
	mov	rdx, QWORD PTR errstream[rip]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 0
	mov	edi, eax
	mov	eax, 0
	call	errline
.L442:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	OptErr, .-OptErr
	.section	.rodata
.LC37:
	.string	"  -%-*s  %s\n"
.LC38:
	.string	"  %s=<integer>%*s  %s\n"
.LC39:
	.string	"  %s=<real>%*s  %s\n"
.LC40:
	.string	"  %s=<string>%*s  %s\n"
	.text
	.globl	OptPrint
	.type	OptPrint, @function
OptPrint:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L444
.L452:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	DWORD PTR -20[rbp], eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L445
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L447[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L447[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L447:
	.long	.L445-.L447
	.long	.L445-.L447
	.long	.L449-.L447
	.long	.L448-.L447
	.long	.L446-.L447
	.long	.L445-.L447
	.long	.L449-.L447
	.long	.L448-.L447
	.long	.L446-.L447
	.text
.L449:
	add	DWORD PTR -20[rbp], 9
	jmp	.L445
.L448:
	add	DWORD PTR -20[rbp], 6
	jmp	.L445
.L446:
	add	DWORD PTR -20[rbp], 8
	nop
.L445:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L451
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
.L451:
	add	DWORD PTR -28[rbp], 1
.L444:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L452
	mov	DWORD PTR -28[rbp], 0
	jmp	.L453
.L460:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	ja	.L454
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L456[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L456[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L456:
	.long	.L454-.L456
	.long	.L459-.L456
	.long	.L458-.L456
	.long	.L457-.L456
	.long	.L455-.L456
	.long	.L459-.L456
	.long	.L458-.L456
	.long	.L457-.L456
	.long	.L455-.L456
	.text
.L459:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rsi, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	edx, DWORD PTR -24[rbp]
	mov	r8, rsi
	lea	rsi, .LC37[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L454
.L458:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	r12, QWORD PTR 24[rax]
	mov	ebx, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, ebx
	sub	eax, edx
	sub	eax, 9
	mov	ecx, eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	r9, r12
	lea	r8, .LC26[rip]
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L454
.L457:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	r12, QWORD PTR 24[rax]
	mov	ebx, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, ebx
	sub	eax, edx
	sub	eax, 6
	mov	ecx, eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	r9, r12
	lea	r8, .LC26[rip]
	lea	rsi, .LC39[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L454
.L455:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	r12, QWORD PTR 24[rax]
	mov	ebx, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, ebx
	sub	eax, edx
	sub	eax, 8
	mov	ecx, eax
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR errstream[rip]
	mov	r9, r12
	lea	r8, .LC26[rip]
	lea	rsi, .LC40[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
.L454:
	add	DWORD PTR -28[rbp], 1
.L453:
	mov	rdx, QWORD PTR op[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L460
	nop
	nop
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	OptPrint, .-OptPrint
	.section	.rodata
	.align 8
.LC41:
	.string	"There is not prior rule opon which to attach the code fragment which begins on this line."
	.align 8
.LC42:
	.string	"Code fragment beginning on this line is not the first to follow the previous rule."
	.align 8
.LC43:
	.string	"Token \"%s\" should be either \"%%\" or a nonterminal name."
	.align 8
.LC44:
	.string	"The precedence symbol must be a terminal."
	.align 8
.LC45:
	.string	"There is no prior rule to assign precedence \"[%s]\"."
	.align 8
.LC46:
	.string	"Precedence mark on this line is not the first to follow the previous rule."
	.align 8
.LC47:
	.string	"Missing \"]\" on precedence mark."
	.align 8
.LC48:
	.string	"Expected to see a \":\" following the LHS symbol \"%s\"."
	.align 8
.LC49:
	.string	"\"%s\" is not a valid alias for the LHS \"%s\"\n"
	.align 8
.LC50:
	.string	"Missing \")\" following LHS alias name \"%s\"."
	.align 8
.LC51:
	.string	"Missing \"->\" following: \"%s(%s)\"."
	.align 8
.LC52:
	.string	"Can't allocate enough memory for this rule."
	.align 8
.LC53:
	.string	"Too many symbol on RHS or rule beginning at \"%s\"."
	.align 8
.LC54:
	.string	"Illegal character on RHS of rule: \"%s\"."
	.align 8
.LC55:
	.string	"\"%s\" is not a valid alias for the RHS symbol \"%s\"\n"
.LC56:
	.string	"name"
.LC57:
	.string	"include"
.LC58:
	.string	"code"
.LC59:
	.string	"token_destructor"
.LC60:
	.string	"default_destructor"
.LC61:
	.string	"token_prefix"
.LC62:
	.string	"syntax_error"
.LC63:
	.string	"parse_accept"
.LC64:
	.string	"parse_failure"
.LC65:
	.string	"stack_overflow"
.LC66:
	.string	"extra_argument"
.LC67:
	.string	"token_type"
.LC68:
	.string	"default_type"
.LC69:
	.string	"stack_size"
.LC70:
	.string	"start_symbol"
.LC71:
	.string	"left"
.LC72:
	.string	"right"
.LC73:
	.string	"nonassoc"
.LC74:
	.string	"destructor"
.LC75:
	.string	"type"
.LC76:
	.string	"fallback"
	.align 8
.LC77:
	.string	"Unknown declaration keyword: \"%%%s\"."
	.align 8
.LC78:
	.string	"Illegal declaration keyword: \"%s\"."
	.align 8
.LC79:
	.string	"Symbol name missing after %destructor keyword"
	.align 8
.LC80:
	.string	"Symbol \"%s\" has already be given a precedence."
	.align 8
.LC81:
	.string	"Can't assign a precedence to \"%s\"."
	.align 8
.LC82:
	.string	"The argument \"%s\" to declaration \"%%%s\" is not the first."
.LC83:
	.string	"Illegal argument to %%%s: %s"
	.align 8
.LC84:
	.string	"%%fallback argument \"%s\" should be a token"
	.align 8
.LC85:
	.string	"More than one fallback assigned to token %s"
	.text
	.type	parseonetoken, @function
parseonetoken:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	mov	eax, 0
	call	Strsafe
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 18
	ja	.L567
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L464[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L464[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L464:
	.long	.L481-.L464
	.long	.L480-.L464
	.long	.L479-.L464
	.long	.L478-.L464
	.long	.L477-.L464
	.long	.L476-.L464
	.long	.L475-.L464
	.long	.L474-.L464
	.long	.L473-.L464
	.long	.L472-.L464
	.long	.L471-.L464
	.long	.L470-.L464
	.long	.L469-.L464
	.long	.L468-.L464
	.long	.L467-.L464
	.long	.L467-.L464
	.long	.L466-.L464
	.long	.L465-.L464
	.long	.L463-.L464
	.text
.L481:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16072[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16108[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16120[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 16120[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16112[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR 20[rax], 0
.L480:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L482
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 2
	jmp	.L462
.L482:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L484
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 48[rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 5
	jmp	.L462
.L484:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L485
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16072[rax]
	test	rax, rax
	jne	.L486
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC41[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L486:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16072[rax]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L487
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC42[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L487:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16072[rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 8[rdx]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16072[rax]
	mov	rdx, QWORD PTR -64[rbp]
	add	rdx, 1
	mov	QWORD PTR 48[rax], rdx
	jmp	.L462
.L485:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L488
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 12
	jmp	.L462
.L488:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC43[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L469:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L489
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC44[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L490
.L489:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16072[rax]
	test	rax, rax
	jne	.L491
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC45[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L490
.L491:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16072[rax]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L492
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC46[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L490
.L492:
	mov	rax, QWORD PTR -88[rbp]
	mov	rbx, QWORD PTR 16072[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	QWORD PTR 56[rbx], rax
.L490:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 13
	jmp	.L462
.L468:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L493
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC47[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
.L493:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L462
.L476:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L494
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L494
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L494
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 6
	jmp	.L462
.L494:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L496
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 7
	jmp	.L462
.L496:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L474:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L497
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 8
	jmp	.L462
.L497:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L473:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L499
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 9
	jmp	.L462
.L499:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC50[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L472:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L501
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L501
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L501
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 6
	jmp	.L462
.L501:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L475:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L503
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	cdqe
	sal	rax, 4
	add	rax, 88
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L504
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC52[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16072[rax], 0
	jmp	.L505
.L504:
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 88[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	DWORD PTR -68[rbp], 0
	jmp	.L506
.L507:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	movsx	rcx, ecx
	add	rcx, 8
	mov	rax, QWORD PTR 8[rax+rcx*8]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR -68[rbp]
	movsx	rcx, ecx
	add	rcx, 1008
	mov	rax, QWORD PTR 8[rax+rcx*8]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -68[rbp], 1
.L506:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	DWORD PTR -68[rbp], eax
	jl	.L507
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 20[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 20[rax], ecx
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 80[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16112[rax]
	test	rax, rax
	jne	.L508
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16120[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 16120[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16112[rax], rdx
	jmp	.L509
.L508:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16120[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16120[rax], rdx
.L509:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16072[rax], rdx
.L505:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L462
.L503:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L511
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	eax, 999
	jle	.L512
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC53[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L512:
	mov	rax, QWORD PTR -88[rbp]
	mov	ebx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	rdx, QWORD PTR -88[rbp]
	movsx	rcx, ebx
	add	rcx, 8
	mov	QWORD PTR 8[rdx+rcx*8], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -88[rbp]
	movsx	rdx, edx
	add	rdx, 1008
	mov	QWORD PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L462
.L511:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L513
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	jle	.L513
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 10
	jmp	.L462
.L513:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC54[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L471:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L514
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -88[rbp]
	movsx	rdx, edx
	lea	rcx, 1008[rdx]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax+rcx*8], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 11
	jmp	.L462
.L514:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -88[rbp]
	movsx	rdx, edx
	add	rdx, 8
	mov	rax, QWORD PTR 8[rax+rdx*8]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC55[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L470:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L516
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 6
	jmp	.L462
.L516:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rdx
	lea	rdx, .LC50[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 14
	jmp	.L462
.L479:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L518
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 16080[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 3
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC56[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L519
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L519:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC57[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L521
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 112[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L521:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC58[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L522
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 184[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L522:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC59[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L523
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 200[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 208[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L523:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L524
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 216[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 224[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L524:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC61[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L525
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 248[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L525:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L526
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 120[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 128[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L526:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L527
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 176[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L527:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L528
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 152[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L528:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC65[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L529
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 136[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 144[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	jmp	.L462
.L529:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC66[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L530
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L530:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC67[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L531
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L531:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L532
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 80[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L532:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L533
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 96[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L533:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC70[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L534
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 88[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	jmp	.L462
.L534:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC71[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L535
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16108[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16104[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 4
	jmp	.L462
.L535:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L536
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16108[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16104[rax], 1
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 4
	jmp	.L462
.L536:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC73[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L537
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16108[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16104[rax], 2
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 4
	jmp	.L462
.L537:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC74[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L538
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 16
	jmp	.L462
.L538:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC75[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L539
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 17
	jmp	.L462
.L539:
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC76[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L540
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 18
	jmp	.L462
.L540:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC77[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L462
.L518:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC78[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L462
.L466:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L541
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC79[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L462
.L541:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 3
	jmp	.L462
.L465:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L543
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, .LC79[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L462
.L543:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16088[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16096[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 3
	jmp	.L462
.L477:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L545
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L462
.L545:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L547
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	js	.L548
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC80[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L548:
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 16108[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 16104[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L462
.L547:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC81[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L478:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	je	.L549
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L549
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L550
.L549:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16088[rax]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L551
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 16080[rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L552
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1
	jmp	.L553
.L552:
	mov	rax, QWORD PTR -64[rbp]
.L553:
	mov	rdx, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rdx]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rdi, QWORD PTR [rdx]
	mov	r8, rcx
	mov	rcx, rax
	lea	rdx, .LC82[rip]
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L559
.L551:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L555
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L556
.L555:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1
	jmp	.L557
.L556:
	mov	rax, QWORD PTR -64[rbp]
.L557:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 16088[rdx]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16096[rax]
	test	rax, rax
	je	.L558
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16096[rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 8[rdx]
	mov	DWORD PTR [rax], edx
.L558:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L559
.L550:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 16080[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC83[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 15
	jmp	.L462
.L559:
	jmp	.L462
.L463:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L560
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 1
	jmp	.L462
.L560:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L562
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC84[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L562:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_new
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L563
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rax], rdx
	jmp	.L462
.L563:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L564
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	lea	rdx, .LC85[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L462
.L564:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR 268[rax], 1
	jmp	.L462
.L467:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L565
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 1
.L565:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L568
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 32[rax], 2
.L568:
	nop
.L462:
.L567:
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	parseonetoken, .-parseonetoken
	.section	.rodata
.LC86:
	.string	"%endif"
.LC87:
	.string	"%ifdef"
.LC88:
	.string	"%ifndef"
	.align 8
.LC89:
	.string	"unterminated %%ifdef starting on line %d\n"
	.text
	.type	preprocess_input, @function
preprocess_input:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -8[rbp], 1
	mov	DWORD PTR -32[rbp], 0
	jmp	.L570
.L599:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L571
	add	DWORD PTR -8[rbp], 1
.L571:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L601
	cmp	DWORD PTR -32[rbp], 0
	jle	.L573
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L601
.L573:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, 6
	lea	rsi, .LC86[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L575
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rcx, 6[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L575
	cmp	DWORD PTR -16[rbp], 0
	je	.L576
	sub	DWORD PTR -16[rbp], 1
	cmp	DWORD PTR -16[rbp], 0
	jne	.L576
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L577
.L579:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L578
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
.L578:
	add	DWORD PTR -28[rbp], 1
.L577:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L579
.L576:
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L580
.L582:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -28[rbp], 1
.L580:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L602
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L582
	jmp	.L602
.L575:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, 6
	lea	rsi, .LC87[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L583
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rcx, 6[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L584
.L583:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, 7
	lea	rsi, .LC88[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L574
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rcx, 7[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L574
.L584:
	cmp	DWORD PTR -16[rbp], 0
	je	.L585
	add	DWORD PTR -16[rbp], 1
	jmp	.L586
.L585:
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 7
	mov	DWORD PTR -28[rbp], eax
	jmp	.L587
.L588:
	add	DWORD PTR -28[rbp], 1
.L587:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L588
	mov	DWORD PTR -20[rbp], 0
	jmp	.L589
.L591:
	add	DWORD PTR -20[rbp], 1
.L589:
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L590
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, ecx
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L591
.L590:
	mov	DWORD PTR -16[rbp], 1
	mov	DWORD PTR -24[rbp], 0
	jmp	.L592
.L595:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rcx, rax
	mov	rsi, QWORD PTR azDefine[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L593
	mov	rdx, QWORD PTR azDefine[rip]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	cmp	rax, rdx
	jne	.L593
	mov	DWORD PTR -16[rbp], 0
	jmp	.L594
.L593:
	add	DWORD PTR -24[rbp], 1
.L592:
	mov	eax, DWORD PTR nDefine[rip]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L595
.L594:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 110
	jne	.L596
	cmp	DWORD PTR -16[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
.L596:
	cmp	DWORD PTR -16[rbp], 0
	je	.L586
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
.L586:
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L597
.L598:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -28[rbp], 1
.L597:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L574
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L598
	jmp	.L574
.L601:
	nop
	jmp	.L574
.L602:
	nop
.L574:
	add	DWORD PTR -32[rbp], 1
.L570:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L599
	cmp	DWORD PTR -16[rbp], 0
	je	.L603
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -4[rbp]
	lea	rsi, .LC89[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L603:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	preprocess_input, .-preprocess_input
	.section	.rodata
.LC90:
	.string	"rb"
	.align 8
.LC91:
	.string	"Can't open this file for reading."
	.align 8
.LC92:
	.string	"Can't allocate %d of memory to hold this file."
	.align 8
.LC93:
	.string	"Can't read in all %d bytes of this file."
	.align 8
.LC94:
	.string	"String starting on this line is not terminated before the end of the file."
	.align 8
.LC95:
	.string	"C code starting on this line is not terminated before the end of the file."
	.text
	.globl	Parse
	.type	Parse, @function
Parse:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 3936
	mov	QWORD PTR -16216[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -16192[rbp], 0
	mov	rax, QWORD PTR -16216[rbp]
	mov	QWORD PTR -16120[rbp], rax
	mov	rax, QWORD PTR -16216[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	QWORD PTR -16144[rbp], rax
	mov	DWORD PTR -16132[rbp], 0
	mov	DWORD PTR -16112[rbp], 0
	mov	rax, QWORD PTR -16144[rbp]
	lea	rsi, .LC90[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -16160[rbp], rax
	cmp	QWORD PTR -16160[rbp], 0
	jne	.L605
	mov	rax, QWORD PTR -16144[rbp]
	lea	rdx, .LC91[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -16216[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16216[rbp]
	mov	DWORD PTR 40[rax], edx
	jmp	.L604
.L605:
	mov	rax, QWORD PTR -16160[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	rax, QWORD PTR -16160[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	DWORD PTR -16188[rbp], eax
	mov	rax, QWORD PTR -16160[rbp]
	mov	rdi, rax
	call	rewind@PLT
	mov	eax, DWORD PTR -16188[rbp]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16152[rbp], rax
	cmp	QWORD PTR -16152[rbp], 0
	jne	.L607
	mov	eax, DWORD PTR -16188[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16144[rbp]
	mov	ecx, edx
	lea	rdx, .LC92[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -16216[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16216[rbp]
	mov	DWORD PTR 40[rax], edx
	jmp	.L604
.L607:
	mov	eax, DWORD PTR -16188[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -16160[rbp]
	mov	rax, QWORD PTR -16152[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	edx, DWORD PTR -16188[rbp]
	movsx	rdx, edx
	cmp	rax, rdx
	je	.L608
	mov	rax, QWORD PTR -16144[rbp]
	mov	edx, DWORD PTR -16188[rbp]
	mov	ecx, edx
	lea	rdx, .LC93[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -16152[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -16216[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16216[rbp]
	mov	DWORD PTR 40[rax], edx
	jmp	.L604
.L608:
	mov	rax, QWORD PTR -16160[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -16188[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16152[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -16152[rbp]
	mov	rdi, rax
	call	preprocess_input
	mov	DWORD PTR -16208[rbp], 1
	mov	rax, QWORD PTR -16152[rbp]
	mov	QWORD PTR -16176[rbp], rax
	jmp	.L609
.L659:
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L610
	add	DWORD PTR -16208[rbp], 1
.L610:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16184[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L611
	add	QWORD PTR -16176[rbp], 1
	jmp	.L609
.L611:
	cmp	DWORD PTR -16184[rbp], 47
	jne	.L612
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L612
	add	QWORD PTR -16176[rbp], 2
	jmp	.L613
.L615:
	add	QWORD PTR -16176[rbp], 1
.L613:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L609
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L615
	jmp	.L609
.L612:
	cmp	DWORD PTR -16184[rbp], 47
	jne	.L616
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L616
	add	QWORD PTR -16176[rbp], 2
	jmp	.L617
.L620:
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L618
	add	DWORD PTR -16208[rbp], 1
.L618:
	add	QWORD PTR -16176[rbp], 1
.L617:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L619
	cmp	DWORD PTR -16184[rbp], 47
	jne	.L620
	mov	rax, QWORD PTR -16176[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L620
.L619:
	cmp	DWORD PTR -16184[rbp], 0
	je	.L609
	add	QWORD PTR -16176[rbp], 1
	jmp	.L609
.L616:
	mov	rax, QWORD PTR -16176[rbp]
	mov	QWORD PTR -16128[rbp], rax
	mov	eax, DWORD PTR -16208[rbp]
	mov	DWORD PTR -16136[rbp], eax
	cmp	DWORD PTR -16184[rbp], 34
	jne	.L622
	add	QWORD PTR -16176[rbp], 1
	jmp	.L623
.L626:
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L624
	add	DWORD PTR -16208[rbp], 1
.L624:
	add	QWORD PTR -16176[rbp], 1
.L623:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L625
	cmp	DWORD PTR -16184[rbp], 34
	jne	.L626
.L625:
	cmp	DWORD PTR -16184[rbp], 0
	jne	.L627
	mov	rax, QWORD PTR -16144[rbp]
	mov	ecx, DWORD PTR -16192[rbp]
	lea	rdx, .LC94[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	eax, DWORD PTR -16132[rbp]
	add	eax, 1
	mov	DWORD PTR -16132[rbp], eax
	mov	rax, QWORD PTR -16176[rbp]
	mov	QWORD PTR -16168[rbp], rax
	jmp	.L628
.L627:
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	mov	QWORD PTR -16168[rbp], rax
	jmp	.L628
.L622:
	cmp	DWORD PTR -16184[rbp], 123
	jne	.L629
	add	QWORD PTR -16176[rbp], 1
	mov	DWORD PTR -16204[rbp], 1
	jmp	.L630
.L652:
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L631
	add	DWORD PTR -16208[rbp], 1
	jmp	.L632
.L631:
	cmp	DWORD PTR -16184[rbp], 123
	jne	.L633
	add	DWORD PTR -16204[rbp], 1
	jmp	.L632
.L633:
	cmp	DWORD PTR -16184[rbp], 125
	jne	.L634
	sub	DWORD PTR -16204[rbp], 1
	jmp	.L632
.L634:
	cmp	DWORD PTR -16184[rbp], 47
	jne	.L635
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L635
	add	QWORD PTR -16176[rbp], 2
	mov	DWORD PTR -16200[rbp], 0
	jmp	.L636
.L639:
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L637
	add	DWORD PTR -16208[rbp], 1
.L637:
	mov	eax, DWORD PTR -16184[rbp]
	mov	DWORD PTR -16200[rbp], eax
	add	QWORD PTR -16176[rbp], 1
.L636:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L662
	cmp	DWORD PTR -16184[rbp], 47
	jne	.L639
	cmp	DWORD PTR -16200[rbp], 42
	jne	.L639
	jmp	.L662
.L635:
	cmp	DWORD PTR -16184[rbp], 47
	jne	.L640
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L640
	add	QWORD PTR -16176[rbp], 2
	jmp	.L641
.L643:
	add	QWORD PTR -16176[rbp], 1
.L641:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L642
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L643
.L642:
	cmp	DWORD PTR -16184[rbp], 0
	je	.L632
	add	DWORD PTR -16208[rbp], 1
	jmp	.L632
.L640:
	cmp	DWORD PTR -16184[rbp], 39
	je	.L645
	cmp	DWORD PTR -16184[rbp], 34
	jne	.L632
.L645:
	mov	eax, DWORD PTR -16184[rbp]
	mov	DWORD PTR -16180[rbp], eax
	mov	DWORD PTR -16196[rbp], 0
	add	QWORD PTR -16176[rbp], 1
	jmp	.L646
.L650:
	cmp	DWORD PTR -16184[rbp], 10
	jne	.L647
	add	DWORD PTR -16208[rbp], 1
.L647:
	cmp	DWORD PTR -16196[rbp], 92
	jne	.L648
	mov	DWORD PTR -16196[rbp], 0
	jmp	.L649
.L648:
	mov	eax, DWORD PTR -16184[rbp]
	mov	DWORD PTR -16196[rbp], eax
.L649:
	add	QWORD PTR -16176[rbp], 1
.L646:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L632
	mov	eax, DWORD PTR -16184[rbp]
	cmp	eax, DWORD PTR -16180[rbp]
	jne	.L650
	cmp	DWORD PTR -16196[rbp], 92
	je	.L650
	jmp	.L632
.L662:
	nop
.L632:
	add	QWORD PTR -16176[rbp], 1
.L630:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L651
	cmp	DWORD PTR -16204[rbp], 1
	jg	.L652
	cmp	DWORD PTR -16184[rbp], 125
	jne	.L652
.L651:
	cmp	DWORD PTR -16184[rbp], 0
	jne	.L653
	mov	ecx, DWORD PTR -16136[rbp]
	mov	rax, QWORD PTR -16144[rbp]
	lea	rdx, .LC95[rip]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	eax, DWORD PTR -16132[rbp]
	add	eax, 1
	mov	DWORD PTR -16132[rbp], eax
	mov	rax, QWORD PTR -16176[rbp]
	mov	QWORD PTR -16168[rbp], rax
	jmp	.L628
.L653:
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	mov	QWORD PTR -16168[rbp], rax
	jmp	.L628
.L629:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16184[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L654
	jmp	.L655
.L657:
	add	QWORD PTR -16176[rbp], 1
.L655:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	je	.L656
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16184[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L657
	cmp	DWORD PTR -16184[rbp], 95
	je	.L657
.L656:
	mov	rax, QWORD PTR -16176[rbp]
	mov	QWORD PTR -16168[rbp], rax
	jmp	.L628
.L654:
	cmp	DWORD PTR -16184[rbp], 58
	jne	.L658
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L658
	mov	rax, QWORD PTR -16176[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L658
	add	QWORD PTR -16176[rbp], 3
	mov	rax, QWORD PTR -16176[rbp]
	mov	QWORD PTR -16168[rbp], rax
	jmp	.L628
.L658:
	add	QWORD PTR -16176[rbp], 1
	mov	rax, QWORD PTR -16176[rbp]
	mov	QWORD PTR -16168[rbp], rax
.L628:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	mov	rax, QWORD PTR -16176[rbp]
	mov	BYTE PTR [rax], 0
	lea	rax, -16144[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	parseonetoken
	mov	eax, DWORD PTR -16184[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16176[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16168[rbp]
	mov	QWORD PTR -16176[rbp], rax
.L609:
	mov	rax, QWORD PTR -16176[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -16184[rbp], eax
	cmp	DWORD PTR -16184[rbp], 0
	jne	.L659
	mov	rax, QWORD PTR -16152[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16216[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR -16132[rbp]
	mov	rax, QWORD PTR -16216[rbp]
	mov	DWORD PTR 40[rax], edx
.L604:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L661
	call	__stack_chk_fail@PLT
.L661:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	Parse, .-Parse
	.local	plink_freelist
	.comm	plink_freelist,8,8
	.section	.rodata
	.align 8
.LC96:
	.string	"Unable to allocate memory for a new follow-set propagation link.\n"
	.text
	.globl	Plink_new
	.type	Plink_new, @function
Plink_new:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR plink_freelist[rip]
	test	rax, rax
	jne	.L664
	mov	DWORD PTR -12[rbp], 100
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR plink_freelist[rip], rax
	mov	rax, QWORD PTR plink_freelist[rip]
	test	rax, rax
	jne	.L665
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 65
	mov	esi, 1
	lea	rdi, .LC96[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L665:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L666
.L667:
	mov	rdx, QWORD PTR plink_freelist[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rsi, rax
	mov	rcx, QWORD PTR plink_freelist[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	add	rdx, rsi
	mov	QWORD PTR 8[rax], rdx
	add	DWORD PTR -16[rbp], 1
.L666:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L667
	mov	rdx, QWORD PTR plink_freelist[rip]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	QWORD PTR 8[rax], 0
.L664:
	mov	rax, QWORD PTR plink_freelist[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR plink_freelist[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR plink_freelist[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	Plink_new, .-Plink_new
	.globl	Plink_add
	.type	Plink_add, @function
Plink_add:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, 0
	call	Plink_new
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	Plink_add, .-Plink_add
	.globl	Plink_copy
	.type	Plink_copy, @function
Plink_copy:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	jmp	.L671
.L672:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
.L671:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L672
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	Plink_copy, .-Plink_copy
	.globl	Plink_delete
	.type	Plink_delete, @function
Plink_delete:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	jmp	.L674
.L675:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR plink_freelist[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR plink_freelist[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L674:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L675
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	Plink_delete, .-Plink_delete
	.section	.rodata
	.align 8
.LC97:
	.string	"Can't allocate space for a filename.\n"
	.text
	.globl	file_makename
	.type	file_makename, @function
file_makename:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	add	rax, 5
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L677
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 37
	mov	esi, 1
	lea	rdi, .LC97[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L677:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 46
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L678
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
.L678:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	file_makename, .-file_makename
	.section	.rodata
.LC98:
	.string	"Can't open file \"%s\".\n"
	.text
	.globl	file_open
	.type	file_open, @function
file_open:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 240[rax]
	test	rax, rax
	je	.L681
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 240[rax]
	mov	rdi, rax
	call	free@PLT
.L681:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	file_makename
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 240[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 240[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L682
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 119
	jne	.L682
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC98[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	eax, 0
	jmp	.L683
.L682:
	mov	rax, QWORD PTR -8[rbp]
.L683:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	file_open, .-file_open
	.section	.rodata
	.align 8
.LC99:
	.string	"// Reprint of input file \"%s\".\n// Symbols:\n"
.LC100:
	.string	"//"
.LC101:
	.string	" %3d %-*.*s"
.LC102:
	.string	"%s"
.LC103:
	.string	" ::="
.LC104:
	.string	" [%s]"
	.text
	.globl	Reprint
	.type	Reprint, @function
Reprint:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rsi, rax
	lea	rdi, .LC99[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -32[rbp], 10
	mov	DWORD PTR -40[rbp], 0
	jmp	.L685
.L687:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jle	.L686
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -32[rbp], eax
.L686:
	add	DWORD PTR -40[rbp], 1
.L685:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -40[rbp], eax
	jl	.L687
	mov	eax, DWORD PTR -32[rbp]
	lea	ecx, 5[rax]
	mov	eax, 76
	cdq
	idiv	ecx
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jg	.L688
	mov	DWORD PTR -28[rbp], 1
.L688:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	sub	eax, 1
	cdq
	idiv	DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L689
.L693:
	lea	rdi, .LC100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L690
.L692:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -36[rbp], eax
	je	.L691
	mov	esi, 2652
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L691:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	ecx, DWORD PTR -32[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	r8, rsi
	mov	esi, eax
	lea	rdi, .LC101[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -24[rbp]
	add	DWORD PTR -36[rbp], eax
.L690:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L692
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -40[rbp], 1
.L689:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L693
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L694
.L698:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC102[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC103[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -40[rbp], 0
	jmp	.L695
.L696:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -40[rbp], 1
.L695:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -40[rbp], eax
	jl	.L696
	mov	edi, 46
	call	putchar@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L697
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC104[rip]
	mov	eax, 0
	call	printf@PLT
.L697:
	mov	edi, 10
	call	putchar@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
.L694:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L698
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	Reprint, .-Reprint
	.section	.rodata
.LC105:
	.string	"%s ::="
.LC106:
	.string	" *"
	.text
	.globl	ConfigPrint
	.type	ConfigPrint, @function
ConfigPrint:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC105[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -12[rbp], 0
	jmp	.L700
.L704:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L701
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC106[rip]
	call	fwrite@PLT
.L701:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -12[rbp], eax
	je	.L705
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -12[rbp], 1
.L700:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L704
	jmp	.L706
.L705:
	nop
.L706:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	ConfigPrint, .-ConfigPrint
	.section	.rodata
.LC107:
	.string	"%*s shift  %d"
.LC108:
	.string	"%*s reduce %d"
.LC109:
	.string	"%*s accept"
.LC110:
	.string	"%*s error"
	.align 8
.LC111:
	.string	"%*s reduce %-3d ** Parsing conflict **"
	.text
	.globl	PrintAction
	.type	PrintAction, @function
PrintAction:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 7
	ja	.L708
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L710[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L710[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L710:
	.long	.L715-.L710
	.long	.L714-.L710
	.long	.L713-.L710
	.long	.L712-.L710
	.long	.L711-.L710
	.long	.L709-.L710
	.long	.L709-.L710
	.long	.L709-.L710
	.text
.L715:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8d, esi
	lea	rsi, .LC107[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L708
.L713:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8d, esi
	lea	rsi, .LC108[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L708
.L714:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC109[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L708
.L712:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC110[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L708
.L711:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8d, esi
	lea	rsi, .LC111[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L708
.L709:
	mov	DWORD PTR -4[rbp], 0
	nop
.L708:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	PrintAction, .-PrintAction
	.section	.rodata
.LC112:
	.string	"w"
.LC113:
	.string	".out"
.LC114:
	.string	" \b"
.LC115:
	.string	"State %d:\n"
.LC116:
	.string	"(%d)"
.LC117:
	.string	"    %5s "
.LC118:
	.string	"          "
	.text
	.globl	ReportOutput
	.type	ReportOutput, @function
ReportOutput:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, .LC112[rip]
	lea	rsi, .LC113[rip]
	mov	rdi, rax
	mov	eax, 0
	call	file_open
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L734
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC114[rip]
	call	fwrite@PLT
	mov	DWORD PTR -68[rbp], 0
	jmp	.L720
.L732:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC115[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 264[rax]
	test	eax, eax
	je	.L721
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L723
.L721:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L723
.L728:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 20[rax]
	cmp	edx, eax
	jne	.L724
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 64[rax]
	lea	rax, -32[rbp]
	lea	rsi, .LC116[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC117[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L725
.L724:
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC118[rip]
	call	fwrite@PLT
.L725:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	ConfigPrint
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 264[rax]
	test	eax, eax
	je	.L726
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L723
.L726:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -64[rbp], rax
.L723:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L728
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L729
.L731:
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 30
	mov	rsi, rcx
	mov	rdi, rax
	call	PrintAction
	test	eax, eax
	je	.L730
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
.L730:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
.L729:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L731
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	add	DWORD PTR -68[rbp], 1
.L720:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -68[rbp], eax
	jl	.L732
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L717
.L734:
	nop
.L717:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L733
	call	__stack_chk_fail@PLT
.L733:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	ReportOutput, .-ReportOutput
	.section	.rodata
.LC119:
	.string	"%s/%s"
.LC120:
	.string	"PATH"
.LC121:
	.string	".:/bin:/usr/bin"
	.text
	.globl	pathsearch
	.type	pathsearch, @function
pathsearch:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L736
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -41[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	add	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L737
	mov	rcx, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC119[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
.L737:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -41[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L738
.L736:
	lea	rdi, .LC120[rip]
	call	getenv@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L739
	lea	rax, .LC121[rip]
	mov	QWORD PTR -40[rbp], rax
.L739:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	add	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L738
	jmp	.L740
.L744:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 58
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L741
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
.L741:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -41[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	rcx, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC119[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -41[rbp]
	mov	BYTE PTR [rax], dl
	cmp	BYTE PTR -41[rbp], 0
	jne	.L742
	lea	rax, .LC26[rip]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L743
.L742:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
.L743:
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	je	.L746
.L740:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L744
	jmp	.L738
.L746:
	nop
.L738:
	mov	rax, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	pathsearch, .-pathsearch
	.globl	compute_action
	.type	compute_action, @function
compute_action:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L748
	cmp	eax, 3
	ja	.L749
	cmp	eax, 2
	je	.L750
	cmp	eax, 2
	ja	.L749
	test	eax, eax
	je	.L751
	cmp	eax, 1
	je	.L752
	jmp	.L749
.L751:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L753
.L750:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	jmp	.L753
.L748:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	jmp	.L753
.L752:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	jmp	.L753
.L749:
	mov	DWORD PTR -4[rbp], -1
	nop
.L753:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	compute_action, .-compute_action
	.section	.rodata
.LC122:
	.string	"Parse"
.LC123:
	.string	"%.*s"
	.text
	.globl	tplt_xfer
	.type	tplt_xfer, @function
tplt_xfer:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	QWORD PTR -1032[rbp], rdi
	mov	QWORD PTR -1040[rbp], rsi
	mov	QWORD PTR -1048[rbp], rdx
	mov	QWORD PTR -1056[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L756
.L764:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -1012[rbp], 0
	cmp	QWORD PTR -1032[rbp], 0
	je	.L757
	mov	DWORD PTR -1016[rbp], 0
	jmp	.L758
.L762:
	mov	eax, DWORD PTR -1016[rbp]
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	cmp	al, 80
	jne	.L759
	lea	rdx, -1008[rbp]
	mov	eax, DWORD PTR -1016[rbp]
	cdqe
	add	rax, rdx
	mov	edx, 5
	lea	rsi, .LC122[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L759
	cmp	DWORD PTR -1016[rbp], 0
	je	.L760
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1016[rbp]
	sub	eax, 1
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	jne	.L759
.L760:
	mov	eax, DWORD PTR -1016[rbp]
	cmp	eax, DWORD PTR -1012[rbp]
	jle	.L761
	lea	rdx, -1008[rbp]
	mov	eax, DWORD PTR -1012[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -1016[rbp]
	sub	eax, DWORD PTR -1012[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -1048[rbp]
	lea	rsi, .LC123[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L761:
	mov	rdx, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR -1032[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	add	DWORD PTR -1016[rbp], 4
	mov	eax, DWORD PTR -1016[rbp]
	add	eax, 1
	mov	DWORD PTR -1012[rbp], eax
.L759:
	add	DWORD PTR -1016[rbp], 1
.L758:
	mov	eax, DWORD PTR -1016[rbp]
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	test	al, al
	jne	.L762
.L757:
	lea	rdx, -1008[rbp]
	mov	eax, DWORD PTR -1012[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -1048[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	fputs@PLT
.L756:
	mov	rdx, QWORD PTR -1040[rbp]
	lea	rax, -1008[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	je	.L766
	movzx	eax, BYTE PTR -1008[rbp]
	cmp	al, 37
	jne	.L764
	movzx	eax, BYTE PTR -1007[rbp]
	cmp	al, 37
	jne	.L764
.L766:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L765
	call	__stack_chk_fail@PLT
.L765:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	tplt_xfer, .-tplt_xfer
	.section	.rodata
.LC124:
	.string	"%.*s.lt"
.LC125:
	.string	"%s.lt"
	.align 8
.LC126:
	.string	"Can't find the parser driver template file \"%s\".\n"
.LC127:
	.string	"r"
	.align 8
.LC128:
	.string	"Can't open the template file \"%s\".\n"
	.text
	.globl	tplt_open
	.type	tplt_open, @function
tplt_open:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	QWORD PTR -1048[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	esi, 46
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -1024[rbp], rax
	cmp	QWORD PTR -1024[rbp], 0
	je	.L768
	mov	rax, QWORD PTR -1048[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	rcx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -1024[rbp]
	sub	rax, rcx
	mov	esi, eax
	lea	rax, -1008[rbp]
	mov	rcx, rdx
	mov	edx, esi
	lea	rsi, .LC124[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	jmp	.L769
.L768:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rdx, QWORD PTR 232[rax]
	lea	rax, -1008[rbp]
	lea	rsi, .LC125[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
.L769:
	lea	rax, -1008[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	jne	.L770
	lea	rax, -1008[rbp]
	mov	QWORD PTR -1032[rbp], rax
	jmp	.L771
.L770:
	mov	esi, 4
	lea	rdi, templatename.3[rip]
	call	access@PLT
	test	eax, eax
	jne	.L772
	lea	rax, templatename.3[rip]
	mov	QWORD PTR -1032[rbp], rax
	jmp	.L771
.L772:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 272[rax]
	mov	edx, 0
	lea	rsi, templatename.3[rip]
	mov	rdi, rax
	mov	eax, 0
	call	pathsearch
	mov	QWORD PTR -1032[rbp], rax
.L771:
	cmp	QWORD PTR -1032[rbp], 0
	jne	.L773
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, templatename.3[rip]
	lea	rsi, .LC126[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	eax, 0
	jmp	.L776
.L773:
	mov	rax, QWORD PTR -1032[rbp]
	lea	rsi, .LC127[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1016[rbp], rax
	cmp	QWORD PTR -1016[rbp], 0
	jne	.L775
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, templatename.3[rip]
	lea	rsi, .LC128[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	eax, 0
	jmp	.L776
.L775:
	mov	rax, QWORD PTR -1016[rbp]
.L776:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L777
	call	__stack_chk_fail@PLT
.L777:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	tplt_open, .-tplt_open
	.section	.rodata
.LC129:
	.string	"#line %d \"%s\"\n"
.LC130:
	.string	"\n#line %d \"%s\"\n"
	.text
	.globl	tplt_print
	.type	tplt_print, @function
tplt_print:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	QWORD PTR -40[rbp], r8
	cmp	QWORD PTR -24[rbp], 0
	je	.L784
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 232[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC129[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L781
.L783:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L782
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L782:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	add	QWORD PTR -24[rbp], 1
.L781:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L783
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	lea	esi, 2[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rdx
	mov	edx, esi
	lea	rsi, .LC130[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L778
.L784:
	nop
.L778:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	tplt_print, .-tplt_print
	.section	.rodata
.LC131:
	.string	"#line %d \"%s\"\n{"
.LC132:
	.string	"(yypminor->yy%d)"
.LC133:
	.string	"}\n#line %d \"%s\"\n"
	.text
	.globl	emit_destructor_code
	.type	emit_destructor_code, @function
emit_destructor_code:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -8[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L786
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 200[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L798
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 208[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC131[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L793
.L786:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L790
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC131[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L793
.L790:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 216[rax]
	test	rax, rax
	je	.L791
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 216[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L799
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 224[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC131[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L793
.L791:
	mov	esi, 2983
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
	jmp	.L793
.L797:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L794
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L794
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC132[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	QWORD PTR -8[rbp], 1
	jmp	.L795
.L794:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L796
	add	DWORD PTR -12[rbp], 1
.L796:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
.L795:
	add	QWORD PTR -8[rbp], 1
.L793:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L797
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 3
	add	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC133[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L785
.L798:
	nop
	jmp	.L785
.L799:
	nop
.L785:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	emit_destructor_code, .-emit_destructor_code
	.globl	has_destructor
	.type	has_destructor, @function
has_destructor:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L801
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 200[rax]
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	jmp	.L802
.L801:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 216[rax]
	test	rax, rax
	jne	.L803
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L804
.L803:
	mov	eax, 1
	jmp	.L805
.L804:
	mov	eax, 0
.L805:
	mov	DWORD PTR -4[rbp], eax
.L802:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	has_destructor, .-has_destructor
	.section	.rodata
.LC134:
	.string	"%d"
	.text
	.globl	append_str
	.type	append_str, @function
append_str:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	DWORD PTR -80[rbp], edx
	mov	DWORD PTR -84[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L808
	mov	DWORD PTR used.2[rip], 0
	mov	rax, QWORD PTR z.1[rip]
	jmp	.L817
.L808:
	cmp	DWORD PTR -76[rbp], 0
	jg	.L810
	cmp	DWORD PTR -76[rbp], 0
	jns	.L811
	mov	edx, DWORD PTR used.2[rip]
	mov	eax, DWORD PTR -76[rbp]
	add	eax, edx
	mov	DWORD PTR used.2[rip], eax
	mov	eax, DWORD PTR used.2[rip]
	test	eax, eax
	jns	.L811
	mov	esi, 3041
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L811:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -76[rbp], eax
.L810:
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR used.2[rip]
	cdqe
	add	rax, rdx
	lea	rdx, 80[rax]
	mov	eax, DWORD PTR alloced.0[rip]
	cdqe
	cmp	rdx, rax
	jb	.L812
	mov	edx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR used.2[rip]
	add	eax, edx
	add	eax, 280
	mov	DWORD PTR alloced.0[rip], eax
	mov	eax, DWORD PTR alloced.0[rip]
	movsx	rdx, eax
	mov	rax, QWORD PTR z.1[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR z.1[rip], rax
.L812:
	mov	rax, QWORD PTR z.1[rip]
	test	rax, rax
	jne	.L814
	lea	rax, .LC26[rip]
	jmp	.L817
.L816:
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -72[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 37
	jne	.L815
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 100
	jne	.L815
	mov	edx, DWORD PTR -80[rbp]
	lea	rax, -48[rbp]
	lea	rsi, .LC134[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	rdx, QWORD PTR z.1[rip]
	mov	eax, DWORD PTR used.2[rip]
	cdqe
	add	rdx, rax
	lea	rax, -48[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strcpy@PLT
	mov	rdx, QWORD PTR z.1[rip]
	mov	eax, DWORD PTR used.2[rip]
	cdqe
	add	rax, rdx
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR used.2[rip]
	add	eax, edx
	mov	DWORD PTR used.2[rip], eax
	add	QWORD PTR -72[rbp], 1
	sub	DWORD PTR -76[rbp], 1
	jmp	.L814
.L815:
	mov	rcx, QWORD PTR z.1[rip]
	mov	eax, DWORD PTR used.2[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR used.2[rip], edx
	cdqe
	add	rax, rcx
	mov	edx, DWORD PTR -52[rbp]
	mov	BYTE PTR [rax], dl
.L814:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	test	eax, eax
	jg	.L816
	mov	rdx, QWORD PTR z.1[rip]
	mov	eax, DWORD PTR used.2[rip]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR z.1[rip]
.L817:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L818
	call	__stack_chk_fail@PLT
.L818:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	append_str, .-append_str
	.section	.rodata
.LC135:
	.string	"yygotominor.yy%d"
.LC136:
	.string	"yymsp[%d].major"
.LC137:
	.string	"yymsp[%d].minor.yy%d"
	.align 8
.LC138:
	.string	"Label \"%s\" for \"%s(%s)\" is never used."
	.align 8
.LC139:
	.string	"Label %s for \"%s(%s)\" is never used."
	.align 8
.LC140:
	.string	"  yy_destructor(%d,&yymsp[%d].minor);\n"
	.text
	.globl	translate_code
	.type	translate_code, @function
translate_code:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1056
	mov	QWORD PTR -1048[rbp], rdi
	mov	QWORD PTR -1056[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	BYTE PTR -1030[rbp], 0
	mov	DWORD PTR -1028[rbp], 0
	jmp	.L820
.L821:
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	mov	BYTE PTR -1008[rbp+rax], 0
	add	DWORD PTR -1028[rbp], 1
.L820:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -1028[rbp], eax
	jl	.L821
	mov	BYTE PTR -1030[rbp], 0
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -1024[rbp], rax
	jmp	.L822
.L834:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1024[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L823
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 48[rax]
	cmp	QWORD PTR -1024[rbp], rax
	je	.L824
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1024[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L823
	mov	rax, QWORD PTR -1024[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L823
.L824:
	mov	rax, QWORD PTR -1024[rbp]
	add	rax, 1
	mov	QWORD PTR -1016[rbp], rax
	jmp	.L825
.L826:
	add	QWORD PTR -1016[rbp], 1
.L825:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L826
	mov	rax, QWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L826
	mov	rax, QWORD PTR -1016[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -1029[rbp], al
	mov	rax, QWORD PTR -1016[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L827
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -1024[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L827
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 80[rax]
	mov	ecx, 0
	mov	edx, eax
	mov	esi, 0
	lea	rdi, .LC135[rip]
	call	append_str
	mov	rax, QWORD PTR -1016[rbp]
	mov	QWORD PTR -1024[rbp], rax
	mov	BYTE PTR -1030[rbp], 1
	jmp	.L828
.L827:
	mov	DWORD PTR -1028[rbp], 0
	jmp	.L829
.L833:
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L830
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1024[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L830
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 48[rax]
	cmp	QWORD PTR -1024[rbp], rax
	je	.L831
	mov	rax, QWORD PTR -1024[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L831
	mov	rax, QWORD PTR -1056[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	eax, DWORD PTR -1028[rbp]
	sub	eax, edx
	add	eax, 1
	mov	ecx, 0
	mov	edx, eax
	mov	esi, -1
	lea	rdi, .LC136[rip]
	call	append_str
	jmp	.L832
.L831:
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 80[rax]
	mov	rdx, QWORD PTR -1056[rbp]
	mov	ecx, DWORD PTR 20[rdx]
	mov	edx, DWORD PTR -1028[rbp]
	sub	edx, ecx
	add	edx, 1
	mov	ecx, eax
	mov	esi, 0
	lea	rdi, .LC137[rip]
	call	append_str
.L832:
	mov	rax, QWORD PTR -1016[rbp]
	mov	QWORD PTR -1024[rbp], rax
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	mov	BYTE PTR -1008[rbp+rax], 1
	jmp	.L828
.L830:
	add	DWORD PTR -1028[rbp], 1
.L829:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -1028[rbp], eax
	jl	.L833
.L828:
	mov	rax, QWORD PTR -1016[rbp]
	movzx	edx, BYTE PTR -1029[rbp]
	mov	BYTE PTR [rax], dl
.L823:
	mov	rax, QWORD PTR -1024[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	append_str
	add	QWORD PTR -1024[rbp], 1
.L822:
	mov	rax, QWORD PTR -1024[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L834
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L835
	cmp	BYTE PTR -1030[rbp], 0
	jne	.L835
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	r9, rdi
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC138[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 40[rax], edx
.L835:
	mov	DWORD PTR -1028[rbp], 0
	jmp	.L836
.L839:
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L837
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	movzx	eax, BYTE PTR -1008[rbp+rax]
	test	al, al
	jne	.L837
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdi, QWORD PTR [rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	esi, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	r9, rdi
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC139[rip]
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -1048[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	DWORD PTR 40[rax], edx
	jmp	.L838
.L837:
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L838
	mov	rax, QWORD PTR -1056[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -1048[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	has_destructor
	test	eax, eax
	je	.L838
	mov	rax, QWORD PTR -1056[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	eax, DWORD PTR -1028[rbp]
	sub	eax, edx
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -1028[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	mov	ecx, edx
	mov	edx, eax
	mov	esi, 0
	lea	rdi, .LC140[rip]
	call	append_str
.L838:
	add	DWORD PTR -1028[rbp], 1
.L836:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -1028[rbp], eax
	jl	.L839
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	append_str
	mov	QWORD PTR -1024[rbp], rax
	mov	rax, QWORD PTR -1024[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Strsafe
	mov	rdx, QWORD PTR -1056[rbp]
	mov	QWORD PTR 48[rdx], rax
	nop
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L840
	call	__stack_chk_fail@PLT
.L840:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	translate_code, .-translate_code
	.globl	emit_code
	.type	emit_code, @function
emit_code:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L847
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC131[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L843
.L845:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L844
	add	DWORD PTR -12[rbp], 1
.L844:
	add	QWORD PTR -8[rbp], 1
.L843:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L845
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 3
	add	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 240[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC133[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
.L847:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	emit_code, .-emit_code
	.section	.rodata
.LC141:
	.string	"Out of memory.\n"
.LC142:
	.string	"#if INTERFACE\n"
.LC143:
	.string	"void*"
.LC144:
	.string	"#define %sTOKENTYPE %s\n"
.LC145:
	.string	"#endif\n"
.LC146:
	.string	"typedef union {\n"
.LC147:
	.string	"  %sTOKENTYPE yy0;\n"
.LC148:
	.string	"  %s yy%d;\n"
.LC149:
	.string	"  int yy%d;\n"
.LC150:
	.string	"} YYMINORTYPE;\n"
	.text
	.globl	print_stack_union
	.type	print_stack_union, @function
print_stack_union:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -124[rbp], ecx
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	eax, eax
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -84[rbp], 0
	jmp	.L849
.L850:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -84[rbp], 1
.L849:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L850
	mov	DWORD PTR -88[rbp], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L851
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -88[rbp], eax
.L851:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L852
.L855:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L889
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	jle	.L854
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -88[rbp], eax
	jmp	.L854
.L889:
	nop
.L854:
	add	DWORD PTR -84[rbp], 1
.L852:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L855
	mov	eax, DWORD PTR -88[rbp]
	add	eax, eax
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L856
	cmp	QWORD PTR -48[rbp], 0
	jne	.L857
.L856:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC141[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L857:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L858
.L878:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 48[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L859
	mov	eax, DWORD PTR -72[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L860
.L859:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L861
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L862
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	jne	.L862
.L861:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], 0
	jmp	.L860
.L862:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	jne	.L863
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -64[rbp], rax
.L863:
	mov	DWORD PTR -80[rbp], 0
	jmp	.L864
.L865:
	add	QWORD PTR -64[rbp], 1
.L864:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L865
	jmp	.L866
.L867:
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -64[rbp], rdx
	mov	edx, DWORD PTR -80[rbp]
	lea	ecx, 1[rdx]
	mov	DWORD PTR -80[rbp], ecx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -48[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
.L866:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L867
	jmp	.L868
.L870:
	sub	DWORD PTR -80[rbp], 1
.L868:
	cmp	DWORD PTR -80[rbp], 0
	jle	.L869
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L870
.L869:
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	jmp	.L871
.L872:
	mov	eax, DWORD PTR -76[rbp]
	imul	edx, eax, 53
	mov	eax, DWORD PTR -80[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, edx
	mov	DWORD PTR -76[rbp], eax
	add	DWORD PTR -80[rbp], 1
.L871:
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L872
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 2147483647
	cdq
	idiv	DWORD PTR -72[rbp]
	mov	DWORD PTR -76[rbp], edx
	jmp	.L873
.L876:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L874
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	jmp	.L875
.L874:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L873
	mov	DWORD PTR -76[rbp], 0
.L873:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L876
.L875:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L860
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L877
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC141[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L877:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
.L860:
	add	DWORD PTR -84[rbp], 1
.L858:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L878
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L879
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 56[rax]
	jmp	.L880
.L879:
	lea	rax, .LC122[rip]
.L880:
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -124[rbp], 0
	je	.L881
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC142[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
.L881:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L882
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 72[rax]
	jmp	.L883
.L882:
	lea	rax, .LC143[rip]
.L883:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rdi, QWORD PTR -104[rbp]
	mov	rcx, rax
	lea	rsi, .LC144[rip]
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	cmp	DWORD PTR -124[rbp], 0
	je	.L884
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC145[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
.L884:
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 16
	mov	esi, 1
	lea	rdi, .LC146[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	mov	DWORD PTR -84[rbp], 0
	jmp	.L885
.L888:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L890
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC148[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	jmp	.L887
.L890:
	nop
.L887:
	add	DWORD PTR -84[rbp], 1
.L885:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L888
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC149[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -92[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC150[rip]
	call	fwrite@PLT
	add	DWORD PTR -92[rbp], 1
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR -92[rbp]
	mov	DWORD PTR [rax], edx
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	print_stack_union, .-print_stack_union
	.section	.rodata
.LC151:
	.string	"unsigned char"
.LC152:
	.string	"unsigned short int"
.LC153:
	.string	"unsigned int"
.LC154:
	.string	"signed char"
.LC155:
	.string	"short"
.LC156:
	.string	"int"
	.text
	.type	minimum_size_type, @function
minimum_size_type:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 0
	js	.L892
	cmp	DWORD PTR -8[rbp], 255
	jg	.L893
	lea	rax, .LC151[rip]
	jmp	.L894
.L893:
	cmp	DWORD PTR -8[rbp], 65534
	jg	.L895
	lea	rax, .LC152[rip]
	jmp	.L894
.L895:
	lea	rax, .LC153[rip]
	jmp	.L894
.L892:
	cmp	DWORD PTR -4[rbp], -127
	jl	.L896
	cmp	DWORD PTR -8[rbp], 127
	jg	.L896
	lea	rax, .LC154[rip]
	jmp	.L894
.L896:
	cmp	DWORD PTR -4[rbp], -32767
	jl	.L897
	cmp	DWORD PTR -8[rbp], 32766
	jg	.L897
	lea	rax, .LC155[rip]
	jmp	.L894
.L897:
	lea	rax, .LC156[rip]
.L894:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	minimum_size_type, .-minimum_size_type
	.type	axset_compare, @function
axset_compare:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR 12[rax]
	mov	eax, edx
	sub	eax, ecx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	axset_compare, .-axset_compare
	.section	.rodata
.LC157:
	.string	".c"
.LC158:
	.string	".h"
.LC159:
	.string	"#include \"%s\"\n"
.LC160:
	.string	"#define %s%-30s %2d\n"
.LC161:
	.string	"#define YYCODETYPE %s\n"
.LC162:
	.string	"#define YYNOCODE %d\n"
.LC163:
	.string	"#define YYACTIONTYPE %s\n"
	.align 8
.LC164:
	.string	"Illegal stack size: [%s].  The stack size should be an integer constant."
.LC165:
	.string	"100"
.LC166:
	.string	"#define YYSTACKDEPTH %s\n"
.LC167:
	.string	"#define YYSTACKDEPTH 100\n"
.LC168:
	.string	"#define %sARG_SDECL %s;\n"
.LC169:
	.string	"#define %sARG_PDECL ,%s\n"
	.align 8
.LC170:
	.string	"#define %sARG_FETCH %s = yypParser->%s\n"
	.align 8
.LC171:
	.string	"#define %sARG_STORE yypParser->%s = %s\n"
.LC172:
	.string	"#define %sARG_SDECL\n"
.LC173:
	.string	"#define %sARG_PDECL\n"
.LC174:
	.string	"#define %sARG_FETCH\n"
.LC175:
	.string	"#define %sARG_STORE\n"
.LC176:
	.string	"#define YYNSTATE %d\n"
.LC177:
	.string	"#define YYNRULE %d\n"
.LC178:
	.string	"#define YYERRORSYMBOL %d\n"
.LC179:
	.string	"#define YYERRSYMDT yy%d\n"
.LC180:
	.string	"#define YYFALLBACK 1\n"
	.align 8
.LC181:
	.string	"static YYACTIONTYPE yy_action[] = {\n"
.LC182:
	.string	" /* %5d */ "
.LC183:
	.string	" %4d,"
.LC184:
	.string	"};\n"
	.align 8
.LC185:
	.string	"static YYCODETYPE yy_lookahead[] = {\n"
	.align 8
.LC186:
	.string	"#define YY_SHIFT_USE_DFLT (%d)\n"
	.align 8
.LC187:
	.string	"static %s yy_shift_ofst[] = {\n"
	.align 8
.LC188:
	.string	"#define YY_REDUCE_USE_DFLT (%d)\n"
	.align 8
.LC189:
	.string	"static %s yy_reduce_ofst[] = {\n"
	.align 8
.LC190:
	.string	"static YYACTIONTYPE yy_default[] = {\n"
	.align 8
.LC191:
	.string	"    0,  /* %10s => nothing */\n"
.LC192:
	.string	"  %3d,  /* %10s => %s */\n"
.LC193:
	.string	"\"%s\","
.LC194:
	.string	"  %-15s"
.LC195:
	.string	" /* %3d */ \"%s ::="
.LC196:
	.string	"\",\n"
.LC197:
	.string	"    case %d:\n"
.LC198:
	.string	"      break;\n"
.LC199:
	.string	"  { %d, %d },\n"
.LC200:
	.string	"      case %d:\n"
.LC201:
	.string	"        break;\n"
	.text
	.globl	ReportTable
	.type	ReportTable, @function
ReportTable:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1232
	mov	QWORD PTR -1224[rbp], rdi
	mov	DWORD PTR -1228[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_open
	mov	QWORD PTR -1104[rbp], rax
	cmp	QWORD PTR -1104[rbp], 0
	je	.L1037
	mov	rax, QWORD PTR -1224[rbp]
	lea	rdx, .LC112[rip]
	lea	rsi, .LC157[rip]
	mov	rdi, rax
	mov	eax, 0
	call	file_open
	mov	QWORD PTR -1096[rbp], rax
	cmp	QWORD PTR -1096[rbp], 0
	jne	.L903
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L900
.L903:
	mov	DWORD PTR -1204[rbp], 1
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR 112[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 104[rax]
	lea	rdi, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	tplt_print
	cmp	DWORD PTR -1228[rbp], 0
	je	.L904
	mov	rax, QWORD PTR -1224[rbp]
	lea	rsi, .LC158[rip]
	mov	rdi, rax
	mov	eax, 0
	call	file_makename
	mov	QWORD PTR -1088[rbp], rax
	mov	rdx, QWORD PTR -1088[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC159[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1088[rbp]
	mov	rdi, rax
	call	free@PLT
.L904:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	cmp	DWORD PTR -1228[rbp], 0
	je	.L905
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC142[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 248[rax]
	test	rax, rax
	je	.L906
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 248[rax]
	mov	QWORD PTR -1128[rbp], rax
	jmp	.L907
.L906:
	lea	rax, .LC26[rip]
	mov	QWORD PTR -1128[rbp], rax
.L907:
	mov	DWORD PTR -1200[rbp], 1
	jmp	.L908
.L909:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	esi, DWORD PTR -1200[rbp]
	mov	rdx, QWORD PTR -1128[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8d, esi
	lea	rsi, .LC160[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	add	DWORD PTR -1200[rbp], 1
.L908:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L909
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC145[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L905:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	eax, 5
	mov	esi, eax
	mov	edi, 0
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC161[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC162[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, edx
	add	eax, 5
	mov	esi, eax
	mov	edi, 0
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC163[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	ecx, DWORD PTR -1228[rbp]
	lea	rdx, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	print_stack_union
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L910
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rdi, rax
	call	atoi@PLT
	test	eax, eax
	jg	.L911
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 232[rax]
	mov	rcx, rdx
	lea	rdx, .LC164[rip]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	ErrorMsg
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -1224[rbp]
	lea	rdx, .LC165[rip]
	mov	QWORD PTR 96[rax], rdx
.L911:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC166[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	jmp	.L912
.L910:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC167[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L912:
	cmp	DWORD PTR -1228[rbp], 0
	je	.L913
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC142[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L913:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L914
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	jmp	.L915
.L914:
	lea	rax, .LC122[rip]
.L915:
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L916
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 64[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L916
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -1176[rbp], eax
	jmp	.L917
.L919:
	sub	DWORD PTR -1176[rbp], 1
.L917:
	cmp	DWORD PTR -1176[rbp], 0
	jle	.L920
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L919
	jmp	.L920
.L922:
	sub	DWORD PTR -1176[rbp], 1
.L920:
	cmp	DWORD PTR -1176[rbp], 0
	jle	.L921
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	sub	rax, 1
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L922
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	sub	rax, 1
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L922
.L921:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC168[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC169[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rsi
	lea	rsi, .LC170[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -1176[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rsi
	lea	rsi, .LC171[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	jmp	.L923
.L916:
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC172[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC173[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC174[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rdx, QWORD PTR -1080[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC175[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L923:
	cmp	DWORD PTR -1228[rbp], 0
	je	.L924
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC145[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L924:
	mov	rax, QWORD PTR -1224[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC176[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC177[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC178[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC179[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 268[rax]
	test	eax, eax
	je	.L925
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 21
	mov	esi, 1
	lea	rdi, .LC180[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L925:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	cdqe
	sal	rax, 5
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -1072[rbp], rax
	cmp	QWORD PTR -1072[rbp], 0
	jne	.L926
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L926:
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L927
.L933:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1056[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -1056[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -1224[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	edx, eax
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 40[rax], -2147483647
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 44[rax], -2147483647
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -1144[rbp], rax
	jmp	.L928
.L932:
	mov	rdx, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	compute_action
	test	eax, eax
	js	.L929
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jge	.L930
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 32[rax], edx
	jmp	.L929
.L930:
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L931
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -1056[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L929
.L931:
	mov	rdx, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	compute_action
	mov	rdx, QWORD PTR -1056[rbp]
	mov	DWORD PTR 48[rdx], eax
.L929:
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -1144[rbp], rax
.L928:
	cmp	QWORD PTR -1144[rbp], 0
	jne	.L932
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, eax
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, eax
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	DWORD PTR 8[rax], 1
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, eax
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR 12[rdx], eax
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, eax
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, eax
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	DWORD PTR 8[rax], 0
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, eax
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR 12[rdx], eax
	add	DWORD PTR -1200[rbp], 1
.L927:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L933
	mov	DWORD PTR -1192[rbp], 0
	mov	eax, DWORD PTR -1192[rbp]
	mov	DWORD PTR -1188[rbp], eax
	mov	DWORD PTR -1184[rbp], 0
	mov	eax, DWORD PTR -1184[rbp]
	mov	DWORD PTR -1180[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	eax, eax
	movsx	rsi, eax
	mov	rax, QWORD PTR -1072[rbp]
	lea	rcx, axset_compare[rip]
	mov	edx, 16
	mov	rdi, rax
	call	qsort@PLT
	call	acttab_alloc
	mov	QWORD PTR -1064[rbp], rax
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L934
.L951:
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1056[rbp], rax
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L935
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -1144[rbp], rax
	jmp	.L936
.L940:
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jge	.L1038
	mov	rdx, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	compute_action
	mov	DWORD PTR -1152[rbp], eax
	cmp	DWORD PTR -1152[rbp], 0
	js	.L1039
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	edx, DWORD PTR -1152[rbp]
	mov	rax, QWORD PTR -1064[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	acttab_action
	jmp	.L938
.L1038:
	nop
	jmp	.L938
.L1039:
	nop
.L938:
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -1144[rbp], rax
.L936:
	cmp	QWORD PTR -1144[rbp], 0
	jne	.L940
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	call	acttab_insert
	mov	rdx, QWORD PTR -1056[rbp]
	mov	DWORD PTR 40[rdx], eax
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -1192[rbp], eax
	jle	.L941
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -1192[rbp], eax
.L941:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -1188[rbp], eax
	jge	.L942
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -1188[rbp], eax
	jmp	.L942
.L935:
	mov	rax, QWORD PTR -1056[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -1144[rbp], rax
	jmp	.L943
.L948:
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jl	.L1040
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	je	.L1041
	mov	rdx, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	compute_action
	mov	DWORD PTR -1156[rbp], eax
	cmp	DWORD PTR -1156[rbp], 0
	js	.L1042
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 8[rax]
	mov	edx, DWORD PTR -1156[rbp]
	mov	rax, QWORD PTR -1064[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	acttab_action
	jmp	.L945
.L1040:
	nop
	jmp	.L945
.L1041:
	nop
	jmp	.L945
.L1042:
	nop
.L945:
	mov	rax, QWORD PTR -1144[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -1144[rbp], rax
.L943:
	cmp	QWORD PTR -1144[rbp], 0
	jne	.L948
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdi, rax
	call	acttab_insert
	mov	rdx, QWORD PTR -1056[rbp]
	mov	DWORD PTR 44[rdx], eax
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -1184[rbp], eax
	jle	.L949
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -1184[rbp], eax
.L949:
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -1180[rbp], eax
	jge	.L942
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -1180[rbp], eax
.L942:
	add	DWORD PTR -1200[rbp], 1
.L934:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	eax, eax
	cmp	DWORD PTR -1200[rbp], eax
	jge	.L950
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jg	.L951
.L950:
	mov	rax, QWORD PTR -1072[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 36
	mov	esi, 1
	lea	rdi, .LC181[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1148[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	mov	eax, DWORD PTR -1196[rbp]
	mov	DWORD PTR -1200[rbp], eax
	jmp	.L952
.L958:
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -1172[rbp], eax
	cmp	DWORD PTR -1172[rbp], 0
	jns	.L953
	mov	rax, QWORD PTR -1224[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, edx
	add	eax, 2
	mov	DWORD PTR -1172[rbp], eax
.L953:
	cmp	DWORD PTR -1196[rbp], 0
	jne	.L954
	mov	edx, DWORD PTR -1200[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC182[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L954:
	mov	edx, DWORD PTR -1172[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -1196[rbp], 9
	je	.L955
	mov	eax, DWORD PTR -1148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -1200[rbp], eax
	jne	.L956
.L955:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	jmp	.L957
.L956:
	add	DWORD PTR -1196[rbp], 1
.L957:
	add	DWORD PTR -1200[rbp], 1
.L952:
	mov	eax, DWORD PTR -1200[rbp]
	cmp	eax, DWORD PTR -1148[rbp]
	jl	.L958
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC184[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 37
	mov	esi, 1
	lea	rdi, .LC185[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	mov	eax, DWORD PTR -1196[rbp]
	mov	DWORD PTR -1200[rbp], eax
	jmp	.L959
.L965:
	mov	rax, QWORD PTR -1064[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1168[rbp], eax
	cmp	DWORD PTR -1168[rbp], 0
	jns	.L960
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -1168[rbp], eax
.L960:
	cmp	DWORD PTR -1196[rbp], 0
	jne	.L961
	mov	edx, DWORD PTR -1200[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC182[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L961:
	mov	edx, DWORD PTR -1168[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -1196[rbp], 9
	je	.L962
	mov	eax, DWORD PTR -1148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -1200[rbp], eax
	jne	.L963
.L962:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	jmp	.L964
.L963:
	add	DWORD PTR -1196[rbp], 1
.L964:
	add	DWORD PTR -1200[rbp], 1
.L959:
	mov	eax, DWORD PTR -1200[rbp]
	cmp	eax, DWORD PTR -1148[rbp]
	jl	.L965
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC184[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	eax, DWORD PTR -1192[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC186[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	eax, DWORD PTR -1192[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -1188[rbp]
	mov	esi, eax
	mov	edi, edx
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC187[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -1148[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	mov	eax, DWORD PTR -1196[rbp]
	mov	DWORD PTR -1200[rbp], eax
	jmp	.L966
.L972:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1056[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -1164[rbp], eax
	cmp	DWORD PTR -1164[rbp], -2147483647
	jne	.L967
	mov	eax, DWORD PTR -1192[rbp]
	sub	eax, 1
	mov	DWORD PTR -1164[rbp], eax
.L967:
	cmp	DWORD PTR -1196[rbp], 0
	jne	.L968
	mov	edx, DWORD PTR -1200[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC182[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L968:
	mov	edx, DWORD PTR -1164[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -1196[rbp], 9
	je	.L969
	mov	eax, DWORD PTR -1148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -1200[rbp], eax
	jne	.L970
.L969:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	jmp	.L971
.L970:
	add	DWORD PTR -1196[rbp], 1
.L971:
	add	DWORD PTR -1200[rbp], 1
.L966:
	mov	eax, DWORD PTR -1200[rbp]
	cmp	eax, DWORD PTR -1148[rbp]
	jl	.L972
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC184[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	eax, DWORD PTR -1184[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC188[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	eax, DWORD PTR -1184[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -1180[rbp]
	mov	esi, eax
	mov	edi, edx
	call	minimum_size_type
	mov	rdx, rax
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC189[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -1148[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	mov	eax, DWORD PTR -1196[rbp]
	mov	DWORD PTR -1200[rbp], eax
	jmp	.L973
.L979:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1056[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -1160[rbp], eax
	cmp	DWORD PTR -1160[rbp], -2147483647
	jne	.L974
	mov	eax, DWORD PTR -1184[rbp]
	sub	eax, 1
	mov	DWORD PTR -1160[rbp], eax
.L974:
	cmp	DWORD PTR -1196[rbp], 0
	jne	.L975
	mov	edx, DWORD PTR -1200[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC182[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L975:
	mov	edx, DWORD PTR -1160[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -1196[rbp], 9
	je	.L976
	mov	eax, DWORD PTR -1148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -1200[rbp], eax
	jne	.L977
.L976:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	jmp	.L978
.L977:
	add	DWORD PTR -1196[rbp], 1
.L978:
	add	DWORD PTR -1200[rbp], 1
.L973:
	mov	eax, DWORD PTR -1200[rbp]
	cmp	eax, DWORD PTR -1148[rbp]
	jl	.L979
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC184[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 37
	mov	esi, 1
	lea	rdi, .LC190[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -1148[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	mov	eax, DWORD PTR -1196[rbp]
	mov	DWORD PTR -1200[rbp], eax
	jmp	.L980
.L985:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1056[rbp], rax
	cmp	DWORD PTR -1196[rbp], 0
	jne	.L981
	mov	edx, DWORD PTR -1200[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC182[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L981:
	mov	rax, QWORD PTR -1056[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC183[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -1196[rbp], 9
	je	.L982
	mov	eax, DWORD PTR -1148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -1200[rbp], eax
	jne	.L983
.L982:
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	DWORD PTR -1196[rbp], 0
	jmp	.L984
.L983:
	add	DWORD PTR -1196[rbp], 1
.L984:
	add	DWORD PTR -1200[rbp], 1
.L980:
	mov	eax, DWORD PTR -1200[rbp]
	cmp	eax, DWORD PTR -1148[rbp]
	jl	.L985
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC184[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 268[rax]
	test	eax, eax
	je	.L986
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L987
.L990:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1048[rbp], rax
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L988
	mov	rax, QWORD PTR -1048[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC191[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L989
.L988:
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1048[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rsi
	lea	rsi, .LC192[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L989:
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	add	DWORD PTR -1200[rbp], 1
.L987:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L990
.L986:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L991
.L993:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	lea	rax, -1008[rbp]
	lea	rsi, .LC193[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rdx, -1008[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC194[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1200[rbp]
	and	eax, 3
	cmp	eax, 3
	jne	.L992
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L992:
	add	DWORD PTR -1200[rbp], 1
.L991:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L993
	mov	eax, DWORD PTR -1200[rbp]
	and	eax, 3
	test	eax, eax
	je	.L994
	mov	rax, QWORD PTR -1096[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L994:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	DWORD PTR -1200[rbp], 0
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -1136[rbp], rax
	jmp	.L995
.L999:
	mov	rax, QWORD PTR -1136[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	DWORD PTR -1200[rbp], eax
	je	.L996
	mov	esi, 3631
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L996:
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -1200[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC195[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -1196[rbp], 0
	jmp	.L997
.L998:
	mov	rax, QWORD PTR -1136[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -1196[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -1196[rbp], 1
.L997:
	mov	rax, QWORD PTR -1136[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -1196[rbp], eax
	jl	.L998
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC196[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -1136[rbp], rax
	add	DWORD PTR -1200[rbp], 1
.L995:
	cmp	QWORD PTR -1136[rbp], 0
	jne	.L999
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 200[rax]
	test	rax, rax
	je	.L1000
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L1001
.L1005:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1040[rbp], rax
	cmp	QWORD PTR -1040[rbp], 0
	je	.L1043
	mov	rax, QWORD PTR -1040[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1043
	mov	rax, QWORD PTR -1040[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC197[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	jmp	.L1004
.L1043:
	nop
.L1004:
	add	DWORD PTR -1200[rbp], 1
.L1001:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L1005
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L1006
.L1008:
	add	DWORD PTR -1200[rbp], 1
.L1006:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jge	.L1007
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1008
.L1007:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jge	.L1000
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	emit_destructor_code
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC198[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L1000:
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L1009
.L1016:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1024[rbp], rax
	cmp	QWORD PTR -1024[rbp], 0
	je	.L1044
	mov	rax, QWORD PTR -1024[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1044
	mov	rax, QWORD PTR -1024[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1044
	mov	rax, QWORD PTR -1024[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC197[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	eax, DWORD PTR -1200[rbp]
	add	eax, 1
	mov	DWORD PTR -1196[rbp], eax
	jmp	.L1013
.L1015:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1196[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1016[rbp], rax
	cmp	QWORD PTR -1016[rbp], 0
	je	.L1014
	mov	rax, QWORD PTR -1016[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1014
	mov	rax, QWORD PTR -1016[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1014
	mov	rax, QWORD PTR -1016[rbp]
	mov	edx, DWORD PTR 80[rax]
	mov	rax, QWORD PTR -1024[rbp]
	mov	eax, DWORD PTR 80[rax]
	cmp	edx, eax
	jne	.L1014
	mov	rax, QWORD PTR -1016[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -1024[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1014
	mov	rax, QWORD PTR -1016[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC197[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1016[rbp]
	mov	QWORD PTR 56[rax], 0
.L1014:
	add	DWORD PTR -1196[rbp], 1
.L1013:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1196[rbp], eax
	jl	.L1015
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	emit_destructor_code
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC198[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	jmp	.L1012
.L1044:
	nop
.L1012:
	add	DWORD PTR -1200[rbp], 1
.L1009:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L1016
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 216[rax]
	test	rax, rax
	je	.L1017
	mov	QWORD PTR -1120[rbp], 0
	mov	DWORD PTR -1200[rbp], 0
	jmp	.L1018
.L1022:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -1200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -1032[rbp], rax
	cmp	QWORD PTR -1032[rbp], 0
	je	.L1045
	mov	rax, QWORD PTR -1032[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L1045
	mov	rax, QWORD PTR -1032[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jle	.L1045
	mov	rax, QWORD PTR -1032[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L1045
	mov	rax, QWORD PTR -1032[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC197[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1032[rbp]
	mov	QWORD PTR -1120[rbp], rax
	jmp	.L1021
.L1045:
	nop
.L1021:
	add	DWORD PTR -1200[rbp], 1
.L1018:
	mov	rax, QWORD PTR -1224[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -1200[rbp], eax
	jl	.L1022
	cmp	QWORD PTR -1120[rbp], 0
	je	.L1017
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1224[rbp]
	mov	rsi, QWORD PTR -1120[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	emit_destructor_code
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC198[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
.L1017:
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR 144[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 136[rax]
	lea	rdi, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	tplt_print
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -1136[rbp], rax
	jmp	.L1023
.L1024:
	mov	rax, QWORD PTR -1136[rbp]
	mov	ecx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC199[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -1136[rbp], rax
.L1023:
	cmp	QWORD PTR -1136[rbp], 0
	jne	.L1024
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -1136[rbp], rax
	jmp	.L1025
.L1027:
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L1026
	mov	rdx, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	translate_code
.L1026:
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -1136[rbp], rax
.L1025:
	cmp	QWORD PTR -1136[rbp], 0
	jne	.L1027
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -1136[rbp], rax
	jmp	.L1028
.L1034:
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L1046
	mov	rax, QWORD PTR -1136[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC200[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -1112[rbp], rax
	jmp	.L1031
.L1033:
	mov	rax, QWORD PTR -1112[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 48[rax]
	cmp	rdx, rax
	jne	.L1032
	mov	rax, QWORD PTR -1112[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -1096[rbp]
	lea	rsi, .LC200[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	mov	rax, QWORD PTR -1112[rbp]
	mov	QWORD PTR 48[rax], 0
.L1032:
	mov	rax, QWORD PTR -1112[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -1112[rbp], rax
.L1031:
	cmp	QWORD PTR -1112[rbp], 0
	jne	.L1033
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1224[rbp]
	mov	rsi, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	emit_code
	mov	rax, QWORD PTR -1096[rbp]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC201[rip]
	call	fwrite@PLT
	mov	eax, DWORD PTR -1204[rbp]
	add	eax, 1
	mov	DWORD PTR -1204[rbp], eax
	jmp	.L1030
.L1046:
	nop
.L1030:
	mov	rax, QWORD PTR -1136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -1136[rbp], rax
.L1028:
	cmp	QWORD PTR -1136[rbp], 0
	jne	.L1034
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR 160[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 152[rax]
	lea	rdi, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	tplt_print
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR 128[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 120[rax]
	lea	rdi, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	tplt_print
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR 176[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 168[rax]
	lea	rdi, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	tplt_print
	mov	rax, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rcx, -1204[rbp]
	mov	rdx, QWORD PTR -1096[rbp]
	mov	rsi, QWORD PTR -1104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tplt_xfer
	mov	rax, QWORD PTR -1224[rbp]
	mov	ecx, DWORD PTR 192[rax]
	mov	rax, QWORD PTR -1224[rbp]
	mov	rdx, QWORD PTR 184[rax]
	lea	rdi, -1204[rbp]
	mov	rsi, QWORD PTR -1224[rbp]
	mov	rax, QWORD PTR -1096[rbp]
	mov	r8, rdi
	mov	rdi, rax
	mov	eax, 0
	call	tplt_print
	mov	rax, QWORD PTR -1104[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -1096[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L900
.L1037:
	nop
.L900:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1036
	call	__stack_chk_fail@PLT
.L1036:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	ReportTable, .-ReportTable
	.globl	ReportHeader
	.type	ReportHeader, @function
ReportHeader:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2064
	mov	QWORD PTR -2056[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 248[rax]
	test	rax, rax
	je	.L1048
	mov	rax, QWORD PTR -2056[rbp]
	mov	rax, QWORD PTR 248[rax]
	mov	QWORD PTR -2040[rbp], rax
	jmp	.L1049
.L1048:
	lea	rax, .LC26[rip]
	mov	QWORD PTR -2040[rbp], rax
.L1049:
	mov	rax, QWORD PTR -2056[rbp]
	lea	rdx, .LC127[rip]
	lea	rsi, .LC158[rip]
	mov	rdi, rax
	mov	eax, 0
	call	file_open
	mov	QWORD PTR -2032[rbp], rax
	cmp	QWORD PTR -2032[rbp], 0
	je	.L1050
	mov	DWORD PTR -2044[rbp], 1
	jmp	.L1051
.L1054:
	mov	rax, QWORD PTR -2056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2044[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	esi, DWORD PTR -2044[rbp]
	mov	rdx, QWORD PTR -2040[rbp]
	lea	rax, -1008[rbp]
	mov	r8d, esi
	lea	rsi, .LC160[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rdx, -1008[rbp]
	lea	rax, -2016[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1061
	add	DWORD PTR -2044[rbp], 1
.L1051:
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -2044[rbp], eax
	jge	.L1053
	mov	rdx, QWORD PTR -2032[rbp]
	lea	rax, -2016[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L1054
	jmp	.L1053
.L1061:
	nop
.L1053:
	mov	rax, QWORD PTR -2032[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -2044[rbp], eax
	je	.L1062
.L1050:
	mov	rax, QWORD PTR -2056[rbp]
	lea	rdx, .LC112[rip]
	lea	rsi, .LC158[rip]
	mov	rdi, rax
	mov	eax, 0
	call	file_open
	mov	QWORD PTR -2024[rbp], rax
	cmp	QWORD PTR -2024[rbp], 0
	je	.L1063
	mov	DWORD PTR -2044[rbp], 1
	jmp	.L1057
.L1058:
	mov	rax, QWORD PTR -2056[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -2044[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	esi, DWORD PTR -2044[rbp]
	mov	rdx, QWORD PTR -2040[rbp]
	mov	rax, QWORD PTR -2024[rbp]
	mov	r8d, esi
	lea	rsi, .LC160[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -2044[rbp], 1
.L1057:
	mov	rax, QWORD PTR -2056[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	DWORD PTR -2044[rbp], eax
	jl	.L1058
	mov	rax, QWORD PTR -2024[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L1063
.L1062:
	nop
	jmp	.L1047
.L1063:
	nop
.L1047:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1060
	call	__stack_chk_fail@PLT
.L1060:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	ReportHeader, .-ReportHeader
	.globl	CompressTables
	.type	CompressTables, @function
CompressTables:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -52[rbp], 0
	jmp	.L1065
.L1086:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1066
.L1075:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1087
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L1088
	mov	DWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1070
.L1074:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1089
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L1090
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jne	.L1072
	add	DWORD PTR -56[rbp], 1
	jmp	.L1072
.L1089:
	nop
	jmp	.L1072
.L1090:
	nop
.L1072:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
.L1070:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1074
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jle	.L1068
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1068
.L1087:
	nop
	jmp	.L1068
.L1088:
	nop
.L1068:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
.L1066:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1075
	cmp	DWORD PTR -60[rbp], 1
	jle	.L1091
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1078
.L1081:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1079
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -32[rbp], rax
	je	.L1092
.L1079:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
.L1078:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1081
	jmp	.L1080
.L1092:
	nop
.L1080:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1082
	mov	esi, 3822
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	myassert
.L1082:
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	Symbol_new
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1083
.L1085:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1084
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L1084
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 8[rax], 7
.L1084:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -48[rbp], rax
.L1083:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1085
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	mov	eax, 0
	call	Action_sort
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rdx], rax
	jmp	.L1077
.L1091:
	nop
.L1077:
	add	DWORD PTR -52[rbp], 1
.L1065:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L1086
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	CompressTables, .-CompressTables
	.local	size
	.comm	size,4,4
	.globl	SetSize
	.type	SetSize, @function
SetSize:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	DWORD PTR size[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	SetSize, .-SetSize
	.globl	SetNew
	.type	SetNew, @function
SetNew:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR size[rip]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1095
	mov	eax, 0
	call	memory_error
.L1095:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1096
.L1097:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	add	DWORD PTR -12[rbp], 1
.L1096:
	mov	eax, DWORD PTR size[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L1097
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	SetNew, .-SetNew
	.globl	SetFree
	.type	SetFree, @function
SetFree:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	SetFree, .-SetFree
	.globl	SetAdd
	.type	SetAdd, @function
SetAdd:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	cmp	DWORD PTR -4[rbp], 0
	sete	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	SetAdd, .-SetAdd
	.globl	SetUnion
	.type	SetUnion, @function
SetUnion:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L1103
.L1106:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1108
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1105
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	jmp	.L1105
.L1108:
	nop
.L1105:
	add	DWORD PTR -8[rbp], 1
.L1103:
	mov	eax, DWORD PTR size[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L1106
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	SetUnion, .-SetUnion
	.globl	strhash
	.type	strhash, @function
strhash:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1110
.L1111:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 2
	lea	ecx, [rax+rdx]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L1110:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1111
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	strhash, .-strhash
	.globl	Strsafe
	.type	Strsafe, @function
Strsafe:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Strsafe_find
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1114
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1114
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Strsafe_insert
.L1114:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1115
	mov	eax, 0
	call	memory_error
.L1115:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	Strsafe, .-Strsafe
	.local	x1a
	.comm	x1a,8,8
	.globl	Strsafe_init
	.type	Strsafe_init, @function
Strsafe_init:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x1a[rip]
	test	rax, rax
	jne	.L1123
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x1a[rip], rax
	mov	rax, QWORD PTR x1a[rip]
	test	rax, rax
	je	.L1117
	mov	rax, QWORD PTR x1a[rip]
	mov	DWORD PTR [rax], 1024
	mov	rax, QWORD PTR x1a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x1a[rip]
	mov	edi, 32768
	call	malloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x1a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1120
	mov	rax, QWORD PTR x1a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x1a[rip], 0
	jmp	.L1117
.L1120:
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x1a[rip]
	add	rdx, 24576
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1121
.L1122:
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1121:
	cmp	DWORD PTR -20[rbp], 1023
	jle	.L1122
	jmp	.L1117
.L1123:
	nop
.L1117:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	Strsafe_init, .-Strsafe_init
	.globl	Strsafe_insert
	.type	Strsafe_insert, @function
Strsafe_insert:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR x1a[rip]
	test	rax, rax
	jne	.L1125
	mov	eax, 0
	jmp	.L1126
.L1125:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	strhash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1127
.L1129:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1128
	mov	eax, 0
	jmp	.L1126
.L1128:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L1127:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1129
	mov	rax, QWORD PTR x1a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1130
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 5
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1131
	mov	eax, 0
	jmp	.L1126
.L1131:
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1132
.L1133:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1132:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1133
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1134
.L1136:
	mov	rax, QWORD PTR x1a[rip]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	mov	eax, 0
	call	strhash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1135
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1135:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1134:
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1136
	mov	rax, QWORD PTR x1a[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rcx, QWORD PTR x1a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1130:
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x1a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1137
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1137:
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L1126:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	Strsafe_insert, .-Strsafe_insert
	.globl	Strsafe_find
	.type	Strsafe_find, @function
Strsafe_find:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x1a[rip]
	test	rax, rax
	jne	.L1139
	mov	eax, 0
	jmp	.L1140
.L1139:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	strhash
	mov	edx, eax
	mov	rax, QWORD PTR x1a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x1a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1141
.L1144:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L1147
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L1141:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1144
	jmp	.L1143
.L1147:
	nop
.L1143:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1145
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1140
.L1145:
	mov	eax, 0
.L1140:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	Strsafe_find, .-Strsafe_find
	.globl	Symbol_new
	.type	Symbol_new, @function
Symbol_new:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_find
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1149
	mov	edi, 88
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1150
	mov	eax, 0
	call	memory_error
.L1150:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	Strsafe
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 3
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	Symbol_insert
.L1149:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	Symbol_new, .-Symbol_new
	.globl	Symbolcmpp
	.type	Symbolcmpp, @function
Symbolcmpp:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jle	.L1153
	mov	eax, 10000000
	jmp	.L1154
.L1153:
	mov	eax, 0
.L1154:
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jle	.L1155
	mov	eax, 10000000
	jmp	.L1156
.L1155:
	mov	eax, 0
.L1156:
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	Symbolcmpp, .-Symbolcmpp
	.local	x2a
	.comm	x2a,8,8
	.globl	Symbol_init
	.type	Symbol_init, @function
Symbol_init:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	jne	.L1164
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x2a[rip], rax
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	je	.L1158
	mov	rax, QWORD PTR x2a[rip]
	mov	DWORD PTR [rax], 128
	mov	rax, QWORD PTR x2a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x2a[rip]
	mov	edi, 5120
	call	malloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x2a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1161
	mov	rax, QWORD PTR x2a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x2a[rip], 0
	jmp	.L1158
.L1161:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x2a[rip]
	add	rdx, 4096
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1162
.L1163:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1162:
	cmp	DWORD PTR -20[rbp], 127
	jle	.L1163
	jmp	.L1158
.L1164:
	nop
.L1158:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	Symbol_init, .-Symbol_init
	.globl	Symbol_insert
	.type	Symbol_insert, @function
Symbol_insert:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	jne	.L1166
	mov	eax, 0
	jmp	.L1167
.L1166:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	strhash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1168
.L1170:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1169
	mov	eax, 0
	jmp	.L1167
.L1169:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
.L1168:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1170
	mov	rax, QWORD PTR x2a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1171
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1172
	mov	eax, 0
	jmp	.L1167
.L1172:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1173
.L1174:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1173:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1174
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1175
.L1177:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	mov	eax, 0
	call	strhash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1176
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1176:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1175:
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1177
	mov	rax, QWORD PTR x2a[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rcx, QWORD PTR x2a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1171:
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x2a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rax, edx
	sal	rax, 5
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1178
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1178:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 1
.L1167:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	Symbol_insert, .-Symbol_insert
	.globl	Symbol_find
	.type	Symbol_find, @function
Symbol_find:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	jne	.L1180
	mov	eax, 0
	jmp	.L1181
.L1180:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	strhash
	mov	edx, eax
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1182
.L1185:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L1188
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L1182:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1185
	jmp	.L1184
.L1188:
	nop
.L1184:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1186
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1181
.L1186:
	mov	eax, 0
.L1181:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	Symbol_find, .-Symbol_find
	.globl	Symbol_Nth
	.type	Symbol_Nth, @function
Symbol_Nth:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	je	.L1190
	cmp	DWORD PTR -20[rbp], 0
	jle	.L1190
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L1190
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	sub	rax, 32
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1191
.L1190:
	mov	QWORD PTR -8[rbp], 0
.L1191:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	Symbol_Nth, .-Symbol_Nth
	.globl	Symbol_count
	.type	Symbol_count, @function
Symbol_count:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	je	.L1194
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	jmp	.L1196
.L1194:
	mov	eax, 0
.L1196:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	Symbol_count, .-Symbol_count
	.globl	Symbol_arrayof
	.type	Symbol_arrayof, @function
Symbol_arrayof:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR x2a[rip]
	test	rax, rax
	jne	.L1198
	mov	eax, 0
	jmp	.L1199
.L1198:
	mov	rax, QWORD PTR x2a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1200
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1201
.L1202:
	mov	rax, QWORD PTR x2a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -16[rbp], 1
.L1201:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L1202
.L1200:
	mov	rax, QWORD PTR -8[rbp]
.L1199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	Symbol_arrayof, .-Symbol_arrayof
	.globl	Configcmp
	.type	Configcmp, @function
Configcmp:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 64[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1204
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L1204:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	Configcmp, .-Configcmp
	.globl	statecmp
	.type	statecmp, @function
statecmp:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1207
.L1210:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 64[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1208
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L1208:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -32[rbp], rax
.L1207:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1209
	cmp	QWORD PTR -24[rbp], 0
	je	.L1209
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1210
.L1209:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1211
	cmp	QWORD PTR -24[rbp], 0
	je	.L1212
	mov	DWORD PTR -4[rbp], 1
.L1212:
	cmp	QWORD PTR -32[rbp], 0
	je	.L1211
	mov	DWORD PTR -4[rbp], -1
.L1211:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	statecmp, .-statecmp
	.globl	statehash
	.type	statehash, @function
statehash:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1215
.L1216:
	mov	eax, DWORD PTR -4[rbp]
	imul	ecx, eax, 571
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 64[rax]
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
.L1215:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1216
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	statehash, .-statehash
	.globl	State_new
	.type	State_new, @function
State_new:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1219
	mov	eax, 0
	call	memory_error
.L1219:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	State_new, .-State_new
	.local	x3a
	.comm	x3a,8,8
	.globl	State_init
	.type	State_init, @function
State_init:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1227
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x3a[rip], rax
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	je	.L1221
	mov	rax, QWORD PTR x3a[rip]
	mov	DWORD PTR [rax], 128
	mov	rax, QWORD PTR x3a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x3a[rip]
	mov	edi, 5120
	call	malloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x3a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1224
	mov	rax, QWORD PTR x3a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x3a[rip], 0
	jmp	.L1221
.L1224:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x3a[rip]
	add	rdx, 4096
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1225
.L1226:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1225:
	cmp	DWORD PTR -20[rbp], 127
	jle	.L1226
	jmp	.L1221
.L1227:
	nop
.L1221:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	State_init, .-State_init
	.globl	State_insert
	.type	State_insert, @function
State_insert:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1229
	mov	eax, 0
	jmp	.L1230
.L1229:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	statehash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1231
.L1233:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	statecmp
	test	eax, eax
	jne	.L1232
	mov	eax, 0
	jmp	.L1230
.L1232:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
.L1231:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1233
	mov	rax, QWORD PTR x3a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1234
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1235
	mov	eax, 0
	jmp	.L1230
.L1235:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1236
.L1237:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1236:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1237
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1238
.L1240:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	mov	eax, 0
	call	statehash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1239
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1239:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1238:
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1240
	mov	rax, QWORD PTR x3a[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rcx, QWORD PTR x3a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1234:
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x3a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rax, edx
	sal	rax, 5
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1241
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 16
	mov	QWORD PTR 24[rax], rdx
.L1241:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 1
.L1230:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	State_insert, .-State_insert
	.globl	State_find
	.type	State_find, @function
State_find:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1243
	mov	eax, 0
	jmp	.L1244
.L1243:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	statehash
	mov	edx, eax
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1245
.L1248:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	statecmp
	test	eax, eax
	je	.L1251
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L1245:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1248
	jmp	.L1247
.L1251:
	nop
.L1247:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1249
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1244
.L1249:
	mov	eax, 0
.L1244:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	State_find, .-State_find
	.globl	State_arrayof
	.type	State_arrayof, @function
State_arrayof:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR x3a[rip]
	test	rax, rax
	jne	.L1253
	mov	eax, 0
	jmp	.L1254
.L1253:
	mov	rax, QWORD PTR x3a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1255
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1256
.L1257:
	mov	rax, QWORD PTR x3a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -16[rbp], 1
.L1256:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L1257
.L1255:
	mov	rax, QWORD PTR -8[rbp]
.L1254:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	State_arrayof, .-State_arrayof
	.globl	confighash
	.type	confighash, @function
confighash:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	imul	ecx, eax, 571
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 64[rax]
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	confighash, .-confighash
	.local	x4a
	.comm	x4a,8,8
	.globl	Configtable_init
	.type	Configtable_init, @function
Configtable_init:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	jne	.L1266
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR x4a[rip], rax
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	je	.L1260
	mov	rax, QWORD PTR x4a[rip]
	mov	DWORD PTR [rax], 64
	mov	rax, QWORD PTR x4a[rip]
	mov	DWORD PTR 4[rax], 0
	mov	rbx, QWORD PTR x4a[rip]
	mov	edi, 2048
	call	malloc@PLT
	mov	QWORD PTR 8[rbx], rax
	mov	rax, QWORD PTR x4a[rip]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1263
	mov	rax, QWORD PTR x4a[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR x4a[rip], 0
	jmp	.L1260
.L1263:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x4a[rip]
	add	rdx, 1536
	mov	QWORD PTR 16[rax], rdx
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1264
.L1265:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -20[rbp], 1
.L1264:
	cmp	DWORD PTR -20[rbp], 63
	jle	.L1265
	jmp	.L1260
.L1266:
	nop
.L1260:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	Configtable_init, .-Configtable_init
	.globl	Configtable_insert
	.type	Configtable_insert, @function
Configtable_insert:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	jne	.L1268
	mov	eax, 0
	jmp	.L1269
.L1268:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	confighash
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L1270
.L1272:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	Configcmp
	test	eax, eax
	jne	.L1271
	mov	eax, 0
	jmp	.L1269
.L1271:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L1270:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1272
	mov	rax, QWORD PTR x4a[rip]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jl	.L1273
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 5
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1274
	mov	eax, 0
	jmp	.L1269
.L1274:
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1275
.L1276:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L1275:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L1276
	mov	DWORD PTR -72[rbp], 0
	jmp	.L1277
.L1279:
	mov	rax, QWORD PTR x4a[rip]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	mov	eax, 0
	call	confighash
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1278
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1278:
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -72[rbp], 1
.L1277:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L1279
	mov	rax, QWORD PTR x4a[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rcx, QWORD PTR x4a[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L1273:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR x4a[rip]
	mov	edx, DWORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	DWORD PTR 4[rax], ecx
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1280
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	add	rdx, 8
	mov	QWORD PTR 16[rax], rdx
.L1280:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L1269:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	Configtable_insert, .-Configtable_insert
	.globl	Configtable_find
	.type	Configtable_find, @function
Configtable_find:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	jne	.L1282
	mov	eax, 0
	jmp	.L1283
.L1282:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	confighash
	mov	edx, eax
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1284
.L1287:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	Configcmp
	test	eax, eax
	je	.L1290
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L1284:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1287
	jmp	.L1286
.L1290:
	nop
.L1286:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1288
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1283
.L1288:
	mov	eax, 0
.L1283:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	Configtable_find, .-Configtable_find
	.globl	Configtable_clear
	.type	Configtable_clear, @function
Configtable_clear:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR x4a[rip]
	test	rax, rax
	je	.L1300
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L1300
	cmp	QWORD PTR -24[rbp], 0
	je	.L1295
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1296
.L1297:
	mov	rax, QWORD PTR x4a[rip]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	rdx
	add	DWORD PTR -4[rbp], 1
.L1296:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L1297
.L1295:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1298
.L1299:
	mov	rax, QWORD PTR x4a[rip]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	add	DWORD PTR -4[rbp], 1
.L1298:
	mov	rax, QWORD PTR x4a[rip]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L1299
	mov	rax, QWORD PTR x4a[rip]
	mov	DWORD PTR 4[rax], 0
	jmp	.L1291
.L1300:
	nop
.L1291:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	Configtable_clear, .-Configtable_clear
	.local	freelist.12
	.comm	freelist.12,8,8
	.section	.rodata
.LC202:
	.string	"b"
	.align 8
.LC203:
	.string	"Print only the basis in report."
.LC204:
	.string	"c"
	.align 8
.LC205:
	.string	"Don't compress the action table."
.LC206:
	.string	"D"
.LC207:
	.string	"Define an %ifdef macro."
.LC208:
	.string	"g"
	.align 8
.LC209:
	.string	"Print grammar without actions."
.LC210:
	.string	"m"
	.align 8
.LC211:
	.string	"Output a makeheaders compatible file"
.LC212:
	.string	"q"
	.align 8
.LC213:
	.string	"(Quiet) Don't print the report file."
.LC214:
	.string	"s"
	.align 8
.LC215:
	.string	"Print parser stats to standard output."
.LC216:
	.string	"x"
.LC217:
	.string	"Print the version number."
	.section	.data.rel.local,"aw"
	.align 32
	.type	options.11, @object
	.size	options.11, 288
options.11:
	.long	1
	.zero	4
	.quad	.LC202
	.quad	basisflag.9
	.quad	.LC203
	.long	1
	.zero	4
	.quad	.LC204
	.quad	compress.7
	.quad	.LC205
	.long	8
	.zero	4
	.quad	.LC206
	.quad	handle_D_option
	.quad	.LC207
	.long	1
	.zero	4
	.quad	.LC208
	.quad	rpflag.8
	.quad	.LC209
	.long	1
	.zero	4
	.quad	.LC210
	.quad	mhflag.5
	.quad	.LC211
	.long	1
	.zero	4
	.quad	.LC212
	.quad	quiet.6
	.quad	.LC213
	.long	1
	.zero	4
	.quad	.LC214
	.quad	statistics.4
	.quad	.LC215
	.long	1
	.zero	4
	.quad	.LC216
	.quad	version.10
	.quad	.LC217
	.long	1
	.zero	4
	.quad	0
	.quad	0
	.quad	0
	.local	version.10
	.comm	version.10,4,4
	.local	basisflag.9
	.comm	basisflag.9,4,4
	.local	rpflag.8
	.comm	rpflag.8,4,4
	.local	compress.7
	.comm	compress.7,4,4
	.local	quiet.6
	.comm	quiet.6,4,4
	.local	mhflag.5
	.comm	mhflag.5,4,4
	.local	statistics.4
	.comm	statistics.4,4,4
	.data
	.align 8
	.type	templatename.3, @object
	.size	templatename.3, 9
templatename.3:
	.string	"lempar.c"
	.local	used.2
	.comm	used.2,4,4
	.local	z.1
	.comm	z.1,8,8
	.local	alloced.0
	.comm	alloced.0,4,4
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"598886.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Unable to allocate memory for a new parser action.\000"
	.text
	.align	2
	.global	Action_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	Action_new, %function
Action_new:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L7
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2
	mov	r3, #100
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L7
	str	r2, [r3]
	ldr	r3, .L7
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3
	ldr	r3, .L7+4
	ldr	r3, [r3]
	mov	r2, #50
	mov	r1, #1
	ldr	r0, .L7+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L3:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L4
.L5:
	ldr	r3, .L7
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	ip, r3
	ldr	r3, .L7
	ldr	r0, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r2, r1, ip
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L4:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L5
	ldr	r3, .L7
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #20
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3, #12]
.L2:
	ldr	r3, .L7
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L7
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, .L7
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L8:
	.align	2
.L7:
	.word	freelist.6211
	.word	stderr
	.word	.LC0
	.size	Action_new, .-Action_new
	.section	.rodata
	.align	2
.LC1:
	.ascii	"the_stack_data/598886.c\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	actioncmp, %function
actioncmp:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L10
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L10:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L11
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	beq	.L12
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	beq	.L12
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	beq	.L12
	ldr	r1, .L15
	ldr	r0, .L15+4
	bl	myassert
.L12:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	beq	.L13
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	beq	.L13
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	beq	.L13
	ldr	r1, .L15+8
	ldr	r0, .L15+4
	bl	myassert
.L13:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #36]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L11:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L16:
	.align	2
.L15:
	.word	370
	.word	.LC1
	.word	371
	.size	actioncmp, .-actioncmp
	.align	2
	.global	Action_sort
	.syntax unified
	.arm
	.fpu softvfp
	.type	Action_sort, %function
Action_sort:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	ldr	r2, .L19
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	msort
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	actioncmp
	.size	Action_sort, .-Action_sort
	.align	2
	.global	Action_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	Action_add, %function
Action_add:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	bl	Action_new
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L22
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
	b	.L24
.L22:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
.L24:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Action_add, .-Action_add
	.align	2
	.global	acttab_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_free, %function
acttab_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	acttab_free, .-acttab_free
	.section	.rodata
	.align	2
.LC2:
	.ascii	"Unable to allocate memory for a new acttab.\000"
	.text
	.align	2
	.global	acttab_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_alloc, %function
acttab_alloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #36
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L27
	ldr	r3, .L29
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L29+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L27:
	mov	r2, #36
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	stderr
	.word	.LC2
	.size	acttab_alloc, .-acttab_alloc
	.section	.rodata
	.align	2
.LC3:
	.ascii	"malloc failed\012\000"
	.text
	.align	2
	.global	acttab_action
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_action, %function
acttab_action:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r2, r3
	blt	.L32
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	add	r2, r3, #25
	ldr	r3, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	lsl	r3, r3, #3
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L32
	ldr	r3, .L36
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L36+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L32:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L33
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	b	.L34
.L33:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L35
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
.L35:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L34
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
.L34:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L37:
	.align	2
.L36:
	.word	stderr
	.word	.LC3
	.size	acttab_action, .-acttab_action
	.align	2
	.global	acttab_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	acttab_insert, %function
acttab_insert:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bgt	.L39
	mov	r1, #492
	ldr	r0, .L84
	bl	myassert
.L39:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	blt	.L40
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	add	r2, r3, #20
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L41
	ldr	r3, .L84+4
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L84+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L41:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L42
.L43:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L42:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L43
.L40:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L44
.L69:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L45
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L46
.L50:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L74
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L75
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L46:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L50
	b	.L48
.L74:
	nop
	b	.L48
.L75:
	nop
.L48:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L76
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L53
.L56:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-20]
	add	r1, r1, r3
	ldr	r3, [fp, #-24]
	sub	r3, r1, r3
	cmp	r2, r3
	beq	.L77
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L53:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L56
	b	.L55
.L77:
	nop
.L55:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L52
	b	.L57
.L45:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bne	.L52
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L78
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L59
.L63:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L60
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L60
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L79
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L80
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L59:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L63
	b	.L60
.L79:
	nop
	b	.L60
.L80:
	nop
.L60:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L81
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L65
.L68:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L82
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-20]
	add	r1, r1, r3
	ldr	r3, [fp, #-24]
	sub	r3, r1, r3
	cmp	r2, r3
	bne	.L67
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L67
.L82:
	nop
.L67:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L65:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L68
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L83
	b	.L52
.L76:
	nop
	b	.L52
.L78:
	nop
	b	.L52
.L81:
	nop
.L52:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L44:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L69
	b	.L57
.L83:
	nop
.L57:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L70
.L72:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r1, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L71
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3]
.L71:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L70:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L72
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-24]
	sub	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L85:
	.align	2
.L84:
	.word	.LC1
	.word	stderr
	.word	.LC3
	.size	acttab_insert, .-acttab_insert
	.section	.rodata
	.align	2
.LC4:
	.ascii	"Assertion failed on line %d of file \"%s\"\012\000"
	.text
	.align	2
	.global	myassert
	.syntax unified
	.arm
	.fpu softvfp
	.type	myassert, %function
myassert:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L87
	ldr	r0, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r1, .L87+4
	bl	fprintf
	mov	r0, #1
	bl	exit
.L88:
	.align	2
.L87:
	.word	stderr
	.word	.LC4
	.size	myassert, .-myassert
	.align	2
	.global	FindRulePrecedences
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindRulePrecedences, %function
FindRulePrecedences:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	b	.L90
.L95:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L91
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L92
.L94:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L93
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #32]
	b	.L91
.L93:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L92:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L94
.L91:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-12]
.L90:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L95
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	FindRulePrecedences, .-FindRulePrecedences
	.align	2
	.global	FindFirstSets
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindFirstSets, %function
FindFirstSets:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L98
.L99:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L98:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L99
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-32]
	b	.L100
.L101:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r4, [r3]
	bl	SetNew
	mov	r3, r0
	str	r3, [r4, #28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L100:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L101
.L110:
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	b	.L102
.L109:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L121
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L105
.L108:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L122
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L105:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L108
	b	.L107
.L122:
	nop
.L107:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L104
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #32]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L104
.L121:
	nop
.L104:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-28]
.L102:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L109
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L110
.L119:
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	b	.L111
.L118:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L112
.L117:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L113
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	SetAdd
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L114
.L113:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L115
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L116
	b	.L114
.L115:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	mov	r1, r3
	mov	r0, r2
	bl	SetUnion
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L123
.L116:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L112:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L117
	b	.L114
.L123:
	nop
.L114:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-28]
.L111:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L118
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L119
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	FindFirstSets, .-FindFirstSets
	.section	.rodata
	.align	2
.LC5:
	.ascii	"The specified start symbol \"%s\" is not in a nonte"
	.ascii	"rminal of the grammar.  \"%s\" will be used as the "
	.ascii	"start symbol instead.\000"
	.align	2
.LC6:
	.ascii	"The start symbol \"%s\" occurs on the right-hand si"
	.ascii	"de of a rule. This will result in a parser which do"
	.ascii	"es not work properly.\000"
	.text
	.align	2
	.global	FindStates
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindStates, %function
FindStates:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	bl	Configlist_init
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L125
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	Symbol_find
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L126
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L135
	mov	r1, #0
	bl	ErrorMsg
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L126
.L125:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L126:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	b	.L127
.L131:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L128
.L130:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L129
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, .L135+4
	mov	r1, #0
	bl	ErrorMsg
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #28]
.L129:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L128:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L130
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-16]
.L127:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L131
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	b	.L132
.L133:
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	Configlist_addbasis
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, #0
	mov	r0, r3
	bl	SetAdd
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-16]
.L132:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L133
	ldr	r0, [fp, #-24]
	bl	getstate
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L136:
	.align	2
.L135:
	.word	.LC5
	.word	.LC6
	.size	FindStates, .-FindStates
	.align	2
	.global	getstate
	.syntax unified
	.arm
	.fpu softvfp
	.type	getstate, %function
getstate:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	bl	Configlist_sortbasis
	bl	Configlist_basis
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	State_find
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L138
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L139
.L141:
	ldr	r3, [fp, #-16]
	add	r2, r3, #16
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	mov	r1, r3
	mov	r0, r2
	bl	Plink_copy
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Plink_delete
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
.L139:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L140
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L141
.L140:
	bl	Configlist_return
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	Configlist_eat
	b	.L142
.L138:
	ldr	r0, [fp, #-32]
	bl	Configlist_closure
	bl	Configlist_sort
	bl	Configlist_return
	str	r0, [fp, #-8]
	bl	State_new
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L143
	bl	memory_error
.L143:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r1, r3, #1
	ldr	r2, [fp, #-32]
	str	r1, [r2, #8]
	ldr	r2, [fp, #-24]
	str	r3, [r2, #8]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	State_insert
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	buildshifts
.L142:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	getstate, .-getstate
	.align	2
	.global	buildshifts
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildshifts, %function
buildshifts:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	b	.L146
.L147:
	ldr	r3, [fp, #-28]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-28]
.L146:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L147
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	b	.L148
.L158:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L159
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bge	.L160
	bl	Configlist_reset
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L152
.L157:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L161
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bge	.L162
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L163
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	Configlist_addbasis
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	Plink_add
	b	.L154
.L161:
	nop
	b	.L154
.L162:
	nop
	b	.L154
.L163:
	nop
.L154:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-24]
.L152:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L157
	ldr	r0, [fp, #-32]
	bl	getstate
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-36]
	add	r0, r3, #12
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	mov	r1, #0
	bl	Action_add
	b	.L150
.L159:
	nop
	b	.L150
.L160:
	nop
.L150:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-28]
.L148:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L158
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	buildshifts, .-buildshifts
	.align	2
	.global	FindLinks
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindLinks, %function
FindLinks:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L165
.L168:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L166
.L167:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L166:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L167
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L165:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L168
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L169
.L174:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L170
.L173:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	b	.L171
.L172:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Plink_add
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L171:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L172
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L170:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L173
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L169:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L174
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FindLinks, .-FindLinks
	.align	2
	.global	FindFollowSets
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindFollowSets, %function
FindFollowSets:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L176
.L179:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L177
.L178:
	ldr	r3, [fp, #-20]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L177:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L178
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L176:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L179
.L189:
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L180
.L188:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L181
.L187:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L190
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	b	.L184
.L186:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r0, r2
	bl	SetUnion
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L185
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #24]
	mov	r3, #1
	str	r3, [fp, #-12]
.L185:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L184:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L186
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #24]
	b	.L183
.L190:
	nop
.L183:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-20]
.L181:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L187
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L180:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L188
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L189
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FindFollowSets, .-FindFollowSets
	.section	.rodata
	.align	2
.LC7:
	.ascii	"This rule can not be reduced.\012\000"
	.text
	.align	2
	.global	FindActions
	.syntax unified
	.arm
	.fpu softvfp
	.type	FindActions, %function
FindActions:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L192
.L199:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
	b	.L193
.L198:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L194
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L195
.L197:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L196
	ldr	r3, [fp, #-8]
	add	r0, r3, #12
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r1, #2
	bl	Action_add
.L196:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L195:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L197
.L194:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-36]
.L193:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L198
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L192:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L199
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L200
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	Symbol_find
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L201
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L201
.L200:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L201:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r3, [r3]
	add	r0, r3, #12
	mov	r3, #0
	ldr	r2, [fp, #-32]
	mov	r1, #1
	bl	Action_add
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L202
.L210:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L203
	ldr	r1, .L223
	ldr	r0, .L223+4
	bl	myassert
.L203:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Action_sort
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	b	.L204
.L209:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	b	.L205
.L207:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	resolve_conflict
	mov	r2, r0
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #136]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #136]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
.L205:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L206
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L207
.L206:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
.L204:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L208
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L209
.L208:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L202:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L210
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	b	.L211
.L212:
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-28]
.L211:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L212
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L213
.L217:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
	b	.L214
.L216:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L215
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r2, #1
	str	r2, [r3, #40]
.L215:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
.L214:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L216
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L213:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L217
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	b	.L218
.L221:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L222
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	ldr	r2, .L223+8
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #28]
	b	.L220
.L222:
	nop
.L220:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-28]
.L218:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L221
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L224:
	.align	2
.L223:
	.word	943
	.word	.LC1
	.word	.LC7
	.size	FindActions, .-FindActions
	.section	.rodata
	.align	2
.LC8:
	.ascii	"Not enough precedence: %s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	resolve_conflict, %function
resolve_conflict:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L226
	ldr	r1, .L245
	ldr	r0, .L245+4
	bl	myassert
.L226:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L227
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L227
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L228
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L228
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bge	.L229
.L228:
	ldr	r3, .L245+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L245+12
	bl	fprintf
	ldr	r3, [fp, #-28]
	mov	r2, #4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L230
.L229:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	ble	.L231
	ldr	r3, [fp, #-28]
	mov	r2, #6
	str	r2, [r3, #4]
	b	.L237
.L231:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L232
	ldr	r3, [fp, #-24]
	mov	r2, #5
	str	r2, [r3, #4]
	b	.L237
.L232:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L233
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bne	.L233
	ldr	r3, [fp, #-28]
	mov	r2, #6
	str	r2, [r3, #4]
	b	.L230
.L233:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L234
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L234
	ldr	r3, [fp, #-24]
	mov	r2, #5
	str	r2, [r3, #4]
	b	.L230
.L234:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L235
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #2
	beq	.L236
.L235:
	ldr	r1, .L245+16
	ldr	r0, .L245+4
	bl	myassert
.L236:
	ldr	r3, .L245+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L245+12
	bl	fprintf
	ldr	r3, [fp, #-28]
	mov	r2, #4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L237
.L230:
	b	.L237
.L227:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L238
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L238
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L239
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L239
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L239
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L239
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L240
.L239:
	ldr	r3, .L245+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L245+12
	bl	fprintf
	ldr	r3, [fp, #-28]
	mov	r2, #4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L244
.L240:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	ble	.L242
	ldr	r3, [fp, #-28]
	mov	r2, #6
	str	r2, [r3, #4]
	b	.L244
.L242:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L244
	ldr	r3, [fp, #-24]
	mov	r2, #6
	str	r2, [r3, #4]
	b	.L244
.L238:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #5
	beq	.L237
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	beq	.L237
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	beq	.L237
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #5
	beq	.L237
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	beq	.L237
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	beq	.L237
	ldr	r1, .L245+20
	ldr	r0, .L245+4
	bl	myassert
	b	.L237
.L244:
	nop
.L237:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L246:
	.align	2
.L245:
	.word	989
	.word	.LC1
	.word	stderr
	.word	.LC8
	.word	1007
	.word	1025
	.size	resolve_conflict, .-resolve_conflict
	.local	freelist
	.comm	freelist,4,4
	.local	current
	.comm	current,4,4
	.local	currentend
	.comm	currentend,4,4
	.local	basis
	.comm	basis,4,4
	.local	basisend
	.comm	basisend,4,4
	.section	.rodata
	.align	2
.LC9:
	.ascii	"Unable to allocate memory for a new configuration.\000"
	.text
	.align	2
	.global	newconfig
	.syntax unified
	.arm
	.fpu softvfp
	.type	newconfig, %function
newconfig:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L253
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L248
	mov	r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L253
	str	r2, [r3]
	ldr	r3, .L253
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L249
	ldr	r3, .L253+4
	ldr	r3, [r3]
	mov	r2, #50
	mov	r1, #1
	ldr	r0, .L253+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L249:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L250
.L251:
	ldr	r3, .L253
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	ip, r3
	ldr	r3, .L253
	ldr	r0, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r2, r1, ip
	str	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L250:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L251
	ldr	r3, .L253
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, #36
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3, #28]
.L248:
	ldr	r3, .L253
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L253
	ldr	r3, [r3]
	ldr	r3, [r3, #28]
	ldr	r2, .L253
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L254:
	.align	2
.L253:
	.word	freelist
	.word	stderr
	.word	.LC9
	.size	newconfig, .-newconfig
	.align	2
	.global	deleteconfig
	.syntax unified
	.arm
	.fpu softvfp
	.type	deleteconfig, %function
deleteconfig:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L256
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r2, .L256
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L257:
	.align	2
.L256:
	.word	freelist
	.size	deleteconfig, .-deleteconfig
	.align	2
	.global	Configlist_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_init, %function
Configlist_init:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L260
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L260+4
	ldr	r2, .L260
	str	r2, [r3]
	ldr	r3, .L260+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L260+12
	ldr	r2, .L260+8
	str	r2, [r3]
	bl	Configtable_init
	nop
	pop	{fp, pc}
.L261:
	.align	2
.L260:
	.word	current
	.word	currentend
	.word	basis
	.word	basisend
	.size	Configlist_init, .-Configlist_init
	.align	2
	.global	Configlist_reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_reset, %function
Configlist_reset:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L264
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L264+4
	ldr	r2, .L264
	str	r2, [r3]
	ldr	r3, .L264+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L264+12
	ldr	r2, .L264+8
	str	r2, [r3]
	mov	r0, #0
	bl	Configtable_clear
	nop
	pop	{fp, pc}
.L265:
	.align	2
.L264:
	.word	current
	.word	currentend
	.word	basis
	.word	basisend
	.size	Configlist_reset, .-Configlist_reset
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Configlist_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_add, %function
Configlist_add:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L271
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L271+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L267
	ldr	r1, .L271+8
	ldr	r0, .L271+12
	bl	myassert
.L267:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	mov	r0, r3
	bl	Configtable_find
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L268
	bl	newconfig
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	bl	SetNew
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, .L271+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #28
	ldr	r2, .L271+4
	str	r3, [r2]
	ldr	r0, [fp, #-48]
	bl	Configtable_insert
.L268:
	ldr	r3, [fp, #-48]
	ldr	r2, .L271
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L270
	bl	__stack_chk_fail
.L270:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L272:
	.align	2
.L271:
	.word	.LC10
	.word	currentend
	.word	1105
	.word	.LC1
	.size	Configlist_add, .-Configlist_add
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Configlist_addbasis
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_addbasis, %function
Configlist_addbasis:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L279
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L279+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L274
	ldr	r1, .L279+8
	ldr	r0, .L279+12
	bl	myassert
.L274:
	ldr	r3, .L279+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L275
	ldr	r1, .L279+20
	ldr	r0, .L279+12
	bl	myassert
.L275:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-40]
	sub	r3, fp, #44
	mov	r0, r3
	bl	Configtable_find
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L276
	bl	newconfig
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	bl	SetNew
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, .L279+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #28
	ldr	r2, .L279+16
	str	r3, [r2]
	ldr	r3, .L279+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #32
	ldr	r2, .L279+4
	str	r3, [r2]
	ldr	r0, [fp, #-48]
	bl	Configtable_insert
.L276:
	ldr	r3, [fp, #-48]
	ldr	r2, .L279
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L278
	bl	__stack_chk_fail
.L278:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L280:
	.align	2
.L279:
	.word	.LC11
	.word	basisend
	.word	1132
	.word	.LC1
	.word	currentend
	.word	1133
	.size	Configlist_addbasis, .-Configlist_addbasis
	.section	.rodata
	.align	2
.LC12:
	.ascii	"Nonterminal \"%s\" has no rules.\000"
	.text
	.align	2
	.global	Configlist_closure
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_closure, %function
Configlist_closure:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, .L299
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L282
	ldr	r1, .L299+4
	ldr	r0, .L299+8
	bl	myassert
.L282:
	ldr	r3, .L299+12
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	b	.L283
.L295:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L297
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L285
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L286
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L286
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, .L299+16
	bl	ErrorMsg
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #28]
.L286:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-32]
	b	.L287
.L294:
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	Configlist_add
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L288
.L292:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L289
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	SetAdd
	b	.L290
.L289:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	mov	r1, r3
	mov	r0, r2
	bl	SetUnion
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L298
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L288:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L292
	b	.L290
.L298:
	nop
.L290:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L293
	ldr	r3, [fp, #-36]
	add	r3, r3, #12
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	Plink_add
.L293:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-32]
.L287:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L294
	b	.L285
.L297:
	nop
.L285:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-36]
.L283:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L295
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L300:
	.align	2
.L299:
	.word	currentend
	.word	1164
	.word	.LC1
	.word	current
	.word	.LC12
	.size	Configlist_closure, .-Configlist_closure
	.align	2
	.global	Configlist_sort
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_sort, %function
Configlist_sort:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L303
	ldr	r0, [r3]
	ldr	r3, .L303
	ldr	r3, [r3]
	add	r3, r3, #28
	ldr	r2, .L303+4
	mov	r1, r3
	bl	msort
	mov	r3, r0
	ldr	r2, .L303
	str	r3, [r2]
	ldr	r3, .L303+8
	mov	r2, #0
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L304:
	.align	2
.L303:
	.word	current
	.word	Configcmp
	.word	currentend
	.size	Configlist_sort, .-Configlist_sort
	.align	2
	.global	Configlist_sortbasis
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_sortbasis, %function
Configlist_sortbasis:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L307
	ldr	r0, [r3]
	ldr	r3, .L307
	ldr	r3, [r3]
	add	r3, r3, #32
	ldr	r2, .L307+4
	mov	r1, r3
	bl	msort
	mov	r3, r0
	ldr	r2, .L307+8
	str	r3, [r2]
	ldr	r3, .L307+12
	mov	r2, #0
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L308:
	.align	2
.L307:
	.word	current
	.word	Configcmp
	.word	basis
	.word	basisend
	.size	Configlist_sortbasis, .-Configlist_sortbasis
	.align	2
	.global	Configlist_return
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_return, %function
Configlist_return:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L311
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L311
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L311+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L312:
	.align	2
.L311:
	.word	current
	.word	currentend
	.size	Configlist_return, .-Configlist_return
	.align	2
	.global	Configlist_basis
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_basis, %function
Configlist_basis:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L315
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L315
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L315+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L316:
	.align	2
.L315:
	.word	basis
	.word	basisend
	.size	Configlist_basis, .-Configlist_basis
	.align	2
	.global	Configlist_eat
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configlist_eat, %function
Configlist_eat:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	b	.L318
.L322:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L319
	ldr	r1, .L324
	ldr	r0, .L324+4
	bl	myassert
.L319:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L320
	ldr	r1, .L324+8
	ldr	r0, .L324+4
	bl	myassert
.L320:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L321
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	SetFree
.L321:
	ldr	r0, [fp, #-16]
	bl	deleteconfig
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L318:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L322
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L325:
	.align	2
.L324:
	.word	1236
	.word	.LC1
	.word	1237
	.size	Configlist_eat, .-Configlist_eat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	findbreak, %function
findbreak:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	b	.L327
.L334:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L328
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
.L328:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L329
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L330
.L329:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L331
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L330
.L331:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L332
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L332
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L332:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L333
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
.L333:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L327:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	ble	.L334
.L330:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	findbreak, .-findbreak
	.section	.rodata
	.align	2
.LC13:
	.ascii	"%.*s:%d: \000"
	.align	2
.LC14:
	.ascii	"%.*s: \000"
	.align	2
.LC15:
	.ascii	"%s%.*s\012\000"
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ErrorMsg
	.syntax unified
	.arm
	.fpu softvfp
	.type	ErrorMsg, %function
ErrorMsg:
	@ args = 4, pretend = 8, frame = 10088
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r2, r3}
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #10048
	sub	sp, sp, #52
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r0, [r3, #-1884]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r1, [r3, #-1888]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r3, [fp, #4]
	str	r3, [r2, #-1892]
	ldr	r3, .L347
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	add	r3, fp, #8
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-1880]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1888]
	cmp	r3, #0
	ble	.L337
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r0, fp, #9984
	sub	r0, r0, #12
	sub	r0, r0, #60
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1888]
	str	r3, [sp]
	ldr	r3, [r2, #-1884]
	mov	r2, #20
	ldr	r1, .L347+4
	bl	sprintf
	b	.L338
.L337:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #9984
	sub	r0, r0, #12
	sub	r0, r0, #60
	ldr	r3, [r3, #-1884]
	mov	r2, #20
	ldr	r1, .L347+8
	bl	sprintf
.L338:
	sub	r3, fp, #9984
	sub	r3, r3, #12
	sub	r3, r3, #60
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-1864]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1864]
	rsb	r3, r3, #79
	str	r3, [r2, #-1860]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #9984
	sub	r3, r3, #12
	sub	r3, r3, #20
	ldr	r2, [r2, #-1880]
	ldr	r1, [r1, #-1892]
	mov	r0, r3
	bl	vsprintf
	sub	r3, fp, #9984
	sub	r3, r3, #12
	sub	r3, r3, #20
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-1876]
	b	.L339
.L341:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1876]
	sub	r3, r3, #1
	str	r3, [r2, #-1876]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1876]
	add	r3, r2, r3
	sub	r3, r3, #1808
	sub	r3, r3, #4
	mov	r2, #0
	strb	r2, [r3]
.L339:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1876]
	cmp	r3, #0
	ble	.L340
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1876]
	sub	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	add	r3, r2, r3
	ldrb	r3, [r3, #-1812]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L341
.L340:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-1868]
	b	.L342
.L345:
	sub	r3, fp, #9984
	sub	r3, r3, #12
	sub	r3, r3, #20
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-1868]
	add	r3, r3, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-1860]
	mov	r1, #0
	mov	r0, r3
	bl	findbreak
	str	r0, [r4, #-1872]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1872]
	str	r3, [r2, #-1856]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-1872]
	ldr	r3, [r3, #-1868]
	add	r3, r2, r3
	str	r3, [r1, #-1872]
	b	.L343
.L344:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1872]
	add	r3, r3, #1
	str	r3, [r2, #-1872]
.L343:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1872]
	add	r3, r2, r3
	sub	r3, r3, #1808
	sub	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L344
	ldr	r3, .L347+12
	ldr	r0, [r3]
	sub	r3, fp, #9984
	sub	r3, r3, #12
	sub	r3, r3, #20
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-1868]
	add	r3, r3, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	sub	r2, fp, #9984
	sub	r2, r2, #12
	sub	r2, r2, #60
	str	r3, [sp]
	ldr	r3, [r1, #-1856]
	ldr	r1, .L347+16
	bl	fprintf
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1872]
	str	r3, [r2, #-1868]
.L342:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-1868]
	add	r3, r2, r3
	sub	r3, r3, #1808
	sub	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L345
	nop
	ldr	r3, .L347
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L346
	bl	__stack_chk_fail
.L346:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, lr}
	add	sp, sp, #8
	bx	lr
.L348:
	.align	2
.L347:
	.word	.LC16
	.word	.LC13
	.word	.LC14
	.word	stdout
	.word	.LC15
	.size	ErrorMsg, .-ErrorMsg
	.section	.rodata
	.align	2
.LC17:
	.ascii	"Out of memory.  Aborting...\012\000"
	.text
	.align	2
	.global	memory_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	memory_error, %function
memory_error:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L350
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L350+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L351:
	.align	2
.L350:
	.word	stderr
	.word	.LC17
	.size	memory_error, .-memory_error
	.local	nDefine
	.comm	nDefine,4,4
	.local	azDefine
	.comm	azDefine,4,4
	.section	.rodata
	.align	2
.LC18:
	.ascii	"out of memory\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_D_option, %function
handle_D_option:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L358
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L358
	str	r3, [r2]
	ldr	r3, .L358+4
	ldr	r3, [r3]
	ldr	r2, .L358
	ldr	r2, [r2]
	lsl	r2, r2, #2
	mov	r1, r2
	mov	r0, r3
	bl	realloc
	mov	r3, r0
	ldr	r2, .L358+4
	str	r3, [r2]
	ldr	r3, .L358+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L353
	ldr	r3, .L358+8
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L358+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L353:
	ldr	r3, .L358+4
	ldr	r2, [r3]
	ldr	r3, .L358
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L354
	ldr	r3, .L358+8
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L358+12
	bl	fwrite
	mov	r0, #1
	bl	exit
.L354:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L355
.L357:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L355:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L356
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L357
.L356:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L359:
	.align	2
.L358:
	.word	nDefine
	.word	azDefine
	.word	stderr
	.word	.LC18
	.size	handle_D_option, .-handle_D_option
	.section	.rodata
	.align	2
.LC19:
	.ascii	"Lemon version 1.0\000"
	.align	2
.LC20:
	.ascii	"Exactly one filename argument is required.\012\000"
	.align	2
.LC21:
	.ascii	"$\000"
	.align	2
.LC22:
	.ascii	"error\000"
	.align	2
.LC23:
	.ascii	"Empty grammar.\012\000"
	.align	2
.LC24:
	.ascii	"{default}\000"
	.align	2
.LC25:
	.ascii	"Parser statistics: %d terminals, %d nonterminals, %"
	.ascii	"d rules\012\000"
	.align	2
.LC26:
	.ascii	"                   %d states, %d parser table entri"
	.ascii	"es, %d conflicts\012\000"
	.align	2
.LC27:
	.ascii	"%d parsing conflicts.\012\000"
	.align	2
.LC28:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #176
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	ldr	r3, .L378
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L378+4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L378+8
	ldr	r0, [fp, #-180]
	bl	OptInit
	ldr	r3, .L378+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L361
	ldr	r0, .L378+16
	bl	puts
	mov	r0, #0
	bl	exit
.L361:
	bl	OptNArgs
	mov	r3, r0
	cmp	r3, #1
	beq	.L362
	ldr	r3, .L378+4
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L378+20
	bl	fwrite
	mov	r0, #1
	bl	exit
.L362:
	mov	r3, #0
	str	r3, [fp, #-136]
	bl	Strsafe_init
	bl	Symbol_init
	bl	State_init
	ldr	r3, [fp, #-180]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r0, #0
	bl	OptArg
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, .L378+24
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-128]
	mov	r3, #0
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-108]
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r0, .L378+28
	bl	Symbol_new
	ldr	r0, .L378+32
	bl	Symbol_new
	mov	r3, r0
	str	r3, [fp, #-132]
	sub	r3, fp, #164
	mov	r0, r3
	bl	Parse
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	beq	.L363
	ldr	r3, [fp, #-136]
	mov	r0, r3
	bl	exit
.L363:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L364
	ldr	r3, .L378+4
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L378+36
	bl	fwrite
	mov	r0, #1
	bl	exit
.L364:
	bl	Symbol_count
	mov	r3, r0
	str	r3, [fp, #-148]
	ldr	r0, .L378+40
	bl	Symbol_new
	bl	Symbol_arrayof
	mov	r3, r0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L365
.L366:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-168]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L365:
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-168]
	cmp	r2, r3
	ble	.L366
	ldr	r0, [fp, #-140]
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r3, .L378+44
	mov	r2, #4
	bl	qsort
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L367
.L368:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-168]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L367:
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-168]
	cmp	r2, r3
	ble	.L368
	mov	r3, #1
	str	r3, [fp, #-168]
	b	.L369
.L370:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L369:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-140]
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L370
	ldr	r3, [fp, #-168]
	str	r3, [fp, #-144]
	ldr	r3, .L378+48
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L371
	sub	r3, fp, #164
	mov	r0, r3
	bl	Reprint
	b	.L372
.L371:
	ldr	r3, [fp, #-144]
	mov	r0, r3
	bl	SetSize
	sub	r3, fp, #164
	mov	r0, r3
	bl	FindRulePrecedences
	sub	r3, fp, #164
	mov	r0, r3
	bl	FindFirstSets
	mov	r3, #0
	str	r3, [fp, #-156]
	sub	r3, fp, #164
	mov	r0, r3
	bl	FindStates
	bl	State_arrayof
	mov	r3, r0
	str	r3, [fp, #-164]
	sub	r3, fp, #164
	mov	r0, r3
	bl	FindLinks
	sub	r3, fp, #164
	mov	r0, r3
	bl	FindFollowSets
	sub	r3, fp, #164
	mov	r0, r3
	bl	FindActions
	ldr	r3, .L378+52
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L373
	sub	r3, fp, #164
	mov	r0, r3
	bl	CompressTables
.L373:
	ldr	r3, .L378+56
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L374
	sub	r3, fp, #164
	mov	r0, r3
	bl	ReportOutput
.L374:
	ldr	r3, .L378+60
	ldr	r2, [r3]
	sub	r3, fp, #164
	mov	r1, r2
	mov	r0, r3
	bl	ReportTable
	ldr	r3, .L378+60
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L372
	sub	r3, fp, #164
	mov	r0, r3
	bl	ReportHeader
.L372:
	ldr	r3, .L378+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L375
	ldr	r1, [fp, #-144]
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-144]
	sub	r2, r2, r3
	ldr	r3, [fp, #-152]
	ldr	r0, .L378+68
	bl	printf
	ldr	r1, [fp, #-156]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r0, .L378+72
	bl	printf
.L375:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L376
	ldr	r3, .L378+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	ldr	r1, .L378+76
	mov	r0, r3
	bl	fprintf
.L376:
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r0, r3
	bl	exit
.L379:
	.align	2
.L378:
	.word	.LC28
	.word	stderr
	.word	options.6616
	.word	version.6609
	.word	.LC19
	.word	.LC20
	.word	basisflag.6611
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	Symbolcmpp
	.word	rpflag.6610
	.word	compress.6612
	.word	quiet.6613
	.word	mhflag.6615
	.word	statistics.6614
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.size	main, .-main
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	merge, %function
merge:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L381
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	b	.L382
.L381:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L383
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L382
.L383:
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bge	.L384
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L385
.L384:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L385:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L386
.L389:
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bge	.L387
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L386
.L387:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L386:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L388
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L389
.L388:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L390
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L382
.L390:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2]
.L382:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	merge, .-merge
	.section	.rodata
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	msort
	.syntax unified
	.arm
	.fpu softvfp
	.type	msort, %function
msort:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	str	r2, [fp, #-152]
	ldr	r3, .L405
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-144]
	sub	r3, r2, r3
	str	r3, [fp, #-132]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L393
.L394:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-124]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L393:
	ldr	r3, [fp, #-136]
	cmp	r3, #29
	ble	.L394
	b	.L395
.L399:
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-140]
	ldr	r2, [fp, #-144]
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-144]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L396
.L398:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-124]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-152]
	ldr	r0, [fp, #-140]
	bl	merge
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-124]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L396:
	ldr	r3, [fp, #-136]
	cmp	r3, #28
	bgt	.L397
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	bne	.L398
.L397:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	str	r2, [r3, #-124]
.L395:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L399
	mov	r3, #0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L400
.L402:
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	beq	.L401
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-124]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-152]
	ldr	r0, [fp, #-140]
	bl	merge
	str	r0, [fp, #-140]
.L401:
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L400:
	ldr	r3, [fp, #-136]
	cmp	r3, #29
	ble	.L402
	ldr	r3, [fp, #-140]
	ldr	r2, .L405
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L404
	bl	__stack_chk_fail
.L404:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L406:
	.align	2
.L405:
	.word	.LC29
	.size	msort, .-msort
	.local	argv
	.comm	argv,4,4
	.local	op
	.comm	op,4,4
	.local	errstream
	.comm	errstream,4,4
	.section	.rodata
	.align	2
.LC30:
	.ascii	" %s\000"
	.align	2
.LC31:
	.ascii	"\000"
	.align	2
.LC32:
	.ascii	"\012%*s^-- here\012\000"
	.align	2
.LC33:
	.ascii	"\012%*shere --^\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	errline, %function
errline:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L417
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L408
	ldr	r3, .L417
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	fputs
.L408:
	ldr	r3, .L417
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L409
.L411:
	ldr	r3, .L417
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L417+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, .L417
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L409:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L410
	ldr	r3, .L417
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L411
.L410:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	b	.L412
.L413:
	ldr	r3, .L417
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L417+4
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L412:
	ldr	r3, .L417
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L413
	ldr	r3, [fp, #-12]
	cmp	r3, #19
	bgt	.L414
	ldr	r3, .L417+8
	ldr	r2, [fp, #-12]
	ldr	r1, .L417+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	b	.L416
.L414:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #7
	ldr	r3, .L417+8
	ldr	r1, .L417+16
	ldr	r0, [fp, #-24]
	bl	fprintf
.L416:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L418:
	.align	2
.L417:
	.word	argv
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.size	errline, .-errline
	.section	.rodata
	.align	2
.LC34:
	.ascii	"--\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	argindex, %function
argindex:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L428
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L420
	ldr	r3, .L428
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L420
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L421
.L427:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L422
	ldr	r3, .L428
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L423
	ldr	r3, .L428
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L423
	ldr	r3, .L428
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L423
.L422:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L424
	ldr	r3, [fp, #-12]
	b	.L425
.L424:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L423:
	ldr	r3, .L428
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L428+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L426
	mov	r3, #1
	str	r3, [fp, #-8]
.L426:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L421:
	ldr	r3, .L428
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L427
.L420:
	mvn	r3, #0
.L425:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L429:
	.align	2
.L428:
	.word	argv
	.word	.LC34
	.size	argindex, .-argindex
	.data
	.align	2
	.type	emsg, %object
	.size	emsg, 28
emsg:
	.ascii	"Command line syntax error: \000"
	.section	.rodata
	.align	2
.LC35:
	.ascii	"%sundefined option.\012\000"
	.align	2
.LC36:
	.ascii	"%smissing argument on switch.\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handleflags, %function
handleflags:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L431
.L434:
	ldr	r3, .L444
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r4, r3, #1
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r5, [r3, #4]
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L443
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L431:
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L434
	b	.L433
.L443:
	nop
.L433:
	ldr	r3, .L444
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-16]
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L435
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L436
	ldr	r2, .L444+8
	ldr	r1, .L444+12
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r2, [fp, #-36]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	errline
.L436:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L437
.L435:
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L438
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L437
.L438:
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L439
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-16]
	blx	r3
	b	.L437
.L439:
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #8
	bne	.L440
	ldr	r3, .L444+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r3, .L444
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	blx	r1
	b	.L437
.L440:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L441
	ldr	r2, .L444+8
	ldr	r1, .L444+16
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r2, [fp, #-36]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	errline
.L441:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L437:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L445:
	.align	2
.L444:
	.word	argv
	.word	op
	.word	emsg
	.word	.LC35
	.word	.LC36
	.size	handleflags, .-handleflags
	.section	.rodata
	.align	2
.LC37:
	.ascii	"%soption requires an argument.\012\000"
	.align	2
.LC38:
	.ascii	"%sillegal character in floating-point argument.\012"
	.ascii	"\000"
	.align	2
.LC39:
	.ascii	"%sillegal character in integer argument.\012\000"
	.align	2
.LC40:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handleswitch, %function
handleswitch:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L478
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, .L478+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L447
.L450:
	ldr	r3, .L478+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L475
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L447:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L450
	b	.L449
.L475:
	nop
.L449:
	ldr	r3, [fp, #-24]
	mov	r2, #61
	strb	r2, [r3]
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L451
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L452
	ldr	r2, .L478+12
	ldr	r1, .L478+16
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r2, [fp, #-52]
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	errline
.L452:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L453
.L451:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L454
.L456:
	.word	.L459
	.word	.L458
	.word	.L457
	.word	.L455
	.word	.L459
	.word	.L458
	.word	.L457
	.word	.L455
.L459:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L460
	ldr	r2, .L478+12
	ldr	r1, .L478+20
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r2, [fp, #-52]
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	errline
.L460:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L454
.L457:
	sub	r3, fp, #44
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtod
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L476
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L462
	ldr	r2, .L478+12
	ldr	r1, .L478+24
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r3, [fp, #-44]
	mov	r1, r3
	ldr	r3, .L478+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r1, r3
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	errline
.L462:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L476
.L458:
	sub	r3, fp, #44
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	strtol
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L477
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L464
	ldr	r2, .L478+12
	ldr	r1, .L478+28
	ldr	r0, [fp, #-52]
	bl	fprintf
	ldr	r3, [fp, #-44]
	mov	r1, r3
	ldr	r3, .L478+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r1, r3
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	errline
.L464:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L477
.L455:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-36]
	b	.L454
.L476:
	nop
	b	.L454
.L477:
	nop
.L454:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L453
.L466:
	.word	.L453
	.word	.L472
	.word	.L471
	.word	.L470
	.word	.L453
	.word	.L468
	.word	.L467
	.word	.L465
.L471:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r1, [r3, #8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L453
.L467:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	blx	r3
	b	.L453
.L472:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	b	.L453
.L468:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-40]
	blx	r3
	b	.L453
.L470:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	b	.L453
.L465:
	ldr	r3, .L478+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r0, [fp, #-36]
	blx	r3
	nop
.L453:
	ldr	r3, [fp, #-28]
	ldr	r2, .L478
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L474
	bl	__stack_chk_fail
.L474:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L479:
	.align	2
.L478:
	.word	.LC40
	.word	argv
	.word	op
	.word	emsg
	.word	.LC35
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.size	handleswitch, .-handleswitch
	.section	.rodata
	.align	2
.LC41:
	.ascii	"Valid command line options for \"%s\" are:\012\000"
	.text
	.align	2
	.global	OptInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptInit, %function
OptInit:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r2, .L489
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r2, .L489+4
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r2, .L489+8
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, .L489
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L481
	ldr	r3, .L489
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L481
	ldr	r3, .L489+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L481
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L482
.L486:
	ldr	r3, .L489
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L483
	ldr	r3, .L489
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L484
.L483:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	handleflags
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	b	.L485
.L484:
	ldr	r3, .L489
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L485
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	handleswitch
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
.L485:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L482:
	ldr	r3, .L489
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L486
.L481:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	ble	.L487
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L489+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	bl	OptPrint
	mov	r0, #1
	bl	exit
.L487:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L490:
	.align	2
.L489:
	.word	argv
	.word	op
	.word	errstream
	.word	.LC41
	.size	OptInit, .-OptInit
	.align	2
	.global	OptNArgs
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptNArgs, %function
OptNArgs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L499
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L492
	ldr	r3, .L499
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L492
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L493
.L497:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L494
	ldr	r3, .L499
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L495
	ldr	r3, .L499
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L495
	ldr	r3, .L499
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L495
.L494:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L495:
	ldr	r3, .L499
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L499+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L496
	mov	r3, #1
	str	r3, [fp, #-12]
.L496:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L493:
	ldr	r3, .L499
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L497
.L492:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L500:
	.align	2
.L499:
	.word	argv
	.word	.LC34
	.size	OptNArgs, .-OptNArgs
	.align	2
	.global	OptArg
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptArg, %function
OptArg:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	argindex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L502
	ldr	r3, .L505
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L504
.L502:
	mov	r3, #0
.L504:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L506:
	.align	2
.L505:
	.word	argv
	.size	OptArg, .-OptArg
	.align	2
	.global	OptErr
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptErr, %function
OptErr:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	argindex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L509
	ldr	r3, .L510
	ldr	r3, [r3]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	errline
.L509:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L511:
	.align	2
.L510:
	.word	errstream
	.size	OptErr, .-OptErr
	.section	.rodata
	.align	2
.LC42:
	.ascii	"  -%-*s  %s\012\000"
	.align	2
.LC43:
	.ascii	"  %s=<integer>%*s  %s\012\000"
	.align	2
.LC44:
	.ascii	"  %s=<real>%*s  %s\012\000"
	.align	2
.LC45:
	.ascii	"  %s=<string>%*s  %s\012\000"
	.text
	.align	2
	.global	OptPrint
	.syntax unified
	.arm
	.fpu softvfp
	.type	OptPrint, %function
OptPrint:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #28
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L513
.L521:
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L514
.L516:
	.word	.L514
	.word	.L518
	.word	.L517
	.word	.L515
	.word	.L514
	.word	.L518
	.word	.L517
	.word	.L515
.L518:
	ldr	r3, [fp, #-24]
	add	r3, r3, #9
	str	r3, [fp, #-24]
	b	.L514
.L517:
	ldr	r3, [fp, #-24]
	add	r3, r3, #6
	str	r3, [fp, #-24]
	b	.L514
.L515:
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	str	r3, [fp, #-24]
	nop
.L514:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	ble	.L520
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
.L520:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L513:
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L521
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L522
.L529:
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L523
.L525:
	.word	.L528
	.word	.L527
	.word	.L526
	.word	.L524
	.word	.L528
	.word	.L527
	.word	.L526
	.word	.L524
.L528:
	ldr	r3, .L530+4
	ldr	r0, [r3]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r1, [r3, #4]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-28]
	ldr	r1, .L530+8
	bl	fprintf
	b	.L523
.L527:
	ldr	r3, .L530+4
	ldr	r5, [r3]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r6, [r3, #4]
	ldr	r4, [fp, #-28]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r4, r3
	sub	r3, r3, #9
	mov	r1, r3
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp, #4]
	ldr	r3, .L530+12
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r6
	ldr	r1, .L530+16
	mov	r0, r5
	bl	fprintf
	b	.L523
.L526:
	ldr	r3, .L530+4
	ldr	r5, [r3]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r6, [r3, #4]
	ldr	r4, [fp, #-28]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r4, r3
	sub	r3, r3, #6
	mov	r1, r3
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp, #4]
	ldr	r3, .L530+12
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r6
	ldr	r1, .L530+20
	mov	r0, r5
	bl	fprintf
	b	.L523
.L524:
	ldr	r3, .L530+4
	ldr	r5, [r3]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r6, [r3, #4]
	ldr	r4, [fp, #-28]
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r4, r3
	sub	r3, r3, #8
	mov	r1, r3
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [sp, #4]
	ldr	r3, .L530+12
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r6
	ldr	r1, .L530+24
	mov	r0, r5
	bl	fprintf
	nop
.L523:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L522:
	ldr	r3, .L530
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L529
	nop
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L531:
	.align	2
.L530:
	.word	op
	.word	errstream
	.word	.LC42
	.word	.LC31
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.size	OptPrint, .-OptPrint
	.section	.rodata
	.align	2
.LC46:
	.ascii	"There is not prior rule opon which to attach the co"
	.ascii	"de fragment which begins on this line.\000"
	.align	2
.LC47:
	.ascii	"Code fragment beginning on this line is not the fir"
	.ascii	"st to follow the previous rule.\000"
	.align	2
.LC48:
	.ascii	"Token \"%s\" should be either \"%%\" or a nontermin"
	.ascii	"al name.\000"
	.align	2
.LC49:
	.ascii	"The precedence symbol must be a terminal.\000"
	.align	2
.LC50:
	.ascii	"There is no prior rule to assign precedence \"[%s]\""
	.ascii	".\000"
	.align	2
.LC51:
	.ascii	"Precedence mark on this line is not the first to fo"
	.ascii	"llow the previous rule.\000"
	.align	2
.LC52:
	.ascii	"Missing \"]\" on precedence mark.\000"
	.align	2
.LC53:
	.ascii	"Expected to see a \":\" following the LHS symbol \""
	.ascii	"%s\".\000"
	.align	2
.LC54:
	.ascii	"\"%s\" is not a valid alias for the LHS \"%s\"\012\000"
	.align	2
.LC55:
	.ascii	"Missing \")\" following LHS alias name \"%s\".\000"
	.align	2
.LC56:
	.ascii	"Missing \"->\" following: \"%s(%s)\".\000"
	.align	2
.LC57:
	.ascii	"Can't allocate enough memory for this rule.\000"
	.align	2
.LC58:
	.ascii	"Too many symbol on RHS or rule beginning at \"%s\"."
	.ascii	"\000"
	.align	2
.LC59:
	.ascii	"Illegal character on RHS of rule: \"%s\".\000"
	.align	2
.LC60:
	.ascii	"\"%s\" is not a valid alias for the RHS symbol \"%s"
	.ascii	"\"\012\000"
	.align	2
.LC61:
	.ascii	"name\000"
	.align	2
.LC62:
	.ascii	"include\000"
	.align	2
.LC63:
	.ascii	"code\000"
	.align	2
.LC64:
	.ascii	"token_destructor\000"
	.align	2
.LC65:
	.ascii	"default_destructor\000"
	.align	2
.LC66:
	.ascii	"token_prefix\000"
	.align	2
.LC67:
	.ascii	"syntax_error\000"
	.align	2
.LC68:
	.ascii	"parse_accept\000"
	.align	2
.LC69:
	.ascii	"parse_failure\000"
	.align	2
.LC70:
	.ascii	"stack_overflow\000"
	.align	2
.LC71:
	.ascii	"extra_argument\000"
	.align	2
.LC72:
	.ascii	"token_type\000"
	.align	2
.LC73:
	.ascii	"default_type\000"
	.align	2
.LC74:
	.ascii	"stack_size\000"
	.align	2
.LC75:
	.ascii	"start_symbol\000"
	.align	2
.LC76:
	.ascii	"left\000"
	.align	2
.LC77:
	.ascii	"right\000"
	.align	2
.LC78:
	.ascii	"nonassoc\000"
	.align	2
.LC79:
	.ascii	"destructor\000"
	.align	2
.LC80:
	.ascii	"type\000"
	.align	2
.LC81:
	.ascii	"fallback\000"
	.align	2
.LC82:
	.ascii	"Unknown declaration keyword: \"%%%s\".\000"
	.align	2
.LC83:
	.ascii	"Illegal declaration keyword: \"%s\".\000"
	.align	2
.LC84:
	.ascii	"Symbol name missing after %destructor keyword\000"
	.align	2
.LC85:
	.ascii	"Symbol \"%s\" has already be given a precedence.\000"
	.align	2
.LC86:
	.ascii	"Can't assign a precedence to \"%s\".\000"
	.align	2
.LC87:
	.ascii	"The argument \"%s\" to declaration \"%%%s\" is not "
	.ascii	"the first.\000"
	.align	2
.LC88:
	.ascii	"Illegal argument to %%%s: %s\000"
	.align	2
.LC89:
	.ascii	"%%fallback argument \"%s\" should be a token\000"
	.align	2
.LC90:
	.ascii	"More than one fallback assigned to token %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parseonetoken, %function
parseonetoken:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Strsafe
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	cmp	r3, #18
	ldrls	pc, [pc, r3, asl #2]
	b	.L638
.L535:
	.word	.L552
	.word	.L551
	.word	.L550
	.word	.L549
	.word	.L548
	.word	.L547
	.word	.L546
	.word	.L545
	.word	.L544
	.word	.L543
	.word	.L542
	.word	.L541
	.word	.L540
	.word	.L539
	.word	.L538
	.word	.L538
	.word	.L537
	.word	.L536
	.word	.L534
.L552:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3944]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3964]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3972]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3972]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3968]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	mov	r2, #0
	str	r2, [r3, #12]
.L551:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L553
	ldr	r3, [fp, #-48]
	mov	r2, #2
	str	r2, [r3, #20]
	b	.L533
.L553:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L555
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	mov	r2, #5
	str	r2, [r3, #20]
	b	.L533
.L555:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L556
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3944]
	cmp	r3, #0
	bne	.L557
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L557:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3944]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L558
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+4
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L558:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3944]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #4]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3944]
	ldr	r2, [fp, #-36]
	add	r2, r2, #1
	str	r2, [r3, #28]
	b	.L533
.L556:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L559
	ldr	r3, [fp, #-48]
	mov	r2, #12
	str	r2, [r3, #20]
	b	.L533
.L559:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+8
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L540:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L560
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+12
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L561
.L560:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3944]
	cmp	r3, #0
	bne	.L562
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+16
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L561
.L562:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3944]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L563
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+20
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L561
.L563:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r4, [r3, #3944]
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	mov	r3, r0
	str	r3, [r4, #32]
.L561:
	ldr	r3, [fp, #-48]
	mov	r2, #13
	str	r2, [r3, #20]
	b	.L533
.L539:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L564
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+24
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
.L564:
	ldr	r3, [fp, #-48]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L533
.L547:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L565
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L565
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L565
	ldr	r3, [fp, #-48]
	mov	r2, #6
	str	r2, [r3, #20]
	b	.L533
.L565:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L567
	ldr	r3, [fp, #-48]
	mov	r2, #7
	str	r2, [r3, #20]
	b	.L533
.L567:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r3, [r3]
	ldr	r2, .L640+28
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L545:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L568
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	mov	r2, #8
	str	r2, [r3, #20]
	b	.L533
.L568:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+32
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L544:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L570
	ldr	r3, [fp, #-48]
	mov	r2, #9
	str	r2, [r3, #20]
	b	.L533
.L570:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldr	r2, .L640+36
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L543:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L572
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L572
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L572
	ldr	r3, [fp, #-48]
	mov	r2, #6
	str	r2, [r3, #20]
	b	.L533
.L572:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L640+40
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L546:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L574
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	lsl	r3, r3, #3
	add	r3, r3, #52
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L575
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+44
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3944]
	b	.L576
.L575:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	add	r2, r3, #52
	ldr	r3, [fp, #-20]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #20]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L577
.L578:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-40]
	add	r1, r1, #10
	ldr	r2, [r2, r1, lsl #2]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r1, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1008
	add	r3, r3, #2
	ldr	r3, [r1, r3, lsl #2]
	str	r3, [r2]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L577:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L578
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [r2, #12]
	add	r1, r3, #1
	str	r1, [r2, #12]
	ldr	r2, [fp, #-20]
	str	r3, [r2, #36]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3968]
	cmp	r3, #0
	bne	.L579
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2, #3972]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3972]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3968]
	b	.L580
.L579:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3972]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2, #3972]
.L580:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2, #3944]
.L576:
	ldr	r3, [fp, #-48]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L533
.L574:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L582
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	cmp	r3, #1000
	blt	.L583
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+48
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L583:
	ldr	r3, [fp, #-48]
	ldr	r4, [r3, #36]
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	mov	r1, r0
	ldr	r3, [fp, #-48]
	add	r2, r4, #10
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-48]
	add	r3, r3, #1008
	add	r3, r3, #2
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #36]
	b	.L533
.L582:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L584
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	ble	.L584
	ldr	r3, [fp, #-48]
	mov	r2, #10
	str	r2, [r3, #20]
	b	.L533
.L584:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+52
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L542:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L585
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r3, r3, #1008
	add	r3, r3, #2
	ldr	r1, [fp, #-36]
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-48]
	mov	r2, #11
	str	r2, [r3, #20]
	b	.L533
.L585:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	sub	r2, r3, #1
	ldr	r3, [fp, #-48]
	add	r2, r2, #10
	ldr	r3, [r3, r2, lsl #2]
	ldr	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+56
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L541:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L587
	ldr	r3, [fp, #-48]
	mov	r2, #6
	str	r2, [r3, #20]
	b	.L533
.L587:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldr	r2, .L640+36
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #14
	str	r2, [r3, #20]
	b	.L533
.L550:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L589
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	ldr	r3, [fp, #-36]
	str	r3, [r2, #3948]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-48]
	mov	r2, #3
	str	r2, [r3, #20]
	ldr	r1, .L640+60
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L590
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #36
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L590:
	ldr	r1, .L640+64
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L592
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #60
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #64
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L592:
	ldr	r1, .L640+68
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L593
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #100
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #104
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L593:
	ldr	r1, .L640+72
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L594
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #108
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #112
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L594:
	ldr	r1, .L640+76
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L595
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #116
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #120
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L595:
	ldr	r1, .L640+80
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L596
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #132
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L596:
	ldr	r1, .L640+84
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L597
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #68
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #72
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L597:
	ldr	r1, .L640+88
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L598
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #92
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #96
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L598:
	ldr	r1, .L640+92
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L599
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #84
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #88
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L599:
	ldr	r1, .L640+96
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L600
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #76
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #80
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	b	.L533
.L600:
	ldr	r1, .L640+100
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L601
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #40
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L601:
	ldr	r1, .L640+104
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L602
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #44
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L602:
	ldr	r1, .L640+108
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L603
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #48
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L603:
	ldr	r1, .L640+112
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L604
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #56
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L604:
	ldr	r1, .L640+116
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L605
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	add	r3, r3, #52
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	b	.L533
.L605:
	ldr	r1, .L640+120
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L606
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	add	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3964]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3960]
	ldr	r3, [fp, #-48]
	mov	r2, #4
	str	r2, [r3, #20]
	b	.L533
.L606:
	ldr	r1, .L640+124
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L607
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	add	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3964]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #3960]
	ldr	r3, [fp, #-48]
	mov	r2, #4
	str	r2, [r3, #20]
	b	.L533
.L607:
	ldr	r1, .L640+128
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L608
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3964]
	add	r3, r3, #1
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3964]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #2
	str	r3, [r2, #3960]
	ldr	r3, [fp, #-48]
	mov	r2, #4
	str	r2, [r3, #20]
	b	.L533
.L608:
	ldr	r1, .L640+132
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L609
	ldr	r3, [fp, #-48]
	mov	r2, #16
	str	r2, [r3, #20]
	b	.L533
.L609:
	ldr	r1, .L640+136
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L610
	ldr	r3, [fp, #-48]
	mov	r2, #17
	str	r2, [r3, #20]
	b	.L533
.L610:
	ldr	r1, .L640+140
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L611
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-48]
	mov	r2, #18
	str	r2, [r3, #20]
	b	.L533
.L611:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+144
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L533
.L589:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+148
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L533
.L641:
	.align	2
.L640:
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
.L537:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L612
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+152
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L533
.L612:
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #36
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-24]
	add	r3, r3, #40
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-48]
	mov	r2, #3
	str	r2, [r3, #20]
	b	.L533
.L536:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L614
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r2, .L640+152
	mov	r1, r3
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L533
.L614:
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #44
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	str	r3, [r2, #3952]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #3956]
	ldr	r3, [fp, #-48]
	mov	r2, #3
	str	r2, [r3, #20]
	b	.L533
.L548:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L616
	ldr	r3, [fp, #-48]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L533
.L616:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L618
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L619
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+156
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L619:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r2, [r3, #3964]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r2, [r3, #3960]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	b	.L533
.L618:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+160
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L549:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L620
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L620
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L621
.L620:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3952]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L622
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L623
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	b	.L624
.L623:
	ldr	r3, [fp, #-36]
.L624:
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	ldr	r2, [r2, #3948]
	str	r2, [sp]
	ldr	r2, .L640+164
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L630
.L622:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L626
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L627
.L626:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	b	.L628
.L627:
	ldr	r3, [fp, #-36]
.L628:
	ldr	r2, [fp, #-48]
	add	r2, r2, #4096
	ldr	r2, [r2, #3952]
	str	r3, [r2]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3956]
	cmp	r3, #0
	beq	.L629
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r3, [r3, #3956]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #4]
	str	r2, [r3]
.L629:
	ldr	r3, [fp, #-48]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L630
.L621:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4096
	ldr	r2, [r3, #3948]
	ldr	r3, [fp, #-36]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L640+168
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #20]
	b	.L533
.L630:
	b	.L533
.L534:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L631
	ldr	r3, [fp, #-48]
	mov	r2, #1
	str	r2, [r3, #20]
	b	.L533
.L631:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L633
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+172
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L633:
	ldr	r0, [fp, #-36]
	bl	Symbol_new
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L634
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #24]
	b	.L533
.L634:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L635
	ldr	r3, [fp, #-48]
	ldr	r0, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, .L640+176
	bl	ErrorMsg
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	b	.L533
.L635:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	mov	r2, #1
	str	r2, [r3, #148]
	b	.L533
.L538:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L636
	ldr	r3, [fp, #-48]
	mov	r2, #1
	str	r2, [r3, #20]
.L636:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L639
	ldr	r3, [fp, #-48]
	mov	r2, #2
	str	r2, [r3, #20]
.L639:
	nop
.L533:
.L638:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	parseonetoken, .-parseonetoken
	.section	.rodata
	.align	2
.LC91:
	.ascii	"%endif\000"
	.align	2
.LC92:
	.ascii	"%ifdef\000"
	.align	2
.LC93:
	.ascii	"%ifndef\000"
	.align	2
.LC94:
	.ascii	"unterminated %%ifdef starting on line %d\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	preprocess_input, %function
preprocess_input:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L643
.L672:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L644
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L644:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L674
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	ble	.L646
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L674
.L646:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	mov	r2, #6
	ldr	r1, .L677
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L648
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L648
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L649
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L649
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-32]
	b	.L650
.L652:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L651
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
.L651:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L650:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L652
.L649:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L653
.L655:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L653:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L675
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L655
	b	.L675
.L648:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	mov	r2, #6
	ldr	r1, .L677+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L656
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #6
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L657
.L656:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	mov	r2, #7
	ldr	r1, .L677+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L647
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #7
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L647
.L657:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L658
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L659
.L658:
	ldr	r3, [fp, #-36]
	add	r3, r3, #7
	str	r3, [fp, #-32]
	b	.L660
.L661:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L660:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-40]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L661
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L662
.L664:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L662:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L663
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	mov	r1, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L664
.L663:
	mov	r3, #1
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L665
.L668:
	ldr	r3, .L677+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	mov	r1, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L666
	ldr	r3, .L677+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L666
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L667
.L666:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L665:
	ldr	r3, .L677+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L668
.L667:
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L669
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
.L669:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L659
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
.L659:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L670
.L671:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L670:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L647
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L671
	b	.L647
.L674:
	nop
	b	.L647
.L675:
	nop
.L647:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L643:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L672
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L676
	ldr	r3, .L677+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L677+24
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L676:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L678:
	.align	2
.L677:
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	azDefine
	.word	nDefine
	.word	stderr
	.word	.LC94
	.size	preprocess_input, .-preprocess_input
	.section	.rodata
	.align	2
.LC95:
	.ascii	"rb\000"
	.align	2
.LC96:
	.ascii	"Can't open this file for reading.\000"
	.align	2
.LC97:
	.ascii	"Can't allocate %d of memory to hold this file.\000"
	.align	2
.LC98:
	.ascii	"Can't read in all %d bytes of this file.\000"
	.align	2
.LC99:
	.ascii	"String starting on this line is not terminated befo"
	.ascii	"re the end of the file.\000"
	.align	2
.LC100:
	.ascii	"C code starting on this line is not terminated befo"
	.ascii	"re the end of the file.\000"
	.align	2
.LC101:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Parse
	.syntax unified
	.arm
	.fpu softvfp
	.type	Parse, %function
Parse:
	@ args = 0, pretend = 0, frame = 8136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8128
	sub	sp, sp, #12
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-4036]
	ldr	r3, .L738
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4004]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r3, [r2, #-3964]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	ldr	r3, [r3, #124]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3972]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3960]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3980]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	ldr	r1, .L738+4
	mov	r0, r3
	bl	fopen
	str	r0, [r4, #-4000]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4000]
	cmp	r3, #0
	bne	.L680
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3980]
	ldr	r2, .L738+8
	mov	r1, #0
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r2, [r3, #28]
	b	.L679
.L680:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [r3, #-4000]
	bl	fseek
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	ftell
	str	r0, [r4, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	rewind
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	add	r3, r3, #1
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	mov	r0, r2
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #-3992]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3992]
	cmp	r3, #0
	bne	.L682
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	add	r3, r3, #1
	ldr	r2, .L738+12
	mov	r1, #0
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r2, [r3, #28]
	b	.L679
.L682:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-3996]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r1, fp, #4096
	sub	r1, r1, #12
	mov	r0, r1
	ldr	r3, [r3, #-4000]
	mov	r1, #1
	ldr	r0, [r0, #-3992]
	bl	fread
	mov	r2, r0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	cmp	r2, r3
	beq	.L683
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-3980]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	ldr	r2, .L738+16
	mov	r1, #0
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-3992]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r2, [r3, #28]
	b	.L679
.L683:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-4000]
	bl	fclose
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3996]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-3992]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-3992]
	bl	preprocess_input
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-4028]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3992]
	str	r3, [r2, #-4024]
	b	.L684
.L734:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L685
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
.L685:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L686
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	b	.L684
.L686:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #47
	bne	.L687
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L687
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #2
	str	r3, [r2, #-4024]
	b	.L688
.L690:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L688:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L684
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L690
	b	.L684
.L687:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #47
	bne	.L691
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L691
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #2
	str	r3, [r2, #-4024]
	b	.L692
.L695:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L693
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
.L693:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L692:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L694
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #47
	bne	.L695
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L695
.L694:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L684
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	b	.L684
.L691:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	str	r3, [r2, #-3968]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	str	r3, [r2, #-3976]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #34
	bne	.L697
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	b	.L698
.L701:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L699
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
.L699:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L698:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L700
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #34
	bne	.L701
.L700:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	bne	.L702
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3980]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r1, r2
	ldr	r2, .L738+20
	ldr	r1, [r1, #-4004]
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3972]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3972]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	str	r3, [r2, #-4020]
	b	.L703
.L702:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4020]
	b	.L703
.L697:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #123
	bne	.L704
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-4016]
	b	.L705
.L727:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L706
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
	b	.L707
.L706:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #123
	bne	.L708
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4016]
	add	r3, r3, #1
	str	r3, [r2, #-4016]
	b	.L707
.L708:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #125
	bne	.L709
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4016]
	sub	r3, r3, #1
	str	r3, [r2, #-4016]
	b	.L707
.L709:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #47
	bne	.L710
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L710
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #2
	str	r3, [r2, #-4024]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4012]
	b	.L711
.L714:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L712
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
.L712:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	str	r3, [r2, #-4012]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L711:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L737
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #47
	bne	.L714
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4012]
	cmp	r3, #42
	bne	.L714
	b	.L737
.L710:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #47
	bne	.L715
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L715
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #2
	str	r3, [r2, #-4024]
	b	.L716
.L718:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L716:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L717
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L718
.L717:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L707
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
	b	.L707
.L715:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #39
	beq	.L720
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #34
	bne	.L707
.L720:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	str	r3, [r2, #-3984]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4008]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	b	.L721
.L725:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #10
	bne	.L722
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4028]
	add	r3, r3, #1
	str	r3, [r2, #-4028]
.L722:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4008]
	cmp	r3, #92
	bne	.L723
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-4008]
	b	.L724
.L723:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	str	r3, [r2, #-4008]
.L724:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L721:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L707
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r2, #-3988]
	ldr	r3, [r3, #-3984]
	cmp	r2, r3
	bne	.L725
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4008]
	cmp	r3, #92
	beq	.L725
	b	.L707
.L737:
	nop
.L707:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L705:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L726
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4016]
	cmp	r3, #1
	bgt	.L727
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #125
	bne	.L727
.L726:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	bne	.L728
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3980]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r1, [r2, #-3976]
	ldr	r2, .L738+24
	mov	r0, r3
	bl	ErrorMsg
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3972]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3972]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	str	r3, [r2, #-4020]
	b	.L703
.L728:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4020]
	b	.L703
.L704:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L729
	b	.L730
.L732:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
.L730:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	beq	.L731
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L732
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #95
	beq	.L732
.L731:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	str	r3, [r2, #-4020]
	b	.L703
.L729:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #58
	bne	.L733
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L733
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L733
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #3
	str	r3, [r2, #-4024]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	str	r3, [r2, #-4020]
	b	.L703
.L733:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	add	r3, r3, #1
	str	r3, [r2, #-4024]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	str	r3, [r2, #-4020]
.L703:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #8064
	sub	r3, r3, #12
	sub	r3, r3, #12
	mov	r0, r3
	bl	parseonetoken
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	and	r2, r3, #255
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	strb	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4020]
	str	r3, [r2, #-4024]
.L684:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4024]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #4096
	sub	r2, r2, #12
	str	r3, [r2, #-3988]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-3988]
	cmp	r3, #0
	bne	.L734
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-3992]
	bl	free
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #4084]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r2, [r3, #4]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-3972]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-4036]
	str	r2, [r3, #28]
.L679:
	ldr	r3, .L738
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L736
	bl	__stack_chk_fail
.L736:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L739:
	.align	2
.L738:
	.word	.LC101
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.size	Parse, .-Parse
	.local	plink_freelist
	.comm	plink_freelist,4,4
	.section	.rodata
	.align	2
.LC102:
	.ascii	"Unable to allocate memory for a new follow-set prop"
	.ascii	"agation link.\012\000"
	.text
	.align	2
	.global	Plink_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_new, %function
Plink_new:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L746
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L741
	mov	r3, #100
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L746
	str	r2, [r3]
	ldr	r3, .L746
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L742
	ldr	r3, .L746+4
	ldr	r3, [r3]
	mov	r2, #65
	mov	r1, #1
	ldr	r0, .L746+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L742:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L743
.L744:
	ldr	r3, .L746
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r2, r3, #3
	ldr	r3, .L746
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L743:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L744
	ldr	r3, .L746
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
.L741:
	ldr	r3, .L746
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L746
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L746
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L747:
	.align	2
.L746:
	.word	plink_freelist
	.word	stderr
	.word	.LC102
	.size	Plink_new, .-Plink_new
	.align	2
	.global	Plink_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_add, %function
Plink_add:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	bl	Plink_new
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Plink_add, .-Plink_add
	.align	2
	.global	Plink_copy
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_copy, %function
Plink_copy:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	b	.L750
.L751:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
.L750:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L751
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Plink_copy, .-Plink_copy
	.align	2
	.global	Plink_delete
	.syntax unified
	.arm
	.fpu softvfp
	.type	Plink_delete, %function
Plink_delete:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	b	.L753
.L754:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, .L755
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r2, .L755
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L753:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L754
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L756:
	.align	2
.L755:
	.word	plink_freelist
	.size	Plink_delete, .-Plink_delete
	.section	.rodata
	.align	2
.LC103:
	.ascii	"Can't allocate space for a filename.\012\000"
	.text
	.align	2
	.global	file_makename
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_makename, %function
file_makename:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	mov	r0, r3
	bl	strlen
	mov	r4, r0
	ldr	r0, [fp, #-28]
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #5
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L758
	ldr	r3, .L761
	ldr	r3, [r3]
	mov	r2, #37
	mov	r1, #1
	ldr	r0, .L761+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L758:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	strcpy
	mov	r1, #46
	ldr	r0, [fp, #-20]
	bl	strrchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L759
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
.L759:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	strcat
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L762:
	.align	2
.L761:
	.word	stderr
	.word	.LC103
	.size	file_makename, .-file_makename
	.section	.rodata
	.align	2
.LC104:
	.ascii	"Can't open file \"%s\".\012\000"
	.text
	.align	2
	.global	file_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_open, %function
file_open:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #128]
	cmp	r3, #0
	beq	.L764
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #128]
	mov	r0, r3
	bl	free
.L764:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	file_makename
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #128]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #128]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L765
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #119
	bne	.L765
	ldr	r3, .L767
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #128]
	mov	r2, r3
	ldr	r1, .L767+4
	bl	fprintf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #28]
	mov	r3, #0
	b	.L766
.L765:
	ldr	r3, [fp, #-8]
.L766:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L768:
	.align	2
.L767:
	.word	stderr
	.word	.LC104
	.size	file_open, .-file_open
	.section	.rodata
	.align	2
.LC105:
	.ascii	"// Reprint of input file \"%s\".\012// Symbols:\012"
	.ascii	"\000"
	.global	__aeabi_idiv
	.align	2
.LC106:
	.ascii	"//\000"
	.align	2
.LC107:
	.ascii	" %3d %-*.*s\000"
	.align	2
.LC108:
	.ascii	"%s\000"
	.align	2
.LC109:
	.ascii	" ::=\000"
	.align	2
.LC110:
	.ascii	" [%s]\000"
	.text
	.align	2
	.global	Reprint
	.syntax unified
	.arm
	.fpu softvfp
	.type	Reprint, %function
Reprint:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #124]
	mov	r1, r3
	ldr	r0, .L784
	bl	printf
	mov	r3, #10
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L770
.L772:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L771
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
.L771:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L770:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L772
	ldr	r3, [fp, #-24]
	add	r3, r3, #5
	mov	r1, r3
	mov	r0, #76
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L773
	mov	r3, #1
	str	r3, [fp, #-20]
.L773:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L774
.L778:
	ldr	r0, .L784+4
	bl	printf
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	b	.L775
.L777:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	beq	.L776
	ldr	r1, .L784+8
	ldr	r0, .L784+12
	bl	myassert
.L776:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, .L784+16
	bl	printf
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-28]
.L775:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L777
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L774:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L778
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
	b	.L779
.L783:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L784+20
	bl	printf
	ldr	r0, .L784+24
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L780
.L781:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L784+28
	bl	printf
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L780:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L781
	mov	r0, #46
	bl	putchar
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L782
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L784+32
	bl	printf
.L782:
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-36]
.L779:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L783
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L785:
	.align	2
.L784:
	.word	.LC105
	.word	.LC106
	.word	2652
	.word	.LC1
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC30
	.word	.LC110
	.size	Reprint, .-Reprint
	.section	.rodata
	.align	2
.LC111:
	.ascii	"%s ::=\000"
	.align	2
.LC112:
	.ascii	" *\000"
	.text
	.align	2
	.global	ConfigPrint
	.syntax unified
	.arm
	.fpu softvfp
	.type	ConfigPrint, %function
ConfigPrint:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L794
	ldr	r0, [fp, #-16]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L787
.L791:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L788
	ldr	r3, [fp, #-16]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L794+4
	bl	fwrite
.L788:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L792
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L794+8
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L787:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L791
	b	.L793
.L792:
	nop
.L793:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L795:
	.align	2
.L794:
	.word	.LC111
	.word	.LC112
	.word	.LC30
	.size	ConfigPrint, .-ConfigPrint
	.section	.rodata
	.align	2
.LC113:
	.ascii	"%*s shift  %d\000"
	.align	2
.LC114:
	.ascii	"%*s reduce %d\000"
	.align	2
.LC115:
	.ascii	"%*s accept\000"
	.align	2
.LC116:
	.ascii	"%*s error\000"
	.align	2
.LC117:
	.ascii	"%*s reduce %-3d ** Parsing conflict **\000"
	.text
	.align	2
	.global	PrintAction
	.syntax unified
	.arm
	.fpu softvfp
	.type	PrintAction, %function
PrintAction:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L797
.L799:
	.word	.L804
	.word	.L803
	.word	.L802
	.word	.L801
	.word	.L800
	.word	.L798
	.word	.L798
	.word	.L798
.L804:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-24]
	ldr	r1, .L806
	ldr	r0, [fp, #-20]
	bl	fprintf
	b	.L797
.L802:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #36]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-24]
	ldr	r1, .L806+4
	ldr	r0, [fp, #-20]
	bl	fprintf
	b	.L797
.L803:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, .L806+8
	ldr	r0, [fp, #-20]
	bl	fprintf
	b	.L797
.L801:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, .L806+12
	ldr	r0, [fp, #-20]
	bl	fprintf
	b	.L797
.L800:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #36]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-24]
	ldr	r1, .L806+16
	ldr	r0, [fp, #-20]
	bl	fprintf
	b	.L797
.L798:
	mov	r3, #0
	str	r3, [fp, #-8]
	nop
.L797:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L807:
	.align	2
.L806:
	.word	.LC113
	.word	.LC114
	.word	.LC115
	.word	.LC116
	.word	.LC117
	.size	PrintAction, .-PrintAction
	.section	.rodata
	.align	2
.LC118:
	.ascii	"w\000"
	.align	2
.LC119:
	.ascii	".out\000"
	.align	2
.LC120:
	.ascii	" \010\000"
	.align	2
.LC121:
	.ascii	"State %d:\012\000"
	.align	2
.LC122:
	.ascii	"(%d)\000"
	.align	2
.LC123:
	.ascii	"    %5s \000"
	.align	2
.LC124:
	.ascii	"          \000"
	.align	2
.LC125:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ReportOutput
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReportOutput, %function
ReportOutput:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L826
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L826+4
	ldr	r1, .L826+8
	ldr	r0, [fp, #-56]
	bl	file_open
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L825
	ldr	r3, [fp, #-36]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L826+12
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L811
.L823:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, .L826+16
	ldr	r0, [fp, #-36]
	bl	fprintf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #144]
	cmp	r3, #0
	beq	.L812
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	b	.L814
.L812:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-44]
	b	.L814
.L819:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bne	.L815
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldr	r2, [r3, #36]
	sub	r3, fp, #28
	ldr	r1, .L826+20
	mov	r0, r3
	bl	sprintf
	sub	r3, fp, #28
	mov	r2, r3
	ldr	r1, .L826+24
	ldr	r0, [fp, #-36]
	bl	fprintf
	b	.L816
.L815:
	ldr	r3, [fp, #-36]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L826+28
	bl	fwrite
.L816:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-36]
	bl	ConfigPrint
	ldr	r1, [fp, #-36]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #144]
	cmp	r3, #0
	beq	.L817
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-44]
	b	.L814
.L817:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-44]
.L814:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L819
	ldr	r1, [fp, #-36]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	b	.L820
.L822:
	mov	r2, #30
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	PrintAction
	mov	r3, r0
	cmp	r3, #0
	beq	.L821
	ldr	r1, [fp, #-36]
	mov	r0, #10
	bl	fputc
.L821:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
.L820:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L822
	ldr	r1, [fp, #-36]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L811:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L823
	ldr	r0, [fp, #-36]
	bl	fclose
	b	.L808
.L825:
	nop
.L808:
	ldr	r3, .L826
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L824
	bl	__stack_chk_fail
.L824:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L827:
	.align	2
.L826:
	.word	.LC125
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC121
	.word	.LC122
	.word	.LC123
	.word	.LC124
	.size	ReportOutput, .-ReportOutput
	.section	.rodata
	.align	2
.LC126:
	.ascii	"%s/%s\000"
	.align	2
.LC127:
	.ascii	"PATH\000"
	.align	2
.LC128:
	.ascii	".:/bin:/usr/bin\000"
	.text
	.align	2
	.global	pathsearch
	.syntax unified
	.arm
	.fpu softvfp
	.type	pathsearch, %function
pathsearch:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r1, #47
	ldr	r0, [fp, #-32]
	bl	strrchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L829
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r4, r0
	ldr	r0, [fp, #-36]
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L830
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r1, .L840
	ldr	r0, [fp, #-20]
	bl	sprintf
.L830:
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3]
	b	.L831
.L829:
	ldr	r0, .L840+4
	bl	getenv
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L832
	ldr	r3, .L840+8
	str	r3, [fp, #-24]
.L832:
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r4, r0
	ldr	r0, [fp, #-36]
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L831
	b	.L833
.L837:
	mov	r1, #58
	ldr	r0, [fp, #-24]
	bl	strchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L834
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-16]
.L834:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-24]
	ldr	r1, .L840
	ldr	r0, [fp, #-20]
	bl	sprintf
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-25]
	strb	r2, [r3]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L835
	ldr	r3, .L840+12
	str	r3, [fp, #-24]
	b	.L836
.L835:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L836:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-20]
	bl	access
	mov	r3, r0
	cmp	r3, #0
	beq	.L839
.L833:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L837
	b	.L831
.L839:
	nop
.L831:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L841:
	.align	2
.L840:
	.word	.LC126
	.word	.LC127
	.word	.LC128
	.word	.LC31
	.size	pathsearch, .-pathsearch
	.align	2
	.global	compute_action
	.syntax unified
	.arm
	.fpu softvfp
	.type	compute_action, %function
compute_action:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L843
.L845:
	.word	.L848
	.word	.L847
	.word	.L846
	.word	.L844
.L848:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	b	.L849
.L846:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L849
.L844:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L849
.L847:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L849
.L843:
	mvn	r3, #0
	str	r3, [fp, #-8]
	nop
.L849:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	compute_action, .-compute_action
	.section	.rodata
	.align	2
.LC129:
	.ascii	"Parse\000"
	.align	2
.LC130:
	.ascii	"%.*s\000"
	.align	2
.LC131:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tplt_xfer
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_xfer, %function
tplt_xfer:
	@ args = 0, pretend = 0, frame = 1032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1024
	sub	sp, sp, #8
	str	r0, [fp, #-1024]
	str	r1, [fp, #-1028]
	str	r2, [fp, #-1032]
	str	r3, [fp, #-1036]
	ldr	r3, .L863
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L852
.L860:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-1036]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-1012]
	ldr	r3, [fp, #-1024]
	cmp	r3, #0
	beq	.L853
	mov	r3, #0
	str	r3, [fp, #-1016]
	b	.L854
.L858:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1016]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #80
	bne	.L855
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1016]
	add	r3, r2, r3
	mov	r2, #5
	ldr	r1, .L863+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L855
	ldr	r3, [fp, #-1016]
	cmp	r3, #0
	beq	.L856
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1016]
	sub	r3, r3, #1
	sub	r1, fp, #4
	add	r3, r1, r3
	ldrb	r3, [r3, #-1004]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L855
.L856:
	ldr	r2, [fp, #-1016]
	ldr	r3, [fp, #-1012]
	cmp	r2, r3
	ble	.L857
	ldr	r2, [fp, #-1016]
	ldr	r3, [fp, #-1012]
	sub	r1, r2, r3
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	mov	r2, r1
	ldr	r1, .L863+8
	ldr	r0, [fp, #-1032]
	bl	fprintf
.L857:
	ldr	r1, [fp, #-1032]
	ldr	r0, [fp, #-1024]
	bl	fputs
	ldr	r3, [fp, #-1016]
	add	r3, r3, #4
	str	r3, [fp, #-1016]
	ldr	r3, [fp, #-1016]
	add	r3, r3, #1
	str	r3, [fp, #-1012]
.L855:
	ldr	r3, [fp, #-1016]
	add	r3, r3, #1
	str	r3, [fp, #-1016]
.L854:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1016]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L858
.L853:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	ldr	r1, [fp, #-1032]
	mov	r0, r3
	bl	fputs
.L852:
	sub	r3, fp, #1008
	ldr	r2, [fp, #-1028]
	mov	r1, #1000
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	beq	.L862
	ldrb	r3, [fp, #-1008]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L860
	ldrb	r3, [fp, #-1007]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L860
.L862:
	nop
	ldr	r3, .L863
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L861
	bl	__stack_chk_fail
.L861:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L864:
	.align	2
.L863:
	.word	.LC131
	.word	.LC129
	.word	.LC130
	.size	tplt_xfer, .-tplt_xfer
	.section	.rodata
	.align	2
.LC132:
	.ascii	"%.*s.lt\000"
	.align	2
.LC133:
	.ascii	"%s.lt\000"
	.align	2
.LC134:
	.ascii	"Can't find the parser driver template file \"%s\".\012"
	.ascii	"\000"
	.align	2
.LC135:
	.ascii	"r\000"
	.align	2
.LC136:
	.ascii	"Can't open the template file \"%s\".\012\000"
	.align	2
.LC137:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tplt_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_open, %function
tplt_open:
	@ args = 0, pretend = 0, frame = 1024
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1024
	str	r0, [fp, #-1024]
	ldr	r3, .L876
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #124]
	mov	r1, #46
	mov	r0, r3
	bl	strrchr
	str	r0, [fp, #-1016]
	ldr	r3, [fp, #-1016]
	cmp	r3, #0
	beq	.L866
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #124]
	ldr	r2, [fp, #-1016]
	sub	r2, r2, r3
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #124]
	sub	r0, fp, #1008
	ldr	r1, .L876+4
	bl	sprintf
	b	.L867
.L866:
	ldr	r3, [fp, #-1024]
	ldr	r2, [r3, #124]
	sub	r3, fp, #1008
	ldr	r1, .L876+8
	mov	r0, r3
	bl	sprintf
.L867:
	sub	r3, fp, #1008
	mov	r1, #4
	mov	r0, r3
	bl	access
	mov	r3, r0
	cmp	r3, #0
	bne	.L868
	sub	r3, fp, #1008
	str	r3, [fp, #-1020]
	b	.L869
.L868:
	mov	r1, #4
	ldr	r0, .L876+12
	bl	access
	mov	r3, r0
	cmp	r3, #0
	bne	.L870
	ldr	r3, .L876+12
	str	r3, [fp, #-1020]
	b	.L869
.L870:
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #152]
	mov	r2, #0
	ldr	r1, .L876+12
	mov	r0, r3
	bl	pathsearch
	str	r0, [fp, #-1020]
.L869:
	ldr	r3, [fp, #-1020]
	cmp	r3, #0
	bne	.L871
	ldr	r3, .L876+16
	ldr	r3, [r3]
	ldr	r2, .L876+12
	ldr	r1, .L876+20
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-1024]
	str	r2, [r3, #28]
	mov	r3, #0
	b	.L874
.L871:
	ldr	r1, .L876+24
	ldr	r0, [fp, #-1020]
	bl	fopen
	str	r0, [fp, #-1012]
	ldr	r3, [fp, #-1012]
	cmp	r3, #0
	bne	.L873
	ldr	r3, .L876+16
	ldr	r3, [r3]
	ldr	r2, .L876+12
	ldr	r1, .L876+28
	mov	r0, r3
	bl	fprintf
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-1024]
	str	r2, [r3, #28]
	mov	r3, #0
	b	.L874
.L873:
	ldr	r3, [fp, #-1012]
.L874:
	ldr	r2, .L876
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L875
	bl	__stack_chk_fail
.L875:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L877:
	.align	2
.L876:
	.word	.LC137
	.word	.LC132
	.word	.LC133
	.word	templatename.7084
	.word	stderr
	.word	.LC134
	.word	.LC135
	.word	.LC136
	.size	tplt_open, .-tplt_open
	.section	.rodata
	.align	2
.LC138:
	.ascii	"#line %d \"%s\"\012\000"
	.align	2
.LC139:
	.ascii	"\012#line %d \"%s\"\012\000"
	.text
	.align	2
	.global	tplt_print
	.syntax unified
	.arm
	.fpu softvfp
	.type	tplt_print, %function
tplt_print:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L884
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #124]
	ldr	r2, [fp, #-20]
	ldr	r1, .L885
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
	b	.L881
.L883:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L882
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #4]
	str	r2, [r3]
.L882:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L881:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L883
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	add	r2, r3, #2
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #128]
	ldr	r1, .L885+4
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	add	r2, r3, #2
	ldr	r3, [fp, #4]
	str	r2, [r3]
	b	.L878
.L884:
	nop
.L878:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L886:
	.align	2
.L885:
	.word	.LC138
	.word	.LC139
	.size	tplt_print, .-tplt_print
	.section	.rodata
	.align	2
.LC140:
	.ascii	"#line %d \"%s\"\012{\000"
	.align	2
.LC141:
	.ascii	"(yypminor->yy%d)\000"
	.align	2
.LC142:
	.ascii	"}\012#line %d \"%s\"\012\000"
	.text
	.align	2
	.global	emit_destructor_code
	.syntax unified
	.arm
	.fpu softvfp
	.type	emit_destructor_code, %function
emit_destructor_code:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L888
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #108]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L900
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #112]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r1, .L902
	ldr	r0, [fp, #-16]
	bl	fprintf
	b	.L895
.L888:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L892
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r1, .L902
	ldr	r0, [fp, #-16]
	bl	fprintf
	b	.L895
.L892:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L893
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #116]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L901
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #120]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r1, .L902
	ldr	r0, [fp, #-16]
	bl	fprintf
	b	.L895
.L893:
	ldr	r1, .L902+4
	ldr	r0, .L902+8
	bl	myassert
	b	.L895
.L899:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L896
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L896
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #48]
	mov	r2, r3
	ldr	r1, .L902+12
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L897
.L896:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L898
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L898:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputc
.L897:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L895:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L899
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #128]
	ldr	r1, .L902+16
	ldr	r0, [fp, #-16]
	bl	fprintf
	b	.L887
.L900:
	nop
	b	.L887
.L901:
	nop
.L887:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L903:
	.align	2
.L902:
	.word	.LC140
	.word	2983
	.word	.LC1
	.word	.LC141
	.word	.LC142
	.size	emit_destructor_code, .-emit_destructor_code
	.align	2
	.global	has_destructor
	.syntax unified
	.arm
	.fpu softvfp
	.type	has_destructor, %function
has_destructor:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L905
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #108]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	b	.L906
.L905:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	bne	.L907
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L908
.L907:
	mov	r3, #1
	b	.L909
.L908:
	mov	r3, #0
.L909:
	str	r3, [fp, #-8]
.L906:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	has_destructor, .-has_destructor
	.section	.rodata
	.align	2
.LC143:
	.ascii	"%d\000"
	.align	2
.LC144:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	append_str
	.syntax unified
	.arm
	.fpu softvfp
	.type	append_str, %function
append_str:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L923
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L912
	ldr	r3, .L923+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L923+8
	ldr	r3, [r3]
	b	.L921
.L912:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bgt	.L914
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bge	.L915
	ldr	r3, .L923+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, .L923+4
	str	r3, [r2]
	ldr	r3, .L923+4
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L915
	ldr	r1, .L923+12
	ldr	r0, .L923+16
	bl	myassert
.L915:
	ldr	r0, [fp, #-56]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-60]
.L914:
	ldr	r3, [fp, #-60]
	ldr	r2, .L923+4
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #80
	ldr	r2, .L923+20
	ldr	r2, [r2]
	cmp	r3, r2
	bcc	.L916
	ldr	r3, [fp, #-60]
	ldr	r2, .L923+4
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r3, r3, #280
	mov	r2, r3
	ldr	r3, .L923+20
	str	r2, [r3]
	ldr	r3, .L923+8
	ldr	r3, [r3]
	ldr	r2, .L923+20
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	realloc
	mov	r3, r0
	ldr	r2, .L923+8
	str	r3, [r2]
.L916:
	ldr	r3, .L923+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L918
	ldr	r3, .L923+24
	b	.L921
.L920:
	ldr	r3, [fp, #-56]
	add	r2, r3, #1
	str	r2, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #37
	bne	.L919
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #100
	bne	.L919
	sub	r3, fp, #48
	ldr	r2, [fp, #-64]
	ldr	r1, .L923+28
	mov	r0, r3
	bl	sprintf
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, .L923+8
	ldr	r3, [r3]
	ldr	r2, .L923+4
	ldr	r2, [r2]
	add	r3, r3, r2
	sub	r2, fp, #48
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L923+8
	ldr	r3, [r3]
	ldr	r2, .L923+4
	ldr	r2, [r2]
	add	r3, r3, r2
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	ldr	r2, .L923+4
	ldr	r2, [r2]
	add	r3, r3, r2
	mov	r2, r3
	ldr	r3, .L923+4
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L918
.L919:
	ldr	r3, .L923+8
	ldr	r2, [r3]
	ldr	r3, .L923+4
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r0, .L923+4
	str	r1, [r0]
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	and	r2, r2, #255
	strb	r2, [r3]
.L918:
	ldr	r3, [fp, #-60]
	sub	r2, r3, #1
	str	r2, [fp, #-60]
	cmp	r3, #0
	bgt	.L920
	ldr	r3, .L923+8
	ldr	r3, [r3]
	ldr	r2, .L923+4
	ldr	r2, [r2]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L923+8
	ldr	r3, [r3]
.L921:
	ldr	r2, .L923
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L922
	bl	__stack_chk_fail
.L922:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L924:
	.align	2
.L923:
	.word	.LC144
	.word	used.7124
	.word	z.7122
	.word	3041
	.word	.LC1
	.word	alloced.7123
	.word	.LC31
	.word	.LC143
	.size	append_str, .-append_str
	.section	.rodata
	.align	2
.LC145:
	.ascii	"yygotominor.yy%d\000"
	.align	2
.LC146:
	.ascii	"yymsp[%d].major\000"
	.align	2
.LC147:
	.ascii	"yymsp[%d].minor.yy%d\000"
	.align	2
.LC148:
	.ascii	"Label \"%s\" for \"%s(%s)\" is never used.\000"
	.align	2
.LC149:
	.ascii	"Label %s for \"%s(%s)\" is never used.\000"
	.align	2
.LC150:
	.ascii	"  yy_destructor(%d,&yymsp[%d].minor);\012\000"
	.align	2
.LC151:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	translate_code
	.syntax unified
	.arm
	.fpu softvfp
	.type	translate_code, %function
translate_code:
	@ args = 0, pretend = 0, frame = 1032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1040
	str	r0, [fp, #-1032]
	str	r1, [fp, #-1036]
	ldr	r3, .L947
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	strb	r3, [fp, #-1022]
	mov	r3, #0
	str	r3, [fp, #-1012]
	b	.L926
.L927:
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-1012]
	add	r3, r3, #1
	str	r3, [fp, #-1012]
.L926:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1012]
	cmp	r2, r3
	blt	.L927
	mov	r3, #0
	strb	r3, [fp, #-1022]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-1020]
	b	.L928
.L940:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1020]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L929
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-1020]
	cmp	r2, r3
	beq	.L930
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1020]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L929
	ldr	r3, [fp, #-1020]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L929
.L930:
	ldr	r3, [fp, #-1020]
	add	r3, r3, #1
	str	r3, [fp, #-1016]
	b	.L931
.L932:
	ldr	r3, [fp, #-1016]
	add	r3, r3, #1
	str	r3, [fp, #-1016]
.L931:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1016]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L932
	ldr	r3, [fp, #-1016]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L932
	ldr	r3, [fp, #-1016]
	ldrb	r3, [r3]
	strb	r3, [fp, #-1021]
	ldr	r3, [fp, #-1016]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L933
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-1020]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L933
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	ldr	r2, [r3, #48]
	mov	r3, #0
	mov	r1, #0
	ldr	r0, .L947+4
	bl	append_str
	ldr	r3, [fp, #-1016]
	str	r3, [fp, #-1020]
	mov	r3, #1
	strb	r3, [fp, #-1022]
	b	.L934
.L933:
	mov	r3, #0
	str	r3, [fp, #-1012]
	b	.L935
.L939:
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L936
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-1020]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L936
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-1020]
	cmp	r2, r3
	beq	.L937
	ldr	r3, [fp, #-1020]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L937
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1012]
	sub	r3, r2, r3
	add	r2, r3, #1
	mov	r3, #0
	mvn	r1, #0
	ldr	r0, .L947+8
	bl	append_str
	b	.L938
.L937:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1012]
	sub	r3, r2, r3
	add	r1, r3, #1
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #48]
	mov	r2, r1
	mov	r1, #0
	ldr	r0, .L947+12
	bl	append_str
.L938:
	ldr	r3, [fp, #-1016]
	str	r3, [fp, #-1020]
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	b	.L934
.L936:
	ldr	r3, [fp, #-1012]
	add	r3, r3, #1
	str	r3, [fp, #-1012]
.L935:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1012]
	cmp	r2, r3
	blt	.L939
.L934:
	ldr	r3, [fp, #-1016]
	ldrb	r2, [fp, #-1021]
	strb	r2, [r3]
.L929:
	mov	r3, #0
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-1020]
	bl	append_str
	ldr	r3, [fp, #-1020]
	add	r3, r3, #1
	str	r3, [fp, #-1020]
.L928:
	ldr	r3, [fp, #-1020]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L940
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L941
	ldrb	r3, [fp, #-1022]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L941
	ldr	r3, [fp, #-1032]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-1036]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-1036]
	ldr	ip, [r3, #4]
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-1036]
	ldr	r2, [r2, #4]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	ldr	r2, .L947+16
	bl	ErrorMsg
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-1032]
	str	r2, [r3, #28]
.L941:
	mov	r3, #0
	str	r3, [fp, #-1012]
	b	.L942
.L945:
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L943
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1012]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L943
	ldr	r3, [fp, #-1032]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-1036]
	ldr	ip, [r3, #8]
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	lr, [r3]
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-1036]
	ldr	r1, [r2, #20]
	ldr	r2, [fp, #-1012]
	lsl	r2, r2, #2
	add	r2, r1, r2
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	ldr	r2, .L947+20
	mov	r1, ip
	bl	ErrorMsg
	ldr	r3, [fp, #-1032]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-1032]
	str	r2, [r3, #28]
	b	.L944
.L943:
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L944
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-1032]
	mov	r0, r3
	bl	has_destructor
	mov	r3, r0
	cmp	r3, #0
	beq	.L944
	ldr	r3, [fp, #-1036]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-1012]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1012]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r2, r1
	mov	r1, #0
	ldr	r0, .L947+24
	bl	append_str
.L944:
	ldr	r3, [fp, #-1012]
	add	r3, r3, #1
	str	r3, [fp, #-1012]
.L942:
	ldr	r3, [fp, #-1036]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1012]
	cmp	r2, r3
	blt	.L945
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	append_str
	str	r0, [fp, #-1020]
	ldr	r0, [fp, #-1020]
	bl	Strsafe
	mov	r2, r0
	ldr	r3, [fp, #-1036]
	str	r2, [r3, #28]
	nop
	ldr	r2, .L947
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L946
	bl	__stack_chk_fail
.L946:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L948:
	.align	2
.L947:
	.word	.LC151
	.word	.LC145
	.word	.LC146
	.word	.LC147
	.word	.LC148
	.word	.LC149
	.word	.LC150
	.size	translate_code, .-translate_code
	.align	2
	.global	emit_code
	.syntax unified
	.arm
	.fpu softvfp
	.type	emit_code, %function
emit_code:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L955
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r1, .L956
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	fputs
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-12]
	b	.L951
.L953:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L952
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L952:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L951:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L953
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #128]
	ldr	r1, .L956+4
	ldr	r0, [fp, #-16]
	bl	fprintf
	nop
.L955:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L957:
	.align	2
.L956:
	.word	.LC140
	.word	.LC142
	.size	emit_code, .-emit_code
	.section	.rodata
	.align	2
.LC152:
	.ascii	"Out of memory.\012\000"
	.global	__aeabi_idivmod
	.align	2
.LC153:
	.ascii	"#if INTERFACE\012\000"
	.align	2
.LC154:
	.ascii	"void*\000"
	.align	2
.LC155:
	.ascii	"#define %sTOKENTYPE %s\012\000"
	.align	2
.LC156:
	.ascii	"#endif\012\000"
	.align	2
.LC157:
	.ascii	"typedef union {\012\000"
	.align	2
.LC158:
	.ascii	"  %sTOKENTYPE yy0;\012\000"
	.align	2
.LC159:
	.ascii	"  %s yy%d;\012\000"
	.align	2
.LC160:
	.ascii	"  int yy%d;\012\000"
	.align	2
.LC161:
	.ascii	"} YYMINORTYPE;\012\000"
	.text
	.align	2
	.global	print_stack_union
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_stack_union, %function
print_stack_union:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L959
.L960:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L959:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L960
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L961
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-60]
.L961:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L962
.L965:
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L999
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	ble	.L964
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-60]
	b	.L964
.L999:
	nop
.L964:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L962:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L965
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #1
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L966
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L967
.L966:
	ldr	r3, .L1001
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1001+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L967:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L968
.L988:
	ldr	r3, [fp, #-76]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L969
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #48]
	b	.L970
.L969:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L971
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	bne	.L972
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L972
.L971:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #48]
	b	.L970
.L972:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L973
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-44]
.L973:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L974
.L975:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L974:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L975
	b	.L976
.L977:
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-52]
	add	r1, r2, #1
	str	r1, [fp, #-52]
	mov	r1, r2
	ldr	r2, [fp, #-32]
	add	r2, r2, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
.L976:
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L977
	b	.L978
.L980:
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
.L978:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	ble	.L979
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L980
.L979:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L981
.L982:
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-32]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L981:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L982
	ldr	r3, [fp, #-48]
	bic	r3, r3, #-2147483648
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-48]
	b	.L983
.L986:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L984
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #48]
	b	.L985
.L984:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L983
	mov	r3, #0
	str	r3, [fp, #-48]
.L983:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L986
.L985:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L970
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #48]
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	add	r1, r3, #1
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L987
	ldr	r3, .L1001
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1001+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L987:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	strcpy
.L970:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L968:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L988
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L989
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #36]
	b	.L990
.L989:
	ldr	r3, .L1001+8
.L990:
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L991
	ldr	r3, [fp, #-72]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1001+12
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L991:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L992
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #44]
	b	.L993
.L992:
	ldr	r3, .L1001+16
.L993:
	ldr	r2, [fp, #-28]
	ldr	r1, .L1001+20
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L994
	ldr	r3, [fp, #-72]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1001+24
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L994:
	ldr	r3, [fp, #-72]
	mov	r2, #16
	mov	r1, #1
	ldr	r0, .L1001+28
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-28]
	ldr	r1, .L1001+32
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L995
.L998:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1000
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	ldr	r1, .L1001+36
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	b	.L997
.L1000:
	nop
.L997:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L995:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L998
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #32]
	ldr	r3, [r3, #48]
	mov	r2, r3
	ldr	r1, .L1001+40
	ldr	r0, [fp, #-72]
	bl	fprintf
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r0, [fp, #-36]
	bl	free
	ldr	r3, [fp, #-72]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1001+44
	bl	fwrite
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-64]
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1002:
	.align	2
.L1001:
	.word	stderr
	.word	.LC152
	.word	.LC129
	.word	.LC153
	.word	.LC154
	.word	.LC155
	.word	.LC156
	.word	.LC157
	.word	.LC158
	.word	.LC159
	.word	.LC160
	.word	.LC161
	.size	print_stack_union, .-print_stack_union
	.section	.rodata
	.align	2
.LC162:
	.ascii	"unsigned char\000"
	.align	2
.LC163:
	.ascii	"unsigned short int\000"
	.align	2
.LC164:
	.ascii	"unsigned int\000"
	.align	2
.LC165:
	.ascii	"signed char\000"
	.align	2
.LC166:
	.ascii	"short\000"
	.align	2
.LC167:
	.ascii	"int\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	minimum_size_type, %function
minimum_size_type:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L1004
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	bgt	.L1005
	ldr	r3, .L1010
	b	.L1006
.L1005:
	ldr	r3, [fp, #-12]
	ldr	r2, .L1010+4
	cmp	r3, r2
	bgt	.L1007
	ldr	r3, .L1010+8
	b	.L1006
.L1007:
	ldr	r3, .L1010+12
	b	.L1006
.L1004:
	ldr	r3, [fp, #-8]
	cmn	r3, #127
	blt	.L1008
	ldr	r3, [fp, #-12]
	cmp	r3, #127
	bgt	.L1008
	ldr	r3, .L1010+16
	b	.L1006
.L1008:
	ldr	r3, [fp, #-8]
	cmn	r3, #32768
	ble	.L1009
	ldr	r3, [fp, #-12]
	ldr	r2, .L1010+20
	cmp	r3, r2
	bgt	.L1009
	ldr	r3, .L1010+24
	b	.L1006
.L1009:
	ldr	r3, .L1010+28
.L1006:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1011:
	.align	2
.L1010:
	.word	.LC162
	.word	65534
	.word	.LC163
	.word	.LC164
	.word	.LC165
	.word	32766
	.word	.LC166
	.word	.LC167
	.size	minimum_size_type, .-minimum_size_type
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	axset_compare, %function
axset_compare:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	axset_compare, .-axset_compare
	.section	.rodata
	.align	2
.LC168:
	.ascii	".c\000"
	.align	2
.LC169:
	.ascii	".h\000"
	.align	2
.LC170:
	.ascii	"#include \"%s\"\012\000"
	.align	2
.LC171:
	.ascii	"#define %s%-30s %2d\012\000"
	.align	2
.LC172:
	.ascii	"#define YYCODETYPE %s\012\000"
	.align	2
.LC173:
	.ascii	"#define YYNOCODE %d\012\000"
	.align	2
.LC174:
	.ascii	"#define YYACTIONTYPE %s\012\000"
	.align	2
.LC175:
	.ascii	"Illegal stack size: [%s].  The stack size should be"
	.ascii	" an integer constant.\000"
	.align	2
.LC176:
	.ascii	"100\000"
	.align	2
.LC177:
	.ascii	"#define YYSTACKDEPTH %s\012\000"
	.align	2
.LC178:
	.ascii	"#define YYSTACKDEPTH 100\012\000"
	.align	2
.LC179:
	.ascii	"#define %sARG_SDECL %s;\012\000"
	.align	2
.LC180:
	.ascii	"#define %sARG_PDECL ,%s\012\000"
	.align	2
.LC181:
	.ascii	"#define %sARG_FETCH %s = yypParser->%s\012\000"
	.align	2
.LC182:
	.ascii	"#define %sARG_STORE yypParser->%s = %s\012\000"
	.align	2
.LC183:
	.ascii	"#define %sARG_SDECL\012\000"
	.align	2
.LC184:
	.ascii	"#define %sARG_PDECL\012\000"
	.align	2
.LC185:
	.ascii	"#define %sARG_FETCH\012\000"
	.align	2
.LC186:
	.ascii	"#define %sARG_STORE\012\000"
	.align	2
.LC187:
	.ascii	"#define YYNSTATE %d\012\000"
	.align	2
.LC188:
	.ascii	"#define YYNRULE %d\012\000"
	.align	2
.LC189:
	.ascii	"#define YYERRORSYMBOL %d\012\000"
	.align	2
.LC190:
	.ascii	"#define YYERRSYMDT yy%d\012\000"
	.align	2
.LC191:
	.ascii	"#define YYFALLBACK 1\012\000"
	.align	2
.LC192:
	.ascii	"static YYACTIONTYPE yy_action[] = {\012\000"
	.align	2
.LC193:
	.ascii	" /* %5d */ \000"
	.align	2
.LC194:
	.ascii	" %4d,\000"
	.align	2
.LC195:
	.ascii	"};\012\000"
	.align	2
.LC196:
	.ascii	"static YYCODETYPE yy_lookahead[] = {\012\000"
	.align	2
.LC197:
	.ascii	"#define YY_SHIFT_USE_DFLT (%d)\012\000"
	.align	2
.LC198:
	.ascii	"static %s yy_shift_ofst[] = {\012\000"
	.align	2
.LC199:
	.ascii	"#define YY_REDUCE_USE_DFLT (%d)\012\000"
	.align	2
.LC200:
	.ascii	"static %s yy_reduce_ofst[] = {\012\000"
	.align	2
.LC201:
	.ascii	"static YYACTIONTYPE yy_default[] = {\012\000"
	.align	2
.LC202:
	.ascii	"    0,  /* %10s => nothing */\012\000"
	.align	2
.LC203:
	.ascii	"  %3d,  /* %10s => %s */\012\000"
	.align	2
.LC204:
	.ascii	"\"%s\",\000"
	.align	2
.LC205:
	.ascii	"  %-15s\000"
	.align	2
.LC206:
	.ascii	" /* %3d */ \"%s ::=\000"
	.align	2
.LC207:
	.ascii	"\",\012\000"
	.align	2
.LC208:
	.ascii	"    case %d:\012\000"
	.align	2
.LC209:
	.ascii	"      break;\012\000"
	.align	2
.LC210:
	.ascii	"  { %d, %d },\012\000"
	.align	2
.LC211:
	.ascii	"      case %d:\012\000"
	.align	2
.LC212:
	.ascii	"        break;\012\000"
	.align	2
.LC213:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ReportTable
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReportTable, %function
ReportTable:
	@ args = 0, pretend = 0, frame = 1144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1152
	str	r0, [fp, #-1144]
	str	r1, [fp, #-1148]
	ldr	r3, .L1161
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-1144]
	bl	tplt_open
	str	r0, [fp, #-1068]
	ldr	r3, [fp, #-1068]
	cmp	r3, #0
	beq	.L1151
	ldr	r2, .L1161+4
	ldr	r1, .L1161+8
	ldr	r0, [fp, #-1144]
	bl	file_open
	str	r0, [fp, #-1064]
	ldr	r3, [fp, #-1064]
	cmp	r3, #0
	bne	.L1017
	ldr	r0, [fp, #-1068]
	bl	fclose
	b	.L1014
.L1017:
	mov	r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #64]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	tplt_print
	ldr	r3, [fp, #-1148]
	cmp	r3, #0
	beq	.L1018
	ldr	r1, .L1161+12
	ldr	r0, [fp, #-1144]
	bl	file_makename
	str	r0, [fp, #-1060]
	ldr	r2, [fp, #-1060]
	ldr	r1, .L1161+16
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r0, [fp, #-1060]
	bl	free
.L1018:
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1148]
	cmp	r3, #0
	beq	.L1019
	ldr	r3, [fp, #-1064]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1161+20
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #132]
	cmp	r3, #0
	beq	.L1020
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-1100]
	b	.L1021
.L1020:
	ldr	r3, .L1161+24
	str	r3, [fp, #-1100]
.L1021:
	mov	r3, #1
	str	r3, [fp, #-1124]
	b	.L1022
.L1023:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1124]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-1100]
	ldr	r1, .L1161+28
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1022:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1023
	ldr	r3, [fp, #-1064]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1161+32
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1019:
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	add	r3, r3, #5
	mov	r1, r3
	mov	r0, #0
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1161+36
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1161+40
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #12]
	add	r3, r2, r3
	add	r3, r3, #5
	mov	r1, r3
	mov	r0, #0
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1161+44
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	sub	r2, fp, #1120
	sub	r2, r2, #4
	sub	r2, r2, #12
	ldr	r3, [fp, #-1148]
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	print_stack_union
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1024
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #56]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	cmp	r3, #0
	bgt	.L1025
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #124]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #56]
	ldr	r2, .L1161+48
	mov	r1, #0
	bl	ErrorMsg
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-1144]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-1144]
	ldr	r2, .L1161+52
	str	r2, [r3, #56]
.L1025:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r1, .L1161+56
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	b	.L1026
.L1024:
	ldr	r3, [fp, #-1064]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L1161+60
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1026:
	ldr	r3, [fp, #-1148]
	cmp	r3, #0
	beq	.L1027
	ldr	r3, [fp, #-1064]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1161+20
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1027:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1028
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #36]
	b	.L1029
.L1028:
	ldr	r3, .L1161+64
.L1029:
	str	r3, [fp, #-1056]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1030
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1030
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-1096]
	b	.L1031
.L1033:
	ldr	r3, [fp, #-1096]
	sub	r3, r3, #1
	str	r3, [fp, #-1096]
.L1031:
	ldr	r3, [fp, #-1096]
	cmp	r3, #0
	ble	.L1034
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-1096]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1033
	b	.L1034
.L1036:
	ldr	r3, [fp, #-1096]
	sub	r3, r3, #1
	str	r3, [fp, #-1096]
.L1034:
	ldr	r3, [fp, #-1096]
	cmp	r3, #0
	ble	.L1035
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-1096]
	sub	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L1036
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1096]
	sub	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L1036
.L1035:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+68
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+72
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #40]
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1096]
	add	r3, r2, r3
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+76
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1096]
	add	r1, r2, r3
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-1096]
	add	r3, r2, r3
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+80
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	b	.L1037
.L1030:
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+84
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+88
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+92
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r2, [fp, #-1056]
	ldr	r1, .L1161+96
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1037:
	ldr	r3, [fp, #-1148]
	cmp	r3, #0
	beq	.L1038
	ldr	r3, [fp, #-1064]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L1161+32
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1038:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, .L1161+100
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, .L1161+104
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #32]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1161+108
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #32]
	ldr	r3, [r3, #48]
	mov	r2, r3
	ldr	r1, .L1161+112
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #148]
	cmp	r3, #0
	beq	.L1039
	ldr	r3, [fp, #-1064]
	mov	r2, #21
	mov	r1, #1
	ldr	r0, .L1161+116
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1039:
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-1052]
	ldr	r3, [fp, #-1052]
	cmp	r3, #0
	bne	.L1040
	ldr	r3, .L1161+120
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L1161+124
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1040:
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1041
.L1047:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1044]
	ldr	r3, [fp, #-1044]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-1044]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #12]
	add	r2, r2, r3
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-1044]
	mov	r2, #-2147483647
	str	r2, [r3, #24]
	ldr	r3, [fp, #-1044]
	mov	r2, #-2147483647
	str	r2, [r3, #28]
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-1132]
	b	.L1042
.L1046:
	ldr	r1, [fp, #-1132]
	ldr	r0, [fp, #-1144]
	bl	compute_action
	mov	r3, r0
	cmp	r3, #0
	blt	.L1043
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L1044
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #16]
	b	.L1043
.L1044:
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bge	.L1045
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #20]
	b	.L1043
.L1045:
	ldr	r1, [fp, #-1132]
	ldr	r0, [fp, #-1144]
	bl	compute_action
	mov	r2, r0
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #32]
.L1043:
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-1132]
.L1042:
	ldr	r3, [fp, #-1132]
	cmp	r3, #0
	bne	.L1046
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-1052]
	add	r3, r3, r2
	ldr	r2, [fp, #-1044]
	str	r2, [r3]
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-1052]
	add	r3, r3, r2
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-1052]
	add	r3, r3, r2
	ldr	r2, [fp, #-1044]
	ldr	r2, [r2, #16]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #12
	ldr	r2, [fp, #-1052]
	add	r3, r2, r3
	ldr	r2, [fp, #-1044]
	str	r2, [r3]
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #12
	ldr	r2, [fp, #-1052]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #12
	ldr	r2, [fp, #-1052]
	add	r3, r2, r3
	ldr	r2, [fp, #-1044]
	ldr	r2, [r2, #20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1041:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1047
	mov	r3, #0
	str	r3, [fp, #-1116]
	ldr	r3, [fp, #-1116]
	str	r3, [fp, #-1112]
	mov	r3, #0
	str	r3, [fp, #-1108]
	ldr	r3, [fp, #-1108]
	str	r3, [fp, #-1104]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r3, .L1161+128
	mov	r2, #12
	ldr	r0, [fp, #-1052]
	bl	qsort
	bl	acttab_alloc
	str	r0, [fp, #-1048]
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1048
.L1065:
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-1052]
	add	r3, r3, r2
	ldr	r3, [r3]
	str	r3, [fp, #-1044]
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-1052]
	add	r3, r3, r2
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1049
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-1132]
	b	.L1050
.L1054:
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bge	.L1152
	ldr	r1, [fp, #-1132]
	ldr	r0, [fp, #-1144]
	bl	compute_action
	str	r0, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	blt	.L1153
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-1036]
	mov	r1, r3
	ldr	r0, [fp, #-1048]
	bl	acttab_action
	b	.L1052
.L1152:
	nop
	b	.L1052
.L1153:
	nop
.L1052:
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-1132]
.L1050:
	ldr	r3, [fp, #-1132]
	cmp	r3, #0
	bne	.L1054
	ldr	r0, [fp, #-1048]
	bl	acttab_insert
	mov	r2, r0
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-1116]
	cmp	r2, r3
	ble	.L1055
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-1116]
.L1055:
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-1112]
	cmp	r2, r3
	bge	.L1056
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-1112]
	b	.L1056
.L1049:
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-1132]
	b	.L1057
.L1062:
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	blt	.L1154
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	beq	.L1155
	ldr	r1, [fp, #-1132]
	ldr	r0, [fp, #-1144]
	bl	compute_action
	str	r0, [fp, #-1040]
	ldr	r3, [fp, #-1040]
	cmp	r3, #0
	blt	.L1156
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-1040]
	mov	r1, r3
	ldr	r0, [fp, #-1048]
	bl	acttab_action
	b	.L1059
.L1154:
	nop
	b	.L1059
.L1155:
	nop
	b	.L1059
.L1156:
	nop
.L1059:
	ldr	r3, [fp, #-1132]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-1132]
.L1057:
	ldr	r3, [fp, #-1132]
	cmp	r3, #0
	bne	.L1062
	ldr	r0, [fp, #-1048]
	bl	acttab_insert
	mov	r2, r0
	ldr	r3, [fp, #-1044]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-1108]
	cmp	r2, r3
	ble	.L1063
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-1108]
.L1063:
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-1104]
	cmp	r2, r3
	bge	.L1056
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-1104]
.L1056:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1048:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bge	.L1064
	ldr	r2, [fp, #-1124]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-1052]
	add	r3, r3, r2
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1065
.L1064:
	ldr	r0, [fp, #-1052]
	bl	free
	ldr	r3, [fp, #-1064]
	mov	r2, #36
	mov	r1, #1
	ldr	r0, .L1161+132
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1048]
	ldr	r3, [r3]
	str	r3, [fp, #-1032]
	mov	r3, #0
	str	r3, [fp, #-1120]
	ldr	r3, [fp, #-1120]
	str	r3, [fp, #-1124]
	b	.L1066
.L1072:
	ldr	r3, [fp, #-1048]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-1092]
	ldr	r3, [fp, #-1092]
	cmp	r3, #0
	bge	.L1067
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #12]
	add	r3, r2, r3
	add	r3, r3, #2
	str	r3, [fp, #-1092]
.L1067:
	ldr	r3, [fp, #-1120]
	cmp	r3, #0
	bne	.L1068
	ldr	r2, [fp, #-1124]
	ldr	r1, .L1161+160
	ldr	r0, [fp, #-1064]
	bl	fprintf
.L1068:
	ldr	r2, [fp, #-1092]
	ldr	r1, .L1161+164
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1120]
	cmp	r3, #9
	beq	.L1069
	ldr	r3, [fp, #-1032]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bne	.L1070
.L1069:
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	mov	r3, #0
	str	r3, [fp, #-1120]
	b	.L1071
.L1070:
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1071:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1066:
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1032]
	cmp	r2, r3
	blt	.L1072
	ldr	r3, [fp, #-1064]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1161+168
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1064]
	mov	r2, #37
	mov	r1, #1
	ldr	r0, .L1161+136
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	mov	r3, #0
	str	r3, [fp, #-1120]
	ldr	r3, [fp, #-1120]
	str	r3, [fp, #-1124]
	b	.L1073
.L1079:
	ldr	r3, [fp, #-1048]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	cmp	r3, #0
	bge	.L1074
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-1088]
.L1074:
	ldr	r3, [fp, #-1120]
	cmp	r3, #0
	bne	.L1075
	ldr	r2, [fp, #-1124]
	ldr	r1, .L1161+160
	ldr	r0, [fp, #-1064]
	bl	fprintf
.L1075:
	ldr	r2, [fp, #-1088]
	ldr	r1, .L1161+164
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1120]
	cmp	r3, #9
	beq	.L1076
	ldr	r3, [fp, #-1032]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bne	.L1077
.L1076:
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	mov	r3, #0
	str	r3, [fp, #-1120]
	b	.L1078
.L1077:
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1078:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1073:
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1032]
	cmp	r2, r3
	blt	.L1079
	ldr	r3, [fp, #-1064]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1161+168
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1116]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1161+140
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1116]
	sub	r3, r3, #1
	ldr	r1, [fp, #-1112]
	mov	r0, r3
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1161+144
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-1032]
	mov	r3, #0
	str	r3, [fp, #-1120]
	ldr	r3, [fp, #-1120]
	str	r3, [fp, #-1124]
	b	.L1080
.L1162:
	.align	2
.L1161:
	.word	.LC213
	.word	.LC118
	.word	.LC168
	.word	.LC169
	.word	.LC170
	.word	.LC153
	.word	.LC31
	.word	.LC171
	.word	.LC156
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	.LC175
	.word	.LC176
	.word	.LC177
	.word	.LC178
	.word	.LC129
	.word	.LC179
	.word	.LC180
	.word	.LC181
	.word	.LC182
	.word	.LC183
	.word	.LC184
	.word	.LC185
	.word	.LC186
	.word	.LC187
	.word	.LC188
	.word	.LC189
	.word	.LC190
	.word	.LC191
	.word	stderr
	.word	.LC3
	.word	axset_compare
	.word	.LC192
	.word	.LC196
	.word	.LC197
	.word	.LC198
	.word	.LC199
	.word	.LC200
	.word	.LC201
	.word	.LC193
	.word	.LC194
	.word	.LC195
	.word	.LC202
	.word	.LC203
	.word	.LC204
	.word	.LC205
	.word	3631
	.word	.LC1
	.word	.LC206
	.word	.LC30
	.word	.LC207
	.word	.LC208
	.word	.LC209
	.word	.LC210
	.word	.LC211
	.word	.LC212
	.word	.LC213
.L1086:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1044]
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1084]
	cmp	r3, #-2147483647
	bne	.L1081
	ldr	r3, [fp, #-1116]
	sub	r3, r3, #1
	str	r3, [fp, #-1084]
.L1081:
	ldr	r3, [fp, #-1120]
	cmp	r3, #0
	bne	.L1082
	ldr	r2, [fp, #-1124]
	ldr	r1, .L1161+160
	ldr	r0, [fp, #-1064]
	bl	fprintf
.L1082:
	ldr	r2, [fp, #-1084]
	ldr	r1, .L1161+164
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1120]
	cmp	r3, #9
	beq	.L1083
	ldr	r3, [fp, #-1032]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bne	.L1084
.L1083:
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	mov	r3, #0
	str	r3, [fp, #-1120]
	b	.L1085
.L1084:
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1085:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1080:
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1032]
	cmp	r2, r3
	blt	.L1086
	ldr	r3, [fp, #-1064]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1161+168
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1108]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L1161+148
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1108]
	sub	r3, r3, #1
	ldr	r1, [fp, #-1104]
	mov	r0, r3
	bl	minimum_size_type
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L1161+152
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-1032]
	mov	r3, #0
	str	r3, [fp, #-1120]
	ldr	r3, [fp, #-1120]
	str	r3, [fp, #-1124]
	b	.L1087
.L1093:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1044]
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-1080]
	ldr	r3, [fp, #-1080]
	cmp	r3, #-2147483647
	bne	.L1088
	ldr	r3, [fp, #-1108]
	sub	r3, r3, #1
	str	r3, [fp, #-1080]
.L1088:
	ldr	r3, [fp, #-1120]
	cmp	r3, #0
	bne	.L1089
	ldr	r2, [fp, #-1124]
	ldr	r1, .L1161+160
	ldr	r0, [fp, #-1064]
	bl	fprintf
.L1089:
	ldr	r2, [fp, #-1080]
	ldr	r1, .L1161+164
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1120]
	cmp	r3, #9
	beq	.L1090
	ldr	r3, [fp, #-1032]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bne	.L1091
.L1090:
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	mov	r3, #0
	str	r3, [fp, #-1120]
	b	.L1092
.L1091:
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1092:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1087:
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1032]
	cmp	r2, r3
	blt	.L1093
	ldr	r3, [fp, #-1064]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1161+168
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1064]
	mov	r2, #37
	mov	r1, #1
	ldr	r0, .L1161+156
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-1032]
	mov	r3, #0
	str	r3, [fp, #-1120]
	ldr	r3, [fp, #-1120]
	str	r3, [fp, #-1124]
	b	.L1094
.L1099:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1044]
	ldr	r3, [fp, #-1120]
	cmp	r3, #0
	bne	.L1095
	ldr	r2, [fp, #-1124]
	ldr	r1, .L1161+160
	ldr	r0, [fp, #-1064]
	bl	fprintf
.L1095:
	ldr	r3, [fp, #-1044]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r1, .L1161+164
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1120]
	cmp	r3, #9
	beq	.L1096
	ldr	r3, [fp, #-1032]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bne	.L1097
.L1096:
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	mov	r3, #0
	str	r3, [fp, #-1120]
	b	.L1098
.L1097:
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1098:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1094:
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1032]
	cmp	r2, r3
	blt	.L1099
	ldr	r3, [fp, #-1064]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1161+168
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #148]
	cmp	r3, #0
	beq	.L1100
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1101
.L1104:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1028]
	ldr	r3, [fp, #-1028]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1102
	ldr	r3, [fp, #-1028]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1161+172
	ldr	r0, [fp, #-1064]
	bl	fprintf
	b	.L1103
.L1102:
	ldr	r3, [fp, #-1028]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1028]
	ldr	r1, [r3]
	ldr	r3, [fp, #-1028]
	ldr	r3, [r3, #16]
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L1161+176
	ldr	r0, [fp, #-1064]
	bl	fprintf
.L1103:
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1101:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1104
.L1100:
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1105
.L1107:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	sub	r3, fp, #1008
	ldr	r1, .L1161+180
	mov	r0, r3
	bl	sprintf
	sub	r3, fp, #1008
	mov	r2, r3
	ldr	r1, .L1161+184
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1124]
	and	r3, r3, #3
	cmp	r3, #3
	bne	.L1106
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1106:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1105:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1107
	ldr	r3, [fp, #-1124]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L1108
	ldr	r1, [fp, #-1064]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1108:
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	mov	r3, #0
	str	r3, [fp, #-1124]
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-1128]
	b	.L1109
.L1113:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	beq	.L1110
	ldr	r1, .L1161+188
	ldr	r0, .L1161+192
	bl	myassert
.L1110:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-1124]
	ldr	r1, .L1161+196
	ldr	r0, [fp, #-1064]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-1120]
	b	.L1111
.L1112:
	ldr	r3, [fp, #-1128]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-1120]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L1161+200
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1111:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-1120]
	cmp	r2, r3
	blt	.L1112
	ldr	r3, [fp, #-1064]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L1161+204
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-1128]
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1109:
	ldr	r3, [fp, #-1128]
	cmp	r3, #0
	bne	.L1113
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L1114
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1115
.L1119:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1024]
	ldr	r3, [fp, #-1024]
	cmp	r3, #0
	beq	.L1157
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1157
	ldr	r3, [fp, #-1024]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1161+208
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	b	.L1118
.L1157:
	nop
.L1118:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1115:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1119
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1120
.L1122:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1120:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bge	.L1121
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1122
.L1121:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	bge	.L1114
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	emit_destructor_code
	ldr	r3, [fp, #-1064]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L1161+212
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1114:
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1123
.L1130:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1016]
	ldr	r3, [fp, #-1016]
	cmp	r3, #0
	beq	.L1158
	ldr	r3, [fp, #-1016]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1158
	ldr	r3, [fp, #-1016]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1158
	ldr	r3, [fp, #-1016]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1161+208
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
	b	.L1127
.L1129:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1120]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1012]
	ldr	r3, [fp, #-1012]
	cmp	r3, #0
	beq	.L1128
	ldr	r3, [fp, #-1012]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1128
	ldr	r3, [fp, #-1012]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1128
	ldr	r3, [fp, #-1012]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-1016]
	ldr	r3, [r3, #48]
	cmp	r2, r3
	bne	.L1128
	ldr	r3, [fp, #-1016]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-1012]
	ldr	r3, [r3, #36]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1128
	ldr	r3, [fp, #-1012]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1161+208
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1012]
	mov	r2, #0
	str	r2, [r3, #36]
.L1128:
	ldr	r3, [fp, #-1120]
	add	r3, r3, #1
	str	r3, [fp, #-1120]
.L1127:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1120]
	cmp	r2, r3
	blt	.L1129
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	emit_destructor_code
	ldr	r3, [fp, #-1064]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L1161+212
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	b	.L1126
.L1158:
	nop
.L1126:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1123:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1130
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #116]
	cmp	r3, #0
	beq	.L1131
	mov	r3, #0
	str	r3, [fp, #-1076]
	mov	r3, #0
	str	r3, [fp, #-1124]
	b	.L1132
.L1136:
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1020]
	ldr	r3, [fp, #-1020]
	cmp	r3, #0
	beq	.L1159
	ldr	r3, [fp, #-1020]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1159
	ldr	r3, [fp, #-1020]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	ble	.L1159
	ldr	r3, [fp, #-1020]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L1159
	ldr	r3, [fp, #-1020]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, .L1161+208
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1020]
	str	r3, [fp, #-1076]
	b	.L1135
.L1159:
	nop
.L1135:
	ldr	r3, [fp, #-1124]
	add	r3, r3, #1
	str	r3, [fp, #-1124]
.L1132:
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-1124]
	cmp	r2, r3
	blt	.L1136
	ldr	r3, [fp, #-1076]
	cmp	r3, #0
	beq	.L1131
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1144]
	ldr	r1, [fp, #-1076]
	ldr	r0, [fp, #-1064]
	bl	emit_destructor_code
	ldr	r3, [fp, #-1064]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L1161+212
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
.L1131:
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #80]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	tplt_print
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-1128]
	b	.L1137
.L1138:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #12]
	ldr	r1, .L1161+216
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-1128]
.L1137:
	ldr	r3, [fp, #-1128]
	cmp	r3, #0
	bne	.L1138
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-1128]
	b	.L1139
.L1141:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1140
	ldr	r1, [fp, #-1128]
	ldr	r0, [fp, #-1144]
	bl	translate_code
.L1140:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-1128]
.L1139:
	ldr	r3, [fp, #-1128]
	cmp	r3, #0
	bne	.L1141
	ldr	r3, [fp, #-1144]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-1128]
	b	.L1142
.L1148:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1160
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #36]
	mov	r2, r3
	ldr	r1, .L1161+220
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-1072]
	b	.L1145
.L1147:
	ldr	r3, [fp, #-1072]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #28]
	cmp	r2, r3
	bne	.L1146
	ldr	r3, [fp, #-1072]
	ldr	r3, [r3, #36]
	mov	r2, r3
	ldr	r1, .L1161+220
	ldr	r0, [fp, #-1064]
	bl	fprintf
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	ldr	r3, [fp, #-1072]
	mov	r2, #0
	str	r2, [r3, #28]
.L1146:
	ldr	r3, [fp, #-1072]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-1072]
.L1145:
	ldr	r3, [fp, #-1072]
	cmp	r3, #0
	bne	.L1147
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1144]
	ldr	r1, [fp, #-1128]
	ldr	r0, [fp, #-1064]
	bl	emit_code
	ldr	r3, [fp, #-1064]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L1161+224
	bl	fwrite
	ldr	r3, [fp, #-1136]
	add	r3, r3, #1
	str	r3, [fp, #-1136]
	b	.L1144
.L1160:
	nop
.L1144:
	ldr	r3, [fp, #-1128]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-1128]
.L1142:
	ldr	r3, [fp, #-1128]
	cmp	r3, #0
	bne	.L1148
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #88]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	tplt_print
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #72]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	tplt_print
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #92]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #96]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	tplt_print
	ldr	r3, [fp, #-1144]
	ldr	r0, [r3, #36]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1064]
	ldr	r1, [fp, #-1068]
	bl	tplt_xfer
	ldr	r3, [fp, #-1144]
	ldr	r2, [r3, #100]
	ldr	r3, [fp, #-1144]
	ldr	r1, [r3, #104]
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-1144]
	ldr	r0, [fp, #-1064]
	bl	tplt_print
	ldr	r0, [fp, #-1068]
	bl	fclose
	ldr	r0, [fp, #-1064]
	bl	fclose
	b	.L1014
.L1151:
	nop
.L1014:
	ldr	r3, .L1161+228
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1150
	bl	__stack_chk_fail
.L1150:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ReportTable, .-ReportTable
	.section	.rodata
	.align	2
.LC214:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ReportHeader
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReportHeader, %function
ReportHeader:
	@ args = 0, pretend = 0, frame = 2032
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2032
	sub	sp, sp, #8
	str	r0, [fp, #-2032]
	ldr	r3, .L1180
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #132]
	cmp	r3, #0
	beq	.L1164
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-2024]
	b	.L1165
.L1164:
	ldr	r3, .L1180+4
	str	r3, [fp, #-2024]
.L1165:
	ldr	r2, .L1180+8
	ldr	r1, .L1180+12
	ldr	r0, [fp, #-2032]
	bl	file_open
	str	r0, [fp, #-2016]
	ldr	r3, [fp, #-2016]
	cmp	r3, #0
	beq	.L1166
	mov	r3, #1
	str	r3, [fp, #-2020]
	b	.L1167
.L1170:
	ldr	r3, [fp, #-2032]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-2020]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	sub	r0, fp, #1008
	ldr	r3, [fp, #-2020]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-2024]
	ldr	r1, .L1180+16
	bl	sprintf
	sub	r2, fp, #1008
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1177
	ldr	r3, [fp, #-2020]
	add	r3, r3, #1
	str	r3, [fp, #-2020]
.L1167:
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-2020]
	cmp	r2, r3
	bge	.L1169
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-2016]
	mov	r1, #1000
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L1170
	b	.L1169
.L1177:
	nop
.L1169:
	ldr	r0, [fp, #-2016]
	bl	fclose
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-2020]
	cmp	r2, r3
	beq	.L1178
.L1166:
	ldr	r2, .L1180+20
	ldr	r1, .L1180+12
	ldr	r0, [fp, #-2032]
	bl	file_open
	str	r0, [fp, #-2012]
	ldr	r3, [fp, #-2012]
	cmp	r3, #0
	beq	.L1179
	mov	r3, #1
	str	r3, [fp, #-2020]
	b	.L1173
.L1174:
	ldr	r3, [fp, #-2032]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-2020]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-2020]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-2024]
	ldr	r1, .L1180+16
	ldr	r0, [fp, #-2012]
	bl	fprintf
	ldr	r3, [fp, #-2020]
	add	r3, r3, #1
	str	r3, [fp, #-2020]
.L1173:
	ldr	r3, [fp, #-2032]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-2020]
	cmp	r2, r3
	blt	.L1174
	ldr	r0, [fp, #-2012]
	bl	fclose
	b	.L1179
.L1178:
	nop
	b	.L1163
.L1179:
	nop
.L1163:
	ldr	r3, .L1180
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1176
	bl	__stack_chk_fail
.L1176:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1181:
	.align	2
.L1180:
	.word	.LC214
	.word	.LC31
	.word	.LC135
	.word	.LC169
	.word	.LC171
	.word	.LC118
	.size	ReportHeader, .-ReportHeader
	.align	2
	.global	CompressTables
	.syntax unified
	.arm
	.fpu softvfp
	.type	CompressTables, %function
CompressTables:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1183
.L1204:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	b	.L1184
.L1193:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1205
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	beq	.L1206
	mov	r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
	b	.L1188
.L1192:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1207
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	beq	.L1208
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L1190
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1190
.L1207:
	nop
	b	.L1190
.L1208:
	nop
.L1190:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-36]
.L1188:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1192
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	ble	.L1186
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	b	.L1186
.L1205:
	nop
	b	.L1186
.L1206:
	nop
.L1186:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
.L1184:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1193
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	ble	.L1209
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	b	.L1196
.L1199:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1197
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	beq	.L1210
.L1197:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
.L1196:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1199
	b	.L1198
.L1210:
	nop
.L1198:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1200
	ldr	r1, .L1211
	ldr	r0, .L1211+4
	bl	myassert
.L1200:
	ldr	r0, .L1211+8
	bl	Symbol_new
	mov	r2, r0
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	b	.L1201
.L1203:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1202
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L1202
	ldr	r3, [fp, #-40]
	mov	r2, #7
	str	r2, [r3, #4]
.L1202:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
.L1201:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1203
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	Action_sort
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	b	.L1195
.L1209:
	nop
.L1195:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1183:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1204
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1212:
	.align	2
.L1211:
	.word	3822
	.word	.LC1
	.word	.LC24
	.size	CompressTables, .-CompressTables
	.local	size
	.comm	size,4,4
	.align	2
	.global	SetSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetSize, %function
SetSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, .L1214
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1215:
	.align	2
.L1214:
	.word	size
	.size	SetSize, .-SetSize
	.align	2
	.global	SetNew
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetNew, %function
SetNew:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1221
	ldr	r3, [r3]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1217
	bl	memory_error
.L1217:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1218
.L1219:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1218:
	ldr	r3, .L1221
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1219
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1222:
	.align	2
.L1221:
	.word	size
	.size	SetNew, .-SetNew
	.align	2
	.global	SetFree
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetFree, %function
SetFree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	SetFree, .-SetFree
	.align	2
	.global	SetAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetAdd, %function
SetAdd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	SetAdd, .-SetAdd
	.align	2
	.global	SetUnion
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetUnion, %function
SetUnion:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1227
.L1230:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1232
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1229
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	b	.L1229
.L1232:
	nop
.L1229:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1227:
	ldr	r3, .L1233
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1230
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1234:
	.align	2
.L1233:
	.word	size
	.size	SetUnion, .-SetUnion
	.align	2
	.global	strhash
	.syntax unified
	.arm
	.fpu softvfp
	.type	strhash, %function
strhash:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1236
.L1237:
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r3, r2
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-8]
.L1236:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1237
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	strhash, .-strhash
	.align	2
	.global	Strsafe
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe, %function
Strsafe:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	Strsafe_find
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1240
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1240
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	strcpy
	ldr	r0, [fp, #-8]
	bl	Strsafe_insert
.L1240:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1241
	bl	memory_error
.L1241:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Strsafe, .-Strsafe
	.local	x1a
	.comm	x1a,4,4
	.align	2
	.global	Strsafe_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe_init, %function
Strsafe_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1250
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1249
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1250
	str	r2, [r3]
	ldr	r3, .L1250
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1243
	ldr	r3, .L1250
	ldr	r3, [r3]
	mov	r2, #1024
	str	r2, [r3]
	ldr	r3, .L1250
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1250
	ldr	r4, [r3]
	mov	r0, #16384
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1250
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1246
	ldr	r3, .L1250
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1250
	mov	r2, #0
	str	r2, [r3]
	b	.L1243
.L1246:
	ldr	r3, .L1250
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1250
	ldr	r3, [r3]
	add	r2, r2, #12288
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1247
.L1248:
	ldr	r3, .L1250
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1247:
	ldr	r3, [fp, #-16]
	cmp	r3, #1024
	blt	.L1248
	b	.L1243
.L1249:
	nop
.L1243:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1251:
	.align	2
.L1250:
	.word	x1a
	.size	Strsafe_init, .-Strsafe_init
	.align	2
	.global	Strsafe_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe_insert, %function
Strsafe_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L1266
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1253
	mov	r3, #0
	b	.L1254
.L1253:
	ldr	r0, [fp, #-56]
	bl	strhash
	str	r0, [fp, #-40]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1255
.L1257:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1256
	mov	r3, #0
	b	.L1254
.L1256:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-48]
.L1255:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1257
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1258
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1259
	mov	r3, #0
	b	.L1254
.L1259:
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1260
.L1261:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1260:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1261
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1262
.L1264:
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	strhash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1263
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1263:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1262:
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1264
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, .L1266
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1258:
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1265
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1265:
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1266
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	mov	r3, #1
.L1254:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1267:
	.align	2
.L1266:
	.word	x1a
	.size	Strsafe_insert, .-Strsafe_insert
	.align	2
	.global	Strsafe_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	Strsafe_find, %function
Strsafe_find:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L1278
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1269
	mov	r3, #0
	b	.L1270
.L1269:
	ldr	r0, [fp, #-16]
	bl	strhash
	mov	r2, r0
	ldr	r3, .L1278
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1278
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1271
.L1274:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1277
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L1271:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1274
	b	.L1273
.L1277:
	nop
.L1273:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1275
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1270
.L1275:
	mov	r3, #0
.L1270:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1279:
	.align	2
.L1278:
	.word	x1a
	.size	Strsafe_find, .-Strsafe_find
	.align	2
	.global	Symbol_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_new, %function
Symbol_new:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	Symbol_find
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1281
	mov	r0, #52
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1282
	bl	memory_error
.L1282:
	ldr	r0, [fp, #-16]
	bl	Strsafe
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Symbol_insert
.L1281:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Symbol_new, .-Symbol_new
	.align	2
	.global	Symbolcmpp
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbolcmpp, %function
Symbolcmpp:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	cmp	r2, #90
	bls	.L1285
	ldr	r2, .L1290
	b	.L1286
.L1285:
	mov	r2, #0
.L1286:
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	cmp	r2, #90
	bls	.L1287
	ldr	r2, .L1290
	b	.L1288
.L1287:
	mov	r2, #0
.L1288:
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1291:
	.align	2
.L1290:
	.word	10000000
	.size	Symbolcmpp, .-Symbolcmpp
	.local	x2a
	.comm	x2a,4,4
	.align	2
	.global	Symbol_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_init, %function
Symbol_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1299
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1298
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1299
	str	r2, [r3]
	ldr	r3, .L1299
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1292
	ldr	r3, .L1299
	ldr	r3, [r3]
	mov	r2, #128
	str	r2, [r3]
	ldr	r3, .L1299
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1299
	ldr	r4, [r3]
	mov	r0, #2560
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1299
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1295
	ldr	r3, .L1299
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1299
	mov	r2, #0
	str	r2, [r3]
	b	.L1292
.L1295:
	ldr	r3, .L1299
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1299
	ldr	r3, [r3]
	add	r2, r2, #2048
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1296
.L1297:
	ldr	r3, .L1299
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1296:
	ldr	r3, [fp, #-16]
	cmp	r3, #127
	ble	.L1297
	b	.L1292
.L1298:
	nop
.L1292:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1300:
	.align	2
.L1299:
	.word	x2a
	.size	Symbol_init, .-Symbol_init
	.align	2
	.global	Symbol_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_insert, %function
Symbol_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1315
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1302
	mov	r3, #0
	b	.L1303
.L1302:
	ldr	r0, [fp, #-60]
	bl	strhash
	str	r0, [fp, #-40]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1304
.L1306:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1305
	mov	r3, #0
	b	.L1303
.L1305:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-48]
.L1304:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1306
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1307
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1308
	mov	r3, #0
	b	.L1303
.L1308:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1309
.L1310:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1309:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1310
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1311
.L1313:
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	strhash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1312
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1312:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1311:
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1313
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, .L1315
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1307:
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1314
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1314:
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1315
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	mov	r3, #1
.L1303:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1316:
	.align	2
.L1315:
	.word	x2a
	.size	Symbol_insert, .-Symbol_insert
	.align	2
	.global	Symbol_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_find, %function
Symbol_find:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L1327
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1318
	mov	r3, #0
	b	.L1319
.L1318:
	ldr	r0, [fp, #-16]
	bl	strhash
	mov	r2, r0
	ldr	r3, .L1327
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1327
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1320
.L1323:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1326
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L1320:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1323
	b	.L1322
.L1326:
	nop
.L1322:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1324
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1319
.L1324:
	mov	r3, #0
.L1319:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1328:
	.align	2
.L1327:
	.word	x2a
	.size	Symbol_find, .-Symbol_find
	.align	2
	.global	Symbol_Nth
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_Nth, %function
Symbol_Nth:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L1333
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1330
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L1330
	ldr	r3, .L1333
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L1330
	ldr	r3, .L1333
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-268435455
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L1331
.L1330:
	mov	r3, #0
	str	r3, [fp, #-8]
.L1331:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1334:
	.align	2
.L1333:
	.word	x2a
	.size	Symbol_Nth, .-Symbol_Nth
	.align	2
	.global	Symbol_count
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_count, %function
Symbol_count:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L1339
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1336
	ldr	r3, .L1339
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	b	.L1338
.L1336:
	mov	r3, #0
.L1338:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1340:
	.align	2
.L1339:
	.word	x2a
	.size	Symbol_count, .-Symbol_count
	.align	2
	.global	Symbol_arrayof
	.syntax unified
	.arm
	.fpu softvfp
	.type	Symbol_arrayof, %function
Symbol_arrayof:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L1347
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1342
	mov	r3, #0
	b	.L1343
.L1342:
	ldr	r3, .L1347
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1344
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1345
.L1346:
	ldr	r3, .L1347
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1345:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L1346
.L1344:
	ldr	r3, [fp, #-8]
.L1343:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1348:
	.align	2
.L1347:
	.word	x2a
	.size	Symbol_arrayof, .-Symbol_arrayof
	.align	2
	.global	Configcmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configcmp, %function
Configcmp:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1350
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L1350:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Configcmp, .-Configcmp
	.align	2
	.global	statecmp
	.syntax unified
	.arm
	.fpu softvfp
	.type	statecmp, %function
statecmp:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1353
.L1356:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1354
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L1354:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-20]
.L1353:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1355
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1355
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1356
.L1355:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1357
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1358
	mov	r3, #1
	str	r3, [fp, #-8]
.L1358:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1357
	mvn	r3, #0
	str	r3, [fp, #-8]
.L1357:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	statecmp, .-statecmp
	.align	2
	.global	statehash
	.syntax unified
	.arm
	.fpu softvfp
	.type	statehash, %function
statehash:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1361
.L1362:
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r1, r3, r2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #36]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-16]
.L1361:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1362
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	statehash, .-statehash
	.align	2
	.global	State_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_new, %function
State_new:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #36
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1365
	bl	memory_error
.L1365:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	State_new, .-State_new
	.local	x3a
	.comm	x3a,4,4
	.align	2
	.global	State_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_init, %function
State_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1374
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1373
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1374
	str	r2, [r3]
	ldr	r3, .L1374
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1367
	ldr	r3, .L1374
	ldr	r3, [r3]
	mov	r2, #128
	str	r2, [r3]
	ldr	r3, .L1374
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1374
	ldr	r4, [r3]
	mov	r0, #2560
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1374
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1370
	ldr	r3, .L1374
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1374
	mov	r2, #0
	str	r2, [r3]
	b	.L1367
.L1370:
	ldr	r3, .L1374
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1374
	ldr	r3, [r3]
	add	r2, r2, #2048
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1371
.L1372:
	ldr	r3, .L1374
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1371:
	ldr	r3, [fp, #-16]
	cmp	r3, #127
	ble	.L1372
	b	.L1367
.L1373:
	nop
.L1367:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1375:
	.align	2
.L1374:
	.word	x3a
	.size	State_init, .-State_init
	.align	2
	.global	State_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_insert, %function
State_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1390
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1377
	mov	r3, #0
	b	.L1378
.L1377:
	ldr	r0, [fp, #-60]
	bl	statehash
	str	r0, [fp, #-40]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1379
.L1381:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	statecmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1380
	mov	r3, #0
	b	.L1378
.L1380:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-48]
.L1379:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1381
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1382
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1383
	mov	r3, #0
	b	.L1378
.L1383:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1384
.L1385:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1384:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1385
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1386
.L1388:
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	statehash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1387
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1387:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1386:
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1388
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, .L1390
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1382:
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1389
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #8
	str	r2, [r3, #12]
.L1389:
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1390
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	mov	r3, #1
.L1378:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1391:
	.align	2
.L1390:
	.word	x3a
	.size	State_insert, .-State_insert
	.align	2
	.global	State_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_find, %function
State_find:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L1402
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1393
	mov	r3, #0
	b	.L1394
.L1393:
	ldr	r0, [fp, #-16]
	bl	statehash
	mov	r2, r0
	ldr	r3, .L1402
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1402
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1395
.L1398:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	statecmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1401
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L1395:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1398
	b	.L1397
.L1401:
	nop
.L1397:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1399
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1394
.L1399:
	mov	r3, #0
.L1394:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1403:
	.align	2
.L1402:
	.word	x3a
	.size	State_find, .-State_find
	.align	2
	.global	State_arrayof
	.syntax unified
	.arm
	.fpu softvfp
	.type	State_arrayof, %function
State_arrayof:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L1410
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1405
	mov	r3, #0
	b	.L1406
.L1405:
	ldr	r3, .L1410
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1407
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1408
.L1409:
	ldr	r3, .L1410
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1408:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L1409
.L1407:
	ldr	r3, [fp, #-8]
.L1406:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1411:
	.align	2
.L1410:
	.word	x3a
	.size	State_arrayof, .-State_arrayof
	.align	2
	.global	confighash
	.syntax unified
	.arm
	.fpu softvfp
	.type	confighash, %function
confighash:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r1, r3, r2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #36]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	confighash, .-confighash
	.local	x4a
	.comm	x4a,4,4
	.align	2
	.global	Configtable_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_init, %function
Configtable_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L1421
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1420
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L1421
	str	r2, [r3]
	ldr	r3, .L1421
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1414
	ldr	r3, .L1421
	ldr	r3, [r3]
	mov	r2, #64
	str	r2, [r3]
	ldr	r3, .L1421
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1421
	ldr	r4, [r3]
	mov	r0, #1024
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, .L1421
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1417
	ldr	r3, .L1421
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L1421
	mov	r2, #0
	str	r2, [r3]
	b	.L1414
.L1417:
	ldr	r3, .L1421
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	ldr	r3, .L1421
	ldr	r3, [r3]
	add	r2, r2, #768
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1418
.L1419:
	ldr	r3, .L1421
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1418:
	ldr	r3, [fp, #-16]
	cmp	r3, #63
	ble	.L1419
	b	.L1414
.L1420:
	nop
.L1414:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1422:
	.align	2
.L1421:
	.word	x4a
	.size	Configtable_init, .-Configtable_init
	.align	2
	.global	Configtable_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_insert, %function
Configtable_insert:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L1437
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1424
	mov	r3, #0
	b	.L1425
.L1424:
	ldr	r0, [fp, #-56]
	bl	confighash
	str	r0, [fp, #-40]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	b	.L1426
.L1428:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	Configcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1427
	mov	r3, #0
	b	.L1425
.L1427:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-48]
.L1426:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1428
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L1429
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1430
	mov	r3, #0
	b	.L1425
.L1430:
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1431
.L1432:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1431:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1432
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1433
.L1435:
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	confighash
	mov	r2, r0
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1434
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1434:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L1433:
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L1435
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, .L1437
	ldr	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L1429:
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	add	r0, r2, #1
	str	r0, [r3, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1436
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	add	r2, r2, #4
	str	r2, [r3, #8]
.L1436:
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	ldr	r3, .L1437
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	mov	r3, #1
.L1425:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1438:
	.align	2
.L1437:
	.word	x4a
	.size	Configtable_insert, .-Configtable_insert
	.align	2
	.global	Configtable_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_find, %function
Configtable_find:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L1449
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1440
	mov	r3, #0
	b	.L1441
.L1440:
	ldr	r0, [fp, #-16]
	bl	confighash
	mov	r2, r0
	ldr	r3, .L1449
	ldr	r3, [r3]
	ldr	r3, [r3]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L1449
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1442
.L1445:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Configcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1448
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L1442:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1445
	b	.L1444
.L1448:
	nop
.L1444:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1446
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L1441
.L1446:
	mov	r3, #0
.L1441:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1450:
	.align	2
.L1449:
	.word	x4a
	.size	Configtable_find, .-Configtable_find
	.align	2
	.global	Configtable_clear
	.syntax unified
	.arm
	.fpu softvfp
	.type	Configtable_clear, %function
Configtable_clear:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L1461
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1460
	ldr	r3, .L1461
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1460
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1455
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1456
.L1457:
	ldr	r3, .L1461
	ldr	r3, [r3]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1456:
	ldr	r3, .L1461
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1457
.L1455:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1458
.L1459:
	ldr	r3, .L1461
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1458:
	ldr	r3, .L1461
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1459
	ldr	r3, .L1461
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L1451
.L1460:
	nop
.L1451:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1462:
	.align	2
.L1461:
	.word	x4a
	.size	Configtable_clear, .-Configtable_clear
	.local	freelist.6211
	.comm	freelist.6211,4,4
	.section	.rodata
	.align	2
.LC215:
	.ascii	"b\000"
	.align	2
.LC216:
	.ascii	"Print only the basis in report.\000"
	.align	2
.LC217:
	.ascii	"c\000"
	.align	2
.LC218:
	.ascii	"Don't compress the action table.\000"
	.align	2
.LC219:
	.ascii	"D\000"
	.align	2
.LC220:
	.ascii	"Define an %ifdef macro.\000"
	.align	2
.LC221:
	.ascii	"g\000"
	.align	2
.LC222:
	.ascii	"Print grammar without actions.\000"
	.align	2
.LC223:
	.ascii	"m\000"
	.align	2
.LC224:
	.ascii	"Output a makeheaders compatible file\000"
	.align	2
.LC225:
	.ascii	"q\000"
	.align	2
.LC226:
	.ascii	"(Quiet) Don't print the report file.\000"
	.align	2
.LC227:
	.ascii	"s\000"
	.align	2
.LC228:
	.ascii	"Print parser stats to standard output.\000"
	.align	2
.LC229:
	.ascii	"x\000"
	.align	2
.LC230:
	.ascii	"Print the version number.\000"
	.data
	.align	2
	.type	options.6616, %object
	.size	options.6616, 144
options.6616:
	.word	1
	.word	.LC215
	.word	basisflag.6611
	.word	.LC216
	.word	1
	.word	.LC217
	.word	compress.6612
	.word	.LC218
	.word	8
	.word	.LC219
	.word	handle_D_option
	.word	.LC220
	.word	1
	.word	.LC221
	.word	rpflag.6610
	.word	.LC222
	.word	1
	.word	.LC223
	.word	mhflag.6615
	.word	.LC224
	.word	1
	.word	.LC225
	.word	quiet.6613
	.word	.LC226
	.word	1
	.word	.LC227
	.word	statistics.6614
	.word	.LC228
	.word	1
	.word	.LC229
	.word	version.6609
	.word	.LC230
	.word	1
	.word	0
	.word	0
	.word	0
	.local	version.6609
	.comm	version.6609,4,4
	.local	basisflag.6611
	.comm	basisflag.6611,4,4
	.local	rpflag.6610
	.comm	rpflag.6610,4,4
	.local	compress.6612
	.comm	compress.6612,4,4
	.local	quiet.6613
	.comm	quiet.6613,4,4
	.local	mhflag.6615
	.comm	mhflag.6615,4,4
	.local	statistics.6614
	.comm	statistics.6614,4,4
	.align	2
	.type	templatename.7084, %object
	.size	templatename.7084, 9
templatename.7084:
	.ascii	"lempar.c\000"
	.local	used.7124
	.comm	used.7124,4,4
	.local	z.7122
	.comm	z.7122,4,4
	.local	alloced.7123
	.comm	alloced.7123,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
