anchor.diff:  attributes([{?VendorSpecific, {?Mikrotik,
   		{?MikrotikWirelessEncKey, Key}}} | T], Acc) when is_list(Key) ->
   	Bin = list_to_binary(Key),
  -	Length = size(Bin) + 6,
  -	attributes(T, <<Acc/binary, ?VendorSpecific, 12, 0, ?Mikrotik:24,
  -			?MikrotikWirelessEncAlgo, Length, Bin/binary>>);
  +	VendorLength = size(Bin) + 2,
  +	Length = VendorLength + 6,
  +	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  +			?MikrotikWirelessEncAlgo, VendorLength, Bin/binary>>);
   attributes([{?VendorSpecific, {?Mikrotik,
   		{?MikrotikRateLimit, Limit}}} | T], Acc) when is_list(Limit) ->
   	Bin = list_to_binary(Limit),
  -	Length = size(Bin) + 6,
  -	attributes(T, <<Acc/binary, ?VendorSpecific, 12, 0, ?Mikrotik:24,
  -			?MikrotikRateLimit, Length, Bin/binary>>);
  +	VendorLength = size(Bin) + 2,
  +	Length = VendorLength + 6,
  +	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  +			?MikrotikRateLimit, VendorLength, Bin/binary>>);
   attributes([{?VendorSpecific, {?Mikrotik,
   		{?MikrotikRealm, Realm}}} | T], Acc) when is_list(Realm) ->
   	Bin = list_to_binary(Realm),
  -	Length = size(Bin) + 6,
  -	attributes(T, <<Acc/binary, ?VendorSpecific, 12, 0, ?Mikrotik:24,
  -			?MikrotikRealm, Length, Bin/binary>>);
  +	VendorLength = size(Bin) + 2,
  +	Length = VendorLength + 6,
  +	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  +			?MikrotikRealm, VendorLength, Bin/binary>>);
   attributes([{?VendorSpecific, {?Mikrotik,
   		{?MikrotikHostIp, {A, B, C, D}}}} | T], Acc)
   		when is_integer(A), is_integer(B), is_integer(C), is_integer(D) ->
  
positive.code: attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikGroup, Group}}} | T], Acc) when is_list(Group) ->
  	Bin = list_to_binary(Group),
  	Length = size(Bin) + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, 12, 0, ?Mikrotik:24,
  			?MikrotikGroup, Length, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikWirelessForward, Forward}}} | T], Acc)
  		when is_integer(Forward) ->
  
negative.code: attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikAddressList, List}}} | T], Acc) when is_list(List) ->
  	Bin = list_to_binary(List),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikAddressList, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikWirelessMpKey, Key}}} | T], Acc) when is_list(Key) ->
  	Bin = list_to_binary(Key),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikWirelessMpKey, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikWirelessComment, Comment}}} | T], Acc) when is_list(Comment) ->
  	Bin = list_to_binary(Comment),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikWirelessComment, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikDelegatedIpv6Pool, Pool}}} | T], Acc) when is_list(Pool) ->
  	Bin = list_to_binary(Pool),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikDelegatedIpv6Pool, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikDhcpOptionSet, Set}}} | T], Acc) when is_list(Set) ->
  	Bin = list_to_binary(Set),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikDhcpOptionSet, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikDhcpOptionParamStr1, Str1}}} | T], Acc) when is_list(Str1) ->
  	Bin = list_to_binary(Str1),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikDhcpOptionParamStr1, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikDhcpOptionParamStr2, Str2}}} | T], Acc) when is_list(Str2) ->
  	Bin = list_to_binary(Str2),
  	VendorLength = size(Bin) + 2,
  	Length = VendorLength + 6,
  	attributes(T, <<Acc/binary, ?VendorSpecific, Length, 0, ?Mikrotik:24,
  			?MikrotikDhcpOptionParamStr2, VendorLength, Bin/binary>>);
  attributes([{?VendorSpecific, {?Mikrotik,
  		{?MikrotikWirelessVlanId, ID}}} | T], Acc) when is_integer(ID) ->
  	attributes(T, <<Acc/binary, ?VendorSpecific, 12, 0, ?Mikrotik:24,
  