Currently, the multisig descriptor constructions are limited to 16 keys only possibly because of template parsing reasons. Under p2sh context, such scripts would be invalid anyway because of 520-byte rule, but we can support up to 20 keys for CHECKMULTISIG in witness script context. 


private:
    
    static constexpr uint32_t NO_FALSE = std::numeric_limits<uint32_t>::max();
    
    uint32_t m_stack_size = 0;
    
    uint32_t m_first_false_pos = NO_FALSE;
public:
    bool empty() const { return m_stack_size == 0; }
    bool all_true() const { return m_first_false_pos == NO_FALSE; }
    void push_back(bool f)
    {
        if (m_first_false_pos == NO_FALSE && !f) {
            
            
            m_first_false_pos = m_stack_size;
        }
        ++m_stack_size;
    }
    void pop_back()