anchor.diff:  -compile([export_all]).
   
   -define(SERVER, ?MODULE).
  --define(WATCHERS,service_watchers).
   -define(P6DMAP,service_map).
  --define(MYTAGS,service_tags).
   
   -record(state, {known=sets:new(), chans=channel_mgr:new()}).
   
   default_tags() -> p6props:getApp(mmd_core,force_tags,[]).
  -
  -fix_tags(undefined) -> undefined;
  -fix_tags(List) -> lists:usort(p6str:to_lower_list(List)).
   
   get_tags(Tags) ->
       Ret = case application:get_env(mmd_core,force_tags) of
  
positive.code: normalize(S=#service{tags=undefined}) -> normalize(S#service{tags=default_tags()});
  normalize(S=#service{pid=undefined}) -> normalize(S#service{pid=self(),node=node()});
  normalize(S=#service{name=Name}) when is_atom(Name) -> normalize(S#service{name=p6str:to_lower_bin(Name)});
  normalize(S) -> S.
  
  regGlobal(Service=#service{pid=Pid}) ->
      S = normalize(Service),
  
negative.code: 	  end,
      fix_tags(Ret).
  
  fix_tags(undefined) -> undefined;
  fix_tags(List) -> lists:usort(p6str:to_lower_list(List)).
  
  merge_tags(undefined,undefined) -> undefined;
  merge_tags(undefined,List) -> List;
  merge_tags(List,undefined) -> List;
  