#include <ei++.hpp>
#include <iostream>

using namespace ei;

int main(int argc, char* argv[])
{
    int sizes[] = { 254, 255, 256, 257 };
    const unsigned char bytes[] = {
        //131,
        107,1,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
        32,32,32,32,32,108,115,32,45,49
    };

    //std::string s(sz, '-');
    //StringBuffer<256> a;
    ei::Serializer ser(0);
    ser.set_rbuf((const char*)bytes, sizeof(bytes));
    std::string s;
    int sz = ser.decodeString(s);
    
    printf("%d: %s\n", sz, s.c_str());
    return 0;
}
