// File: xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::RunContext::handleFatalErrorCondition(Catch::StringRef)
void RunContext::handleFatalErrorCondition( StringRef message ) {
        // First notify reporter that bad things happened
        m_reporter->fatalErrorEncountered(message);

        // Don't rebuild the result -- the stringification itself can cause more fatal errors
        // Instead, fake a result data.
        AssertionResultData tempResult( ResultWas::FatalErrorCondition, { false } );
        tempResult.message = static_cast<std::string>(message);
        AssertionResult result(m_lastAssertionInfo, tempResult);

        assertionEnded(result);

        handleUnfinishedSections();

        // Recreate section for test case (as we will lose the one that was in scope)
        auto const& testCaseInfo = m_activeTestCase->getTestCaseInfo();
        SectionInfo testCaseSection(testCaseInfo.lineInfo, testCaseInfo.name);

        Counts assertions;
        assertions.failed = 1;
        SectionStats testCaseSectionStats(testCaseSection, assertions, 0, false);
        m_reporter->sectionEnded(testCaseSectionStats);

        auto const& testInfo = m_activeTestCase->getTestCaseInfo();

        Totals deltaTotals;
        deltaTotals.testCases.failed = 1;
        deltaTotals.assertions.failed = 1;
        m_reporter->testCaseEnded(TestCaseStats(testInfo,
                                  deltaTotals,
                                  std::string(),
                                  std::string(),
                                  false));
        m_totals.testCases.failed++;
        testGroupEnded(std::string(), m_totals, 1, 1);
        m_reporter->testRunEnded(TestRunStats(m_runInfo, m_totals, false));
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x500, %rsp            # imm = 0x500
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq %rdi, -0x490(%rbp)
addq $0x128, %rdi            # imm = 0x128
callq 0x8f220
movq %rax, %rdi
movups -0x10(%rbp), %xmm0
movaps %xmm0, -0x30(%rbp)
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq (%rdi), %rax
movq 0x80(%rax), %rax
callq *%rax
leaq -0x98(%rbp), %rdi
movq %rdi, -0x488(%rbp)
xorl %esi, %esi
callq 0x53fc0
movq -0x488(%rbp), %rdx
leaq -0x88(%rbp), %rdi
movl $0x210, %esi            # imm = 0x210
callq 0x54740
leaq -0xb8(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x8af90
jmp 0x64a7c
leaq -0x88(%rbp), %rdi
movq %rdi, -0x498(%rbp)
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x4a0(%rbp)
callq 0x528a0
movq -0x4a0(%rbp), %rdi
callq 0x52e58
movq -0x490(%rbp), %rsi
movq -0x498(%rbp), %rdx
addq $0x160, %rsi            # imm = 0x160
leaq -0x158(%rbp), %rdi
callq 0x548b0
jmp 0x64acc
movq -0x490(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x64050
jmp 0x64ae1
movq -0x490(%rbp), %rdi
callq 0x64ed0
jmp 0x64aef
movq -0x490(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x5ea60
movq %rax, -0x4a8(%rbp)
jmp 0x64b08
movq -0x4a8(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdx
movq %rdx, %rsi
addq $0x90, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x65c90
jmp 0x64b35
leaq -0x1c8(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x8fc10
movq -0x4b0(%rbp), %rdx
movq $0x1, -0x1c0(%rbp)
leaq -0x248(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
xorps %xmm0, %xmm0
xorl %ecx, %ecx
callq 0x5ce40
jmp 0x64b74
movq -0x490(%rbp), %rdi
addq $0x128, %rdi            # imm = 0x128
callq 0x8f220
movq %rax, %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
leaq -0x248(%rbp), %rsi
callq *%rax
jmp 0x64b9c
movq -0x490(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x5ea60
movq %rax, -0x4b8(%rbp)
jmp 0x64bb5
movq -0x4b8(%rbp), %rax
movq %rax, -0x250(%rbp)
leaq -0x288(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x8d260
movq -0x490(%rbp), %rdi
movq $0x1, -0x260(%rbp)
movq $0x1, -0x278(%rbp)
addq $0x128, %rdi            # imm = 0x128
callq 0x8f220
movq %rax, -0x4e0(%rbp)
movq -0x250(%rbp), %rax
movq %rax, -0x4d8(%rbp)
leaq -0x3d8(%rbp), %rdi
movq %rdi, -0x4c8(%rbp)
callq 0x52a00
leaq -0x3f8(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x52a00
movq -0x4d8(%rbp), %rsi
movq -0x4d0(%rbp), %rdx
movq -0x4c8(%rbp), %rcx
movq -0x4c0(%rbp), %r8
leaq -0x3b8(%rbp), %rdi
xorl %r9d, %r9d
callq 0x5cf20
jmp 0x64c67
movq -0x4e0(%rbp), %rdi
movq (%rdi), %rax
movq 0x60(%rax), %rax
leaq -0x3b8(%rbp), %rsi
callq *%rax
jmp 0x64c80
leaq -0x3b8(%rbp), %rdi
callq 0x5d020
leaq -0x3f8(%rbp), %rdi
callq 0x52e58
leaq -0x3d8(%rbp), %rdi
callq 0x52e58
movq -0x490(%rbp), %rax
movq %rax, %rcx
addq $0xf0, %rcx
movq %rcx, -0x4e8(%rbp)
movq 0x118(%rax), %rcx
incq %rcx
movq %rcx, 0x118(%rax)
leaq -0x418(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x52a00
movq -0x490(%rbp), %rdi
movq -0x4f0(%rbp), %rsi
movq -0x4e8(%rbp), %rdx
movl $0x1, %r8d
movq %r8, %rcx
callq 0x63050
jmp 0x64d05
leaq -0x418(%rbp), %rdi
callq 0x52e58
movq -0x490(%rbp), %rdi
addq $0x128, %rdi            # imm = 0x128
callq 0x8f220
movq -0x490(%rbp), %rdx
movq %rax, -0x4f8(%rbp)
movq %rdx, %rsi
addq $0x10, %rsi
addq $0xf0, %rdx
leaq -0x480(%rbp), %rdi
xorl %ecx, %ecx
callq 0x5d1d0
jmp 0x64d50
movq -0x4f8(%rbp), %rdi
movq (%rdi), %rax
movq 0x70(%rax), %rax
leaq -0x480(%rbp), %rsi
callq *%rax
jmp 0x64d69
leaq -0x480(%rbp), %rdi
callq 0x5d240
leaq -0x248(%rbp), %rdi
callq 0x5cec0
leaq -0x1b0(%rbp), %rdi
callq 0x8d060
leaq -0x158(%rbp), %rdi
callq 0x8cfc0
leaq -0x88(%rbp), %rdi
callq 0x8fc40
addq $0x500, %rsp            # imm = 0x500
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x64eb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x64eac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x64ea0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x64e94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x64e3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x5d020
leaq -0x3f8(%rbp), %rdi
callq 0x52e58
leaq -0x3d8(%rbp), %rdi
callq 0x52e58
jmp 0x64e94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x418(%rbp), %rdi
callq 0x52e58
jmp 0x64e94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x480(%rbp), %rdi
callq 0x5d240
leaq -0x248(%rbp), %rdi
callq 0x5cec0
leaq -0x1b0(%rbp), %rdi
callq 0x8d060
leaq -0x158(%rbp), %rdi
callq 0x8cfc0
leaq -0x88(%rbp), %rdi
callq 0x8fc40
movq -0xc0(%rbp), %rdi
callq 0x52c90