	.file	"extr_copy.c_CopyGetData.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"could not read from COPY file: %m"
	.align 8
.LC1:
	.string	"unexpected EOF on client connection with an open transaction"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC2:
	.string	"COPY from stdin failed: %s"
	.section	.rodata.str1.8
	.align 8
.LC3:
	.string	"unexpected message type 0x%02X during COPY from stdin"
	.text
	.p2align 4
	.type	CopyGetData, @function
CopyGetData:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14, rsi
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13d, ecx
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rdi
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	mov	eax, DWORD PTR [rdi]
	cmp	eax, 130
	je	.L2
	mov	r12d, edx
	jg	.L3
	cmp	eax, 128
	je	.L4
	cmp	eax, 129
	jne	.L46
	xor	r15d, r15d
	test	ecx, ecx
	jle	.L1
	test	edx, edx
	jle	.L1
.L8:
	mov	eax, DWORD PTR 4[rbx]
	test	eax, eax
	jne	.L1
.L17:
	mov	rdi, QWORD PTR 16[rbx]
	mov	edx, DWORD PTR [rdi]
	mov	eax, DWORD PTR 4[rdi]
	cmp	edx, eax
	jl	.L48
.L11:
	xor	eax, eax
	call	HOLD_CANCEL_INTERRUPTS@PLT
	xor	eax, eax
	call	pq_startmsgread@PLT
	xor	eax, eax
	call	pq_getbyte@PLT
	cmp	DWORD PTR EOF[rip], eax
	mov	ebp, eax
	je	.L49
.L12:
	mov	rdi, QWORD PTR 16[rbx]
	xor	esi, esi
	call	pq_getmessage@PLT
	test	eax, eax
	jne	.L50
.L13:
	xor	eax, eax
	call	RESUME_CANCEL_INTERRUPTS@PLT
	lea	eax, -72[rbp]
	cmp	eax, 30
	ja	.L14
	lea	rcx, .L16[rip]
	movsx	rax, DWORD PTR [rcx+rax*4]
	add	rax, rcx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L16:
	.long	.L11-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L11-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L14-.L16
	.long	.L18-.L16
	.long	.L17-.L16
	.long	.L14-.L16
	.long	.L15-.L16
	.text
	.p2align 4,,10
	.p2align 3
.L4:
	mov	esi, edx
	mov	rdi, r14
	mov	r15d, r12d
	call	pq_getbytes@PLT
	test	eax, eax
	je	.L1
	mov	edi, DWORD PTR ERRCODE_CONNECTION_FAILURE[rip]
	call	errcode@PLT
	lea	rdi, .LC1[rip]
	xor	eax, eax
	call	errmsg@PLT
	mov	edi, DWORD PTR ERROR[rip]
	mov	esi, eax
	call	ereport@PLT
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r15d
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L3:
	.cfi_restore_state
	cmp	eax, 131
	jne	.L46
	mov	rax, QWORD PTR 8[rdi]
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	esi, r12d
	mov	rdi, r14
	pop	rbx
	.cfi_def_cfa_offset 48
	mov	edx, ecx
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	jmp	rax
	.p2align 4,,10
	.p2align 3
.L46:
	.cfi_restore_state
	xor	r15d, r15d
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L14:
	mov	edi, DWORD PTR ERRCODE_PROTOCOL_VIOLATION[rip]
	call	errcode@PLT
	mov	esi, ebp
	lea	rdi, .LC3[rip]
.L45:
	xor	eax, eax
	call	errmsg@PLT
	mov	edi, DWORD PTR ERROR[rip]
	mov	esi, eax
	call	ereport@PLT
	jmp	.L17
	.p2align 4,,10
	.p2align 3
.L2:
	mov	ecx, DWORD PTR 24[rdi]
	mov	edx, r13d
	mov	rdi, r14
	mov	esi, 1
	call	fread@PLT
	mov	edi, DWORD PTR 24[rbx]
	mov	r15d, eax
	call	ferror@PLT
	test	eax, eax
	jne	.L51
.L10:
	test	r15d, r15d
	jne	.L1
.L18:
	mov	DWORD PTR 4[rbx], 1
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L15:
	mov	edi, DWORD PTR ERRCODE_QUERY_CANCELED[rip]
	call	errcode@PLT
	mov	rdi, QWORD PTR 16[rbx]
	call	pq_getmsgstring@PLT
	lea	rdi, .LC2[rip]
	mov	esi, eax
	jmp	.L45
	.p2align 4,,10
	.p2align 3
.L50:
	mov	edi, DWORD PTR ERRCODE_CONNECTION_FAILURE[rip]
	call	errcode@PLT
	lea	rdi, .LC1[rip]
	xor	eax, eax
	call	errmsg@PLT
	mov	edi, DWORD PTR ERROR[rip]
	mov	esi, eax
	call	ereport@PLT
	jmp	.L13
	.p2align 4,,10
	.p2align 3
.L49:
	mov	edi, DWORD PTR ERRCODE_CONNECTION_FAILURE[rip]
	call	errcode@PLT
	lea	rdi, .LC1[rip]
	xor	eax, eax
	call	errmsg@PLT
	mov	edi, DWORD PTR ERROR[rip]
	mov	esi, eax
	call	ereport@PLT
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L51:
	xor	eax, eax
	call	errcode_for_file_access@PLT
	lea	rdi, .LC0[rip]
	xor	eax, eax
	call	errmsg@PLT
	mov	edi, DWORD PTR ERROR[rip]
	mov	esi, eax
	call	ereport@PLT
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L48:
	sub	eax, edx
	mov	rsi, r14
	cmp	eax, r13d
	cmovg	eax, r13d
	mov	ebp, eax
	mov	edx, eax
	call	pq_copymsgbytes@PLT
	sub	r13d, ebp
	movsx	rax, ebp
	add	r15d, ebp
	add	r14, rax
	test	r13d, r13d
	jle	.L1
	cmp	r12d, r15d
	jg	.L8
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	CopyGetData, .-CopyGetData
	.comm	ERROR,4,4
	.comm	ERRCODE_QUERY_CANCELED,4,4
	.comm	ERRCODE_PROTOCOL_VIOLATION,4,4
	.comm	ERRCODE_CONNECTION_FAILURE,4,4
	.comm	EOF,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.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, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_copy.c_CopyGetData.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"could not read from COPY file: %m\000"
	.align	2
.LC1:
	.ascii	"unexpected EOF on client connection with an open tr"
	.ascii	"ansaction\000"
	.align	2
.LC2:
	.ascii	"COPY from stdin failed: %s\000"
	.align	2
.LC3:
	.ascii	"unexpected message type 0x%02X during COPY from std"
	.ascii	"in\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyGetData, %function
CopyGetData:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r4, r0
	ldr	r0, [r0]
	mov	r8, r1
	sub	r1, r0, #128
	mov	r6, r2
	mov	r7, r3
	sub	sp, sp, #12
	cmp	r1, #3
	ldrls	pc, [pc, r1, asl #2]
	b	.L20
.L4:
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L6:
	cmp	r3, #0
	cmpgt	r2, #0
	movgt	r9, #1
	movle	r9, #0
	movgt	r9, #0
	ble	.L1
.L8:
	ldr	r3, [r4, #4]
	cmp	r3, #0
	bne	.L1
.L19:
	ldr	r10, .L42
	ldr	fp, .L42+4
.L16:
	ldr	r0, [r4, #12]
	ldr	r5, [r0]
	ldr	r3, [r0, #4]
	cmp	r5, r3
	blt	.L38
.L10:
	bl	HOLD_CANCEL_INTERRUPTS
	bl	pq_startmsgread
	bl	pq_getbyte
	ldr	r3, [r10]
	mov	r5, r0
	cmp	r3, r0
	beq	.L39
.L11:
	mov	r1, #0
	ldr	r0, [r4, #12]
	bl	pq_getmessage
	cmp	r0, #0
	bne	.L40
.L12:
	bl	RESUME_CANCEL_INTERRUPTS
	sub	r3, r5, #72
	cmp	r3, #30
	ldrls	pc, [pc, r3, asl #2]
	b	.L13
.L15:
	.word	.L10
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L10
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L13
	.word	.L17
	.word	.L16
	.word	.L13
	.word	.L14
.L5:
	mov	r2, r3
	mov	r1, #1
	ldr	r3, [r4, #16]
	mov	r0, r8
	bl	fread
	mov	r9, r0
	ldr	r0, [r4, #16]
	bl	ferror
	cmp	r0, #0
	bne	.L41
.L9:
	cmp	r9, #0
	bne	.L1
.L17:
	mov	r3, #1
	str	r3, [r4, #4]
.L1:
	mov	r0, r9
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L40:
	ldr	r3, .L42+8
	ldr	r0, [r3]
	ldr	r3, .L42+12
	ldr	r3, [r3]
	str	r3, [sp, #4]
	bl	errcode
	mov	r0, fp
	bl	errmsg
	ldr	r3, [sp, #4]
	mov	r1, r0
	mov	r0, r3
	bl	ereport
	b	.L12
.L13:
	ldr	r3, .L42+16
	ldr	r2, .L42+12
	ldr	r0, [r3]
	ldr	r10, [r2]
	bl	errcode
	mov	r1, r5
	ldr	r0, .L42+20
	bl	errmsg
	mov	r1, r0
	mov	r0, r10
	bl	ereport
	b	.L19
.L7:
	mov	r0, r8
	mov	r1, r2
	bl	pq_getbytes
	cmp	r0, #0
	moveq	r9, r6
	beq	.L1
	ldr	r2, .L42+8
	ldr	r3, .L42+12
	ldr	r0, [r2]
	ldr	r4, [r3]
	bl	errcode
	ldr	r0, .L42+4
	bl	errmsg
	mov	r1, r0
	mov	r0, r4
	mov	r9, r6
	bl	ereport
	b	.L1
.L3:
	mov	r2, r7
	mov	r1, r6
	mov	r0, r8
	ldr	r3, [r4, #8]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	bx	r3
.L14:
	ldr	r3, .L42+24
	ldr	r2, .L42+12
	ldr	r0, [r3]
	ldr	r5, [r2]
	bl	errcode
	ldr	r0, [r4, #12]
	bl	pq_getmsgstring
	mov	r1, r0
	ldr	r0, .L42+28
	bl	errmsg
	mov	r1, r0
	mov	r0, r5
	bl	ereport
	b	.L19
.L39:
	ldr	r3, .L42+8
	ldr	r0, [r3]
	ldr	r3, .L42+12
	ldr	r3, [r3]
	str	r3, [sp, #4]
	bl	errcode
	mov	r0, fp
	bl	errmsg
	ldr	r3, [sp, #4]
	mov	r1, r0
	mov	r0, r3
	bl	ereport
	b	.L11
.L41:
	ldr	r3, .L42+12
	ldr	r5, [r3]
	bl	errcode_for_file_access
	ldr	r0, .L42+32
	bl	errmsg
	mov	r1, r0
	mov	r0, r5
	bl	ereport
	b	.L9
.L38:
	sub	r3, r3, r5
	cmp	r3, r7
	movlt	r5, r3
	movge	r5, r7
	mov	r1, r8
	mov	r2, r5
	sub	r7, r7, r5
	add	r9, r9, r5
	bl	pq_copymsgbytes
	cmp	r7, #0
	cmpgt	r6, r9
	add	r8, r8, r5
	bgt	.L8
	b	.L1
.L20:
	mov	r9, #0
	b	.L1
.L43:
	.align	2
.L42:
	.word	EOF
	.word	.LC1
	.word	ERRCODE_CONNECTION_FAILURE
	.word	ERROR
	.word	ERRCODE_PROTOCOL_VIOLATION
	.word	.LC3
	.word	ERRCODE_QUERY_CANCELED
	.word	.LC2
	.word	.LC0
	.size	CopyGetData, .-CopyGetData
	.comm	ERROR,4,4
	.comm	ERRCODE_QUERY_CANCELED,4,4
	.comm	ERRCODE_PROTOCOL_VIOLATION,4,4
	.comm	ERRCODE_CONNECTION_FAILURE,4,4
	.comm	EOF,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
