anchor.diff:  
   -spec compressed_imsi(IMSI) -> IMSI
   	when
  -		IMSI :: string() | binary().
  +		IMSI :: binary().
   %% @doc Compress or decompress an IMSI.
   %%
   %% See 3GPP 33.402 14.1 Temporary identity generation.
   %% @private
  -compressed_imsi(<<15:4, _:124/bits>> = IMSI) ->
  +compressed_imsi(<<15:4, _:60/bits>> = IMSI) ->
   	B = << <<A, B>> || <<A:4, B:4>> <= IMSI >>,
   	lists:flatten([integer_to_list(C) || <<C>> <= B, C /= 15]);
   compressed_imsi(IMSI) when is_binary(IMSI) ->
  -	L1 = [list_to_integer([C]) || <<C>> <- IMSI],
  +	L1 = [list_to_integer([C]) || <<C>> <= IMSI],
   	L2 = lists:duplicate(16 - length(L1), 15),
   	L3 = L2 ++ L1,
   	<< <<D:4>> || D <- L3 >>.
  
positive.code: -define(TIMEOUT, 30000).
  
  -define(EAP_APPLICATION_ID, 5).
  -define(TEMP_TAG, $t).
  -define(FAST_TAG, $f).
  
  %%----------------------------------------------------------------------
  %%  The ocs_eap_aka_fsm API
  
negative.code: %%% @reference <a href="http://tools.ietf.org/html/rfc5448">
  %%% 	RFC5448 - Improved Extensible Authentication Protocol Method for
  %%% 		3rd Generation Authentication and Key Agreement (EAP-AKA')</a>
  %%% @reference <a href="https://webapp.etsi.org/key/key.asp?GSMSpecPart1=33&amp;GSMSpecPart2=402&amp;Search=search">
  %%% 	3GPP TS 33.402 - Security aspects of non-3GPP accesses</a>
  %%% @reference <a href="https://webapp.etsi.org/key/key.asp?GSMSpecPart1=23&amp;GSMSpecPart2=003&amp;Search=search">
  %%% 	3GPP TS 23.003 - Numbering, addressing and identification</a>
  %%%
  -module(ocs_eap_aka_fsm).
  -copyright('Copyright (c) 2016 - 2018 SigScale Global Inc.').
  