	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dump_template_decl
_dump_template_decl:                    ## @dump_template_decl
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%esi, %r12d
	movq	%rdi, %rbx
	callq	_DECL_TEMPLATE_PARMS
	movq	_TFF_TEMPLATE_HEADER@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_10
## %bb.1:
	movq	%rbx, -56(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_nreverse
	testq	%rax, %rax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	je	LBB0_8
## %bb.2:
	movq	_cxx_pp@GOTPCREL(%rip), %r13
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=1
	movl	(%r13), %edi
	callq	_pp_cxx_end_template_argument_list
	movl	(%r13), %edi
	callq	_pp_cxx_whitespace
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_CHAIN
	testq	%rax, %rax
	movl	%ebx, %r12d
	je	LBB0_8
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_6 Depth 2
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_INNERMOST_TEMPLATE_PARMS
	movq	%rax, %r15
	movq	%rax, %rdi
	callq	_TREE_VEC_LENGTH
	movl	%eax, %r14d
	movl	(%r13), %edi
	leaq	L_.str(%rip), %rsi
	callq	_pp_cxx_identifier
	movl	(%r13), %edi
	callq	_pp_cxx_begin_template_argument_list
	movq	_TFF_DECL_SPECIFIERS@GOTPCREL(%rip), %rax
	orl	(%rax), %r12d
	testl	%r14d, %r14d
	movl	%r12d, %ebx
	jle	LBB0_7
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	%r15, %rdi
	xorl	%esi, %esi
	callq	_TREE_VEC_ELT
	movl	%eax, %edi
	movl	%ebx, %esi
	callq	_dump_template_parameter
	cmpl	$1, %r14d
	je	LBB0_7
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	movl	$1, %r12d
	.p2align	4, 0x90
LBB0_6:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%r13), %edi
	callq	_pp_separate_with_comma
	movq	%r15, %rdi
	movl	%r12d, %esi
	callq	_TREE_VEC_ELT
	movl	%eax, %edi
	movl	%ebx, %esi
	callq	_dump_template_parameter
	incl	%r12d
	cmpl	%r12d, %r14d
	jne	LBB0_6
	jmp	LBB0_7
LBB0_8:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_nreverse
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_DECL_TEMPLATE_TEMPLATE_PARM_P
	testq	%rax, %rax
	je	LBB0_10
## %bb.9:
	movq	_cxx_pp@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.1(%rip), %rsi
	callq	_pp_cxx_identifier
LBB0_10:
	movq	%rbx, %rdi
	callq	_DECL_TEMPLATE_RESULT
	movl	%eax, %edi
	callq	_TREE_CODE
	movq	_TYPE_DECL@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_13
## %bb.11:
	movq	%rbx, %rdi
	callq	_DECL_TEMPLATE_RESULT
	movl	%eax, %edi
	callq	_TREE_CODE
	movq	_VAR_DECL@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_12
## %bb.14:
	movq	%rbx, %rdi
	callq	_DECL_TEMPLATE_RESULT
	movq	_TFF_TEMPLATE_NAME@GOTPCREL(%rip), %rcx
	orl	(%rcx), %r12d
	movl	%eax, %edi
	movl	%r12d, %esi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_dump_decl                      ## TAILCALL
LBB0_12:
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	movl	%eax, %edi
	callq	_gcc_assert
	movq	%rbx, %rdi
	callq	_NEXT_CODE
	andl	$-2, %eax
	cmpl	$128, %eax
	jne	LBB0_13
## %bb.15:
	movq	_TFF_TEMPLATE_NAME@GOTPCREL(%rip), %rax
	orl	(%rax), %r12d
	movq	%rbx, %rdi
	movl	%r12d, %esi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_dump_function_decl             ## TAILCALL
LBB0_13:
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	movq	_TFF_CLASS_KEY_OR_ENUM@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, %edx
	notl	%edx
	andl	%r12d, %edx
	movq	_TFF_TEMPLATE_NAME@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movq	_TFF_DECL_SPECIFIERS@GOTPCREL(%rip), %rsi
	andl	(%rsi), %r12d
	cmovnel	%ecx, %r12d
	orl	%edx, %r12d
	movl	%eax, %edi
	movl	%r12d, %esi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_dump_type                      ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_TFF_TEMPLATE_HEADER,4,2        ## @TFF_TEMPLATE_HEADER
	.comm	_cxx_pp,4,2                     ## @cxx_pp
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"template"

	.comm	_TFF_DECL_SPECIFIERS,4,2        ## @TFF_DECL_SPECIFIERS
L_.str.1:                               ## @.str.1
	.asciz	"class"

	.comm	_TYPE_DECL,8,3                  ## @TYPE_DECL
	.comm	_TFF_CLASS_KEY_OR_ENUM,4,2      ## @TFF_CLASS_KEY_OR_ENUM
	.comm	_TFF_TEMPLATE_NAME,4,2          ## @TFF_TEMPLATE_NAME
	.comm	_VAR_DECL,8,3                   ## @VAR_DECL
	.no_dead_strip	_dump_template_decl
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dump_template_decl
_dump_template_decl:                    ; @dump_template_decl
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x19, x1
	mov	x20, x0
	bl	_DECL_TEMPLATE_PARMS
Lloh0:
	adrp	x8, _TFF_TEMPLATE_HEADER@GOTPAGE
Lloh1:
	ldr	x8, [x8, _TFF_TEMPLATE_HEADER@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	tst	w8, w19
	b.eq	LBB0_10
; %bb.1:
	bl	_nreverse
	mov	x21, x0
Lloh3:
	adrp	x27, _cxx_pp@GOTPAGE
Lloh4:
	ldr	x27, [x27, _cxx_pp@GOTPAGEOFF]
	cbz	x0, LBB0_8
; %bb.2:
Lloh5:
	adrp	x22, l_.str@PAGE
Lloh6:
	add	x22, x22, l_.str@PAGEOFF
Lloh7:
	adrp	x28, _TFF_DECL_SPECIFIERS@GOTPAGE
Lloh8:
	ldr	x28, [x28, _TFF_DECL_SPECIFIERS@GOTPAGEOFF]
	mov	x23, x21
	b	LBB0_4
LBB0_3:                                 ;   in Loop: Header=BB0_4 Depth=1
	ldr	w0, [x27]
	bl	_pp_cxx_end_template_argument_list
	ldr	w0, [x27]
	bl	_pp_cxx_whitespace
	mov	x0, x23
	bl	_TREE_CHAIN
	mov	x23, x0
	cbz	x0, LBB0_8
LBB0_4:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_7 Depth 2
	mov	x0, x23
	bl	_INNERMOST_TEMPLATE_PARMS
	mov	x24, x0
	bl	_TREE_VEC_LENGTH
	mov	x25, x0
	ldr	w0, [x27]
	mov	x1, x22
	bl	_pp_cxx_identifier
	ldr	w0, [x27]
	bl	_pp_cxx_begin_template_argument_list
	ldr	w8, [x28]
	orr	w19, w8, w19
	cmp	w25, #1
	b.lt	LBB0_3
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	mov	x0, x24
	mov	w1, #0
	bl	_TREE_VEC_ELT
	mov	x1, x19
	bl	_dump_template_parameter
	cmp	w25, #1
	b.eq	LBB0_3
; %bb.6:                                ;   in Loop: Header=BB0_4 Depth=1
	mov	w26, #1
LBB0_7:                                 ;   Parent Loop BB0_4 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w0, [x27]
	bl	_pp_separate_with_comma
	mov	x0, x24
	mov	x1, x26
	bl	_TREE_VEC_ELT
	mov	x1, x19
	bl	_dump_template_parameter
	add	w26, w26, #1
	cmp	w25, w26
	b.ne	LBB0_7
	b	LBB0_3
LBB0_8:
	mov	x0, x21
	bl	_nreverse
	mov	x0, x20
	bl	_DECL_TEMPLATE_TEMPLATE_PARM_P
	cbz	x0, LBB0_10
; %bb.9:
	ldr	w0, [x27]
Lloh9:
	adrp	x1, l_.str.1@PAGE
Lloh10:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_pp_cxx_identifier
LBB0_10:
	mov	x0, x20
	bl	_DECL_TEMPLATE_RESULT
	bl	_TREE_CODE
Lloh11:
	adrp	x8, _TYPE_DECL@GOTPAGE
Lloh12:
	ldr	x8, [x8, _TYPE_DECL@GOTPAGEOFF]
Lloh13:
	ldr	x8, [x8]
	cmp	x0, x8
	b.eq	LBB0_15
; %bb.11:
	mov	x0, x20
	bl	_DECL_TEMPLATE_RESULT
	bl	_TREE_CODE
Lloh14:
	adrp	x8, _VAR_DECL@GOTPAGE
Lloh15:
	ldr	x8, [x8, _VAR_DECL@GOTPAGEOFF]
Lloh16:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_13
; %bb.12:
	mov	x0, x20
	bl	_DECL_TEMPLATE_RESULT
Lloh17:
	adrp	x8, _TFF_TEMPLATE_NAME@GOTPAGE
Lloh18:
	ldr	x8, [x8, _TFF_TEMPLATE_NAME@GOTPAGEOFF]
Lloh19:
	ldr	w8, [x8]
	orr	w1, w8, w19
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	b	_dump_decl
LBB0_13:
	mov	x0, x20
	bl	_TREE_TYPE
	bl	_gcc_assert
	mov	x0, x20
	bl	_NEXT_CODE
	and	w8, w0, #0xfffffffe
	cmp	w8, #128
	b.ne	LBB0_15
; %bb.14:
Lloh20:
	adrp	x8, _TFF_TEMPLATE_NAME@GOTPAGE
Lloh21:
	ldr	x8, [x8, _TFF_TEMPLATE_NAME@GOTPAGEOFF]
Lloh22:
	ldr	w8, [x8]
	orr	w1, w8, w19
	mov	x0, x20
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	b	_dump_function_decl
LBB0_15:
	mov	x0, x20
	bl	_TREE_TYPE
Lloh23:
	adrp	x8, _TFF_CLASS_KEY_OR_ENUM@GOTPAGE
Lloh24:
	ldr	x8, [x8, _TFF_CLASS_KEY_OR_ENUM@GOTPAGEOFF]
Lloh25:
	ldr	w8, [x8]
	bic	w9, w19, w8
Lloh26:
	adrp	x10, _TFF_TEMPLATE_NAME@GOTPAGE
Lloh27:
	ldr	x10, [x10, _TFF_TEMPLATE_NAME@GOTPAGEOFF]
Lloh28:
	ldr	w10, [x10]
	orr	w9, w9, w10
Lloh29:
	adrp	x10, _TFF_DECL_SPECIFIERS@GOTPAGE
Lloh30:
	ldr	x10, [x10, _TFF_DECL_SPECIFIERS@GOTPAGEOFF]
Lloh31:
	ldr	w10, [x10]
	tst	w10, w19
	csel	w8, wzr, w8, eq
	orr	w1, w9, w8
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	b	_dump_type
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.cfi_endproc
                                        ; -- End function
	.comm	_TFF_TEMPLATE_HEADER,4,2        ; @TFF_TEMPLATE_HEADER
	.comm	_cxx_pp,4,2                     ; @cxx_pp
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"template"

	.comm	_TFF_DECL_SPECIFIERS,4,2        ; @TFF_DECL_SPECIFIERS
l_.str.1:                               ; @.str.1
	.asciz	"class"

	.comm	_TYPE_DECL,8,3                  ; @TYPE_DECL
	.comm	_TFF_CLASS_KEY_OR_ENUM,4,2      ; @TFF_CLASS_KEY_OR_ENUM
	.comm	_TFF_TEMPLATE_NAME,4,2          ; @TFF_TEMPLATE_NAME
	.comm	_VAR_DECL,8,3                   ; @VAR_DECL
	.no_dead_strip	_dump_template_decl
.subsections_via_symbols
