anchor.diff:  substitute_params(Params, ParamDefinitions, Permissions) ->
       ParamPairs = lists:zip(ParamDefinitions, Params),
       lists:map(fun ({ObjectPattern, AllowedOperations}) ->
  -                      {lists:map(fun ({Name, all}) ->
  -                                         {Name, all};
  +                      {lists:map(fun ({Name, any}) ->
  +                                         {Name, any};
                                        ({Name, Param}) ->
                                            {Param, Subst} = lists:keyfind(Param, 1, ParamPairs),
                                            {Name, Subst};
  
positive.code:        {desc, <<"Can manage views for specified buckets">>}],
        [{[{bucket, bucket_name}, views], all},
         {[{bucket, bucket_name}, data], [read]},
         {[{bucket, all}, settings], [read]},
         {[{bucket, all}], none},
         {[xdcr], none},
         {[admin], none},
         {[], [read]}]},
       {replication_admin, [],
        [{name, <<"Replication Admin">>},
         {desc, <<"Can manage ONLY XDCR features (cluster AND bucket level)">>}],
        [{[{bucket, all}, xdcr], all},
         {[xdcr], all},
         {[admin], none},
         {[], [read]}]}].
  
negative.code:      {ro_admin, [],
        [{name, <<"Read Only Admin">>},
         {desc, <<"Can view ALL cluster features.">>}],
        [{[{bucket, any}, password], none},
         {[{bucket, any}, data], none},
         {[admin, security], [read]},
         {[admin], none},
         {[], [read]}]},
  