	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function get_short_oid
_get_short_oid:                         ## @get_short_oid
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%r8d, %r12d
	movq	%rcx, %r15
	movq	%rdi, %r14
	movq	_GET_OID_QUIETLY@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	leaq	-72(%rbp), %rcx
	callq	_init_object_disambiguation
	testq	%rax, %rax
	js	LBB0_1
## %bb.2:
	movq	_GET_OID_DISAMBIGUATORS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	andl	%r12d, %edi
	callq	_HAS_MULTI_BITS
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	leaq	L_.str(%rip), %rdi
	callq	_BUG
LBB0_4:
	movq	_GET_OID_COMMIT@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	je	LBB0_6
## %bb.5:
	movq	_disambiguate_commit_only@GOTPCREL(%rip), %rax
	jmp	LBB0_15
LBB0_1:
	movl	$-1, %ebx
	jmp	LBB0_24
LBB0_6:
	movq	_GET_OID_COMMITTISH@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	je	LBB0_8
## %bb.7:
	movq	_disambiguate_committish_only@GOTPCREL(%rip), %rax
	jmp	LBB0_15
LBB0_8:
	movq	_GET_OID_TREE@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	je	LBB0_10
## %bb.9:
	movq	_disambiguate_tree_only@GOTPCREL(%rip), %rax
	jmp	LBB0_15
LBB0_10:
	movq	_GET_OID_TREEISH@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	je	LBB0_12
## %bb.11:
	movq	_disambiguate_treeish_only@GOTPCREL(%rip), %rax
	jmp	LBB0_15
LBB0_12:
	movq	_GET_OID_BLOB@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	jne	LBB0_13
## %bb.14:
	movq	_default_disambiguate_hint@GOTPCREL(%rip), %rax
	jmp	LBB0_15
LBB0_13:
	movq	_disambiguate_blob_only@GOTPCREL(%rip), %rax
LBB0_15:
	movq	(%rax), %rax
	movq	%rax, -64(%rbp)
	leaq	-72(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_find_short_object_filename
	movq	%rbx, %rdi
	callq	_find_short_packed_object
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_finish_object_disambiguation
	movl	%eax, %ebx
	movq	_MISSING_OBJECT@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	jne	LBB0_17
## %bb.16:
	movq	%r14, %rdi
	callq	_reprepare_packed_git
	leaq	-72(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_find_short_object_filename
	movq	%rbx, %rdi
	callq	_find_short_packed_object
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_finish_object_disambiguation
	movl	%eax, %ebx
LBB0_17:
	testl	%r12d, %r13d
	jne	LBB0_24
## %bb.18:
	movq	_SHORT_NAME_AMBIGUOUS@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	jne	LBB0_24
## %bb.19:
	movq	_OID_ARRAY_INIT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -48(%rbp)
	leaq	L_.str.1(%rip), %rdi
	callq	__
	movl	-72(%rbp), %esi
	movl	%eax, %edi
	callq	_error
	cmpl	$0, -56(%rbp)
	jne	LBB0_21
## %bb.20:
	movq	$0, -64(%rbp)
LBB0_21:
	leaq	L_.str.2(%rip), %rdi
	callq	__
	movl	%eax, %edi
	callq	_advise
	movl	-72(%rbp), %esi
	movq	_collect_ambiguous@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-48(%rbp), %r15
	movq	%r14, %rdi
	movq	%r15, %rcx
	callq	_repo_for_each_abbrev
	movq	%r14, %rdi
	movq	%r15, %rsi
	callq	_sort_ambiguous_oid_array
	movq	_show_ambiguous_object@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-72(%rbp), %rdx
	movq	%r15, %rdi
	callq	_oid_array_for_each
	testq	%rax, %rax
	je	LBB0_23
## %bb.22:
	leaq	L_.str.3(%rip), %rdi
	callq	_BUG
LBB0_23:
	leaq	-48(%rbp), %rdi
	callq	_oid_array_clear
LBB0_24:
	movl	%ebx, %eax
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_GET_OID_QUIETLY,4,2            ## @GET_OID_QUIETLY
	.comm	_GET_OID_DISAMBIGUATORS,4,2     ## @GET_OID_DISAMBIGUATORS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"multiple get_short_oid disambiguator flags"

	.comm	_GET_OID_COMMIT,4,2             ## @GET_OID_COMMIT
	.comm	_disambiguate_commit_only,8,3   ## @disambiguate_commit_only
	.comm	_GET_OID_COMMITTISH,4,2         ## @GET_OID_COMMITTISH
	.comm	_disambiguate_committish_only,8,3 ## @disambiguate_committish_only
	.comm	_GET_OID_TREE,4,2               ## @GET_OID_TREE
	.comm	_disambiguate_tree_only,8,3     ## @disambiguate_tree_only
	.comm	_GET_OID_TREEISH,4,2            ## @GET_OID_TREEISH
	.comm	_disambiguate_treeish_only,8,3  ## @disambiguate_treeish_only
	.comm	_GET_OID_BLOB,4,2               ## @GET_OID_BLOB
	.comm	_disambiguate_blob_only,8,3     ## @disambiguate_blob_only
	.comm	_default_disambiguate_hint,8,3  ## @default_disambiguate_hint
	.comm	_MISSING_OBJECT,4,2             ## @MISSING_OBJECT
	.comm	_SHORT_NAME_AMBIGUOUS,4,2       ## @SHORT_NAME_AMBIGUOUS
	.comm	_OID_ARRAY_INIT,4,2             ## @OID_ARRAY_INIT
L_.str.1:                               ## @.str.1
	.asciz	"short SHA1 %s is ambiguous"

L_.str.2:                               ## @.str.2
	.asciz	"The candidates are:"

	.comm	_collect_ambiguous,4,2          ## @collect_ambiguous
	.comm	_show_ambiguous_object,4,2      ## @show_ambiguous_object
L_.str.3:                               ## @.str.3
	.asciz	"show_ambiguous_object shouldn't return non-zero"

	.no_dead_strip	_get_short_oid
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function get_short_oid
_get_short_oid:                         ; @get_short_oid
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #80
	.cfi_def_cfa_offset 80
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x21, x4
	mov	x20, x3
	mov	x19, x0
Lloh0:
	adrp	x8, _GET_OID_QUIETLY@GOTPAGE
Lloh1:
	ldr	x8, [x8, _GET_OID_QUIETLY@GOTPAGEOFF]
Lloh2:
	ldr	w22, [x8]
	add	x3, sp, #8
	bl	_init_object_disambiguation
	tbnz	x0, #63, LBB0_5
; %bb.1:
Lloh3:
	adrp	x8, _GET_OID_DISAMBIGUATORS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _GET_OID_DISAMBIGUATORS@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	and	w0, w8, w21
	bl	_HAS_MULTI_BITS
	cbz	x0, LBB0_3
; %bb.2:
Lloh6:
	adrp	x0, l_.str@PAGE
Lloh7:
	add	x0, x0, l_.str@PAGEOFF
	bl	_BUG
LBB0_3:
Lloh8:
	adrp	x8, _GET_OID_COMMIT@GOTPAGE
Lloh9:
	ldr	x8, [x8, _GET_OID_COMMIT@GOTPAGEOFF]
Lloh10:
	ldr	w8, [x8]
	tst	w8, w21
	b.eq	LBB0_6
; %bb.4:
Lloh11:
	adrp	x8, _disambiguate_commit_only@GOTPAGE
Lloh12:
	ldr	x8, [x8, _disambiguate_commit_only@GOTPAGEOFF]
	b	LBB0_13
LBB0_5:
	mov	w21, #-1
	b	LBB0_21
LBB0_6:
Lloh13:
	adrp	x8, _GET_OID_COMMITTISH@GOTPAGE
Lloh14:
	ldr	x8, [x8, _GET_OID_COMMITTISH@GOTPAGEOFF]
Lloh15:
	ldr	w8, [x8]
	tst	w8, w21
	b.eq	LBB0_8
; %bb.7:
Lloh16:
	adrp	x8, _disambiguate_committish_only@GOTPAGE
Lloh17:
	ldr	x8, [x8, _disambiguate_committish_only@GOTPAGEOFF]
	b	LBB0_13
LBB0_8:
Lloh18:
	adrp	x8, _GET_OID_TREE@GOTPAGE
Lloh19:
	ldr	x8, [x8, _GET_OID_TREE@GOTPAGEOFF]
Lloh20:
	ldr	w8, [x8]
	tst	w8, w21
	b.eq	LBB0_10
; %bb.9:
Lloh21:
	adrp	x8, _disambiguate_tree_only@GOTPAGE
Lloh22:
	ldr	x8, [x8, _disambiguate_tree_only@GOTPAGEOFF]
	b	LBB0_13
LBB0_10:
Lloh23:
	adrp	x8, _GET_OID_TREEISH@GOTPAGE
Lloh24:
	ldr	x8, [x8, _GET_OID_TREEISH@GOTPAGEOFF]
Lloh25:
	ldr	w8, [x8]
	tst	w8, w21
	b.eq	LBB0_12
; %bb.11:
Lloh26:
	adrp	x8, _disambiguate_treeish_only@GOTPAGE
Lloh27:
	ldr	x8, [x8, _disambiguate_treeish_only@GOTPAGEOFF]
	b	LBB0_13
LBB0_12:
Lloh28:
	adrp	x8, _GET_OID_BLOB@GOTPAGE
Lloh29:
	ldr	x8, [x8, _GET_OID_BLOB@GOTPAGEOFF]
Lloh30:
	ldr	w8, [x8]
Lloh31:
	adrp	x9, _disambiguate_blob_only@GOTPAGE
Lloh32:
	ldr	x9, [x9, _disambiguate_blob_only@GOTPAGEOFF]
Lloh33:
	adrp	x10, _default_disambiguate_hint@GOTPAGE
Lloh34:
	ldr	x10, [x10, _default_disambiguate_hint@GOTPAGEOFF]
	tst	w8, w21
	csel	x8, x10, x9, eq
LBB0_13:
	and	w22, w22, w21
	ldr	x8, [x8]
	str	x8, [sp, #16]
	add	x0, sp, #8
	bl	_find_short_object_filename
	add	x0, sp, #8
	bl	_find_short_packed_object
	add	x0, sp, #8
	mov	x1, x20
	bl	_finish_object_disambiguation
	mov	x21, x0
Lloh35:
	adrp	x8, _MISSING_OBJECT@GOTPAGE
Lloh36:
	ldr	x8, [x8, _MISSING_OBJECT@GOTPAGEOFF]
Lloh37:
	ldr	w8, [x8]
	cmp	w0, w8
	b.ne	LBB0_15
; %bb.14:
	mov	x0, x19
	bl	_reprepare_packed_git
	add	x0, sp, #8
	bl	_find_short_object_filename
	add	x0, sp, #8
	bl	_find_short_packed_object
	add	x0, sp, #8
	mov	x1, x20
	bl	_finish_object_disambiguation
	mov	x21, x0
LBB0_15:
Lloh38:
	adrp	x8, _SHORT_NAME_AMBIGUOUS@GOTPAGE
Lloh39:
	ldr	x8, [x8, _SHORT_NAME_AMBIGUOUS@GOTPAGEOFF]
Lloh40:
	ldr	w8, [x8]
	cmp	w22, #0
	ccmp	w21, w8, #0, eq
	b.ne	LBB0_21
; %bb.16:
Lloh41:
	adrp	x8, _OID_ARRAY_INIT@GOTPAGE
Lloh42:
	ldr	x8, [x8, _OID_ARRAY_INIT@GOTPAGEOFF]
Lloh43:
	ldr	w8, [x8]
	str	w8, [sp]
Lloh44:
	adrp	x0, l_.str.1@PAGE
Lloh45:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	__
	ldr	w1, [sp, #8]
	bl	_error
	ldr	w8, [sp, #24]
	cbnz	w8, LBB0_18
; %bb.17:
	str	xzr, [sp, #16]
LBB0_18:
Lloh46:
	adrp	x0, l_.str.2@PAGE
Lloh47:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	__
	bl	_advise
	ldr	w1, [sp, #8]
Lloh48:
	adrp	x8, _collect_ambiguous@GOTPAGE
Lloh49:
	ldr	x8, [x8, _collect_ambiguous@GOTPAGEOFF]
Lloh50:
	ldr	w2, [x8]
	mov	x3, sp
	mov	x0, x19
	bl	_repo_for_each_abbrev
	mov	x1, sp
	mov	x0, x19
	bl	_sort_ambiguous_oid_array
Lloh51:
	adrp	x8, _show_ambiguous_object@GOTPAGE
Lloh52:
	ldr	x8, [x8, _show_ambiguous_object@GOTPAGEOFF]
Lloh53:
	ldr	w1, [x8]
	mov	x0, sp
	add	x2, sp, #8
	bl	_oid_array_for_each
	cbz	x0, LBB0_20
; %bb.19:
Lloh54:
	adrp	x0, l_.str.3@PAGE
Lloh55:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_BUG
LBB0_20:
	mov	x0, sp
	bl	_oid_array_clear
LBB0_21:
	mov	x0, x21
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #80
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpAdd	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpAdd	Lloh54, Lloh55
	.cfi_endproc
                                        ; -- End function
	.comm	_GET_OID_QUIETLY,4,2            ; @GET_OID_QUIETLY
	.comm	_GET_OID_DISAMBIGUATORS,4,2     ; @GET_OID_DISAMBIGUATORS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"multiple get_short_oid disambiguator flags"

	.comm	_GET_OID_COMMIT,4,2             ; @GET_OID_COMMIT
	.comm	_disambiguate_commit_only,8,3   ; @disambiguate_commit_only
	.comm	_GET_OID_COMMITTISH,4,2         ; @GET_OID_COMMITTISH
	.comm	_disambiguate_committish_only,8,3 ; @disambiguate_committish_only
	.comm	_GET_OID_TREE,4,2               ; @GET_OID_TREE
	.comm	_disambiguate_tree_only,8,3     ; @disambiguate_tree_only
	.comm	_GET_OID_TREEISH,4,2            ; @GET_OID_TREEISH
	.comm	_disambiguate_treeish_only,8,3  ; @disambiguate_treeish_only
	.comm	_GET_OID_BLOB,4,2               ; @GET_OID_BLOB
	.comm	_disambiguate_blob_only,8,3     ; @disambiguate_blob_only
	.comm	_default_disambiguate_hint,8,3  ; @default_disambiguate_hint
	.comm	_MISSING_OBJECT,4,2             ; @MISSING_OBJECT
	.comm	_SHORT_NAME_AMBIGUOUS,4,2       ; @SHORT_NAME_AMBIGUOUS
	.comm	_OID_ARRAY_INIT,4,2             ; @OID_ARRAY_INIT
l_.str.1:                               ; @.str.1
	.asciz	"short SHA1 %s is ambiguous"

l_.str.2:                               ; @.str.2
	.asciz	"The candidates are:"

	.comm	_collect_ambiguous,4,2          ; @collect_ambiguous
	.comm	_show_ambiguous_object,4,2      ; @show_ambiguous_object
l_.str.3:                               ; @.str.3
	.asciz	"show_ambiguous_object shouldn't return non-zero"

	.no_dead_strip	_get_short_oid
.subsections_via_symbols
