
**Describe the bug**
bitmapContains does not worked for UInt64 while the bitmap is of type AggregateFunction(groupBitmap, UInt64)


**How to reproduce**
SELECT 
    bitmapBuild([toUInt64(1), toUInt64(10000)]) AS res, 
    bitmapContains(res, toUInt64(200000000)) AS aa

Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Second argument for function bitmapContains must be UInt32 but it has type UInt64.. 

**Expected behavior**
for a 64-bit bitmap, bitmapContains should be able to take UInt64 for the parameter.
 
**Error message and/or stacktrace**
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Second argument for function bitmapContains must be UInt32 but it has type UInt64.. 

**Additional context**
Tried with many versions such as 19.13, 20.3 etc including the latest 20.12.3, still not working.
{
        bitmap_data_1.rbs.rb_and(bitmap_data_2.rbs);
    }
};
template <typename T>
struct BitmapOrImpl
{
    static void apply(AggregateFunctionGroupBitmapData<T> & bitmap_data_1, const AggregateFunctionGroupBitmapData<T> & bitmap_data_2)
    {
        bitmap_data_1.rbs.rb_or(bitmap_data_2.rbs);
    }
};
template <typename T>
struct BitmapXorImpl
{
    static void apply(AggregateFunctionGroupBitmapData<T> & bitmap_data_1, const AggregateFunctionGroupBitmapData<T> & bitmap_data_2)
    {
        bitmap_data_1.rbs.rb_xor(bitmap_data_2.rbs);
    }
};
template <typename T>
struct BitmapAndnotImpl
{
    static void apply(AggregateFunctionGroupBitmapData<T> & bitmap_data_1, const AggregateFunctionGroupBitmapData<T> & bitmap_data_2)
    {
        bitmap_data_1.rbs.rb_andnot(bitmap_data_2.rbs);
    }
};
template <template <typename> class Impl, typename Name>
class FunctionBitmap : public IFunction