diff --git a/.github/workflows/build-test.yaml b/.github/workflows/build-test.yaml index a684168667..68af1479b4 100644 --- a/.github/workflows/build-test.yaml +++ b/.github/workflows/build-test.yaml @@ -93,7 +93,7 @@ jobs: - uses: "authzed/actions/go-test@main" with: tags: "ci,docker" - timeout: "10m" + timeout: "15m" working_directory: "internal/services/integrationtesting" datastore: @@ -114,6 +114,24 @@ jobs: tags: "ci,docker" timeout: "10m" working_directory: "internal/datastore/${{ matrix.datastore }}" + + datastoreconsistency: + name: "Datastore Consistency Tests" + runs-on: "ubuntu-latest" + strategy: + fail-fast: false + matrix: + datastore: ["cockroachdb", "mysql", "postgres", "spanner"] + steps: + - uses: "actions/checkout@v3" + - uses: "actions/setup-go@v3" + with: + go-version: "${{ env.GO_VERSION }}" + cache: "true" + - name: "Run Datastore Consistency Tests" + working-directory: "internal/services/integrationtesting" + run: "go test --failfast -count=1 -timeout '10m' --tags='ci,docker,datastoreconsistency' ./... -run TestConsistencyPerDatastore/${{ matrix.datastore }}" + e2e: name: "E2E" runs-on: "ubuntu-latest" diff --git a/e2e/go.mod b/e2e/go.mod index 4f7d95e534..c7870763b5 100644 --- a/e2e/go.mod +++ b/e2e/go.mod @@ -34,6 +34,7 @@ require ( github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgproto3/v2 v2.3.1 // indirect github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect + github.com/jzelinskie/stringz v0.0.1 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.16 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect diff --git a/e2e/go.sum b/e2e/go.sum index cb959d65e9..d7053330db 100644 --- a/e2e/go.sum +++ b/e2e/go.sum @@ -146,6 +146,8 @@ github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jzelinskie/stringz v0.0.1 h1:IahR+y8ct2nyj7B6i8UtFsGFj4ex1SX27iKFYsAheLk= +github.com/jzelinskie/stringz v0.0.1/go.mod h1:hHYbgxJuNLRw91CmpuFsYEOyQqpDVFg8pvEh23vy4P0= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= diff --git a/internal/datastore/common/sql.go b/internal/datastore/common/sql.go index f54969b0bb..fd817d728a 100644 --- a/internal/datastore/common/sql.go +++ b/internal/datastore/common/sql.go @@ -6,8 +6,6 @@ import ( "math" "runtime" - "github.com/authzed/spicedb/pkg/spiceerrors" - sq "github.com/Masterminds/squirrel" v1 "github.com/authzed/authzed-go/proto/authzed/api/v1" "github.com/jzelinskie/stringz" @@ -17,6 +15,7 @@ import ( "github.com/authzed/spicedb/internal/datastore/options" "github.com/authzed/spicedb/pkg/datastore" core "github.com/authzed/spicedb/pkg/proto/core/v1" + "github.com/authzed/spicedb/pkg/spiceerrors" ) var ( @@ -166,8 +165,8 @@ func (sqf SchemaQueryFilterer) FilterWithRelationshipsFilter(filter datastore.Re sqf = usqf } - if filter.OptionalSubjectsFilter != nil { - usqf, err := sqf.FilterWithSubjectsFilter(*filter.OptionalSubjectsFilter) + if len(filter.OptionalSubjectsSelectors) > 0 { + usqf, err := sqf.FilterWithSubjectsSelectors(filter.OptionalSubjectsSelectors...) if err != nil { return sqf, err } @@ -181,75 +180,90 @@ func (sqf SchemaQueryFilterer) FilterWithRelationshipsFilter(filter datastore.Re return sqf, nil } -// MustFilterWithSubjectsFilter returns a new SchemaQueryFilterer that is limited to resources with -// subjects that match the specified filter. -func (sqf SchemaQueryFilterer) MustFilterWithSubjectsFilter(filter datastore.SubjectsFilter) SchemaQueryFilterer { - usqf, err := sqf.FilterWithSubjectsFilter(filter) +// MustFilterWithSubjectsSelectors returns a new SchemaQueryFilterer that is limited to resources with +// subjects that match the specified selector(s). +func (sqf SchemaQueryFilterer) MustFilterWithSubjectsSelectors(selectors ...datastore.SubjectsSelector) SchemaQueryFilterer { + usqf, err := sqf.FilterWithSubjectsSelectors(selectors...) if err != nil { panic(err) } return usqf } -// FilterWithSubjectsFilter returns a new SchemaQueryFilterer that is limited to resources with -// subjects that match the specified filter. -func (sqf SchemaQueryFilterer) FilterWithSubjectsFilter(filter datastore.SubjectsFilter) (SchemaQueryFilterer, error) { - sqf.queryBuilder = sqf.queryBuilder.Where(sq.Eq{sqf.schema.ColUsersetNamespace: filter.SubjectType}) - sqf.tracerAttributes = append(sqf.tracerAttributes, SubNamespaceNameKey.String(filter.SubjectType)) +// FilterWithSubjectsSelectors returns a new SchemaQueryFilterer that is limited to resources with +// subjects that match the specified selector(s). +func (sqf SchemaQueryFilterer) FilterWithSubjectsSelectors(selectors ...datastore.SubjectsSelector) (SchemaQueryFilterer, error) { + selectorsOrClause := sq.Or{} - if len(filter.OptionalSubjectIds) > 0 { - // TODO(jschorr): Change this panic into an automatic query split, if we find it necessary. - if len(filter.OptionalSubjectIds) > datastore.FilterMaximumIDCount { - return sqf, spiceerrors.MustBugf("cannot have more than %d subject IDs in a single filter", datastore.FilterMaximumIDCount) - } + for _, selector := range selectors { + selectorClause := sq.And{} - inClause := fmt.Sprintf("%s IN (", sqf.schema.ColUsersetObjectID) - args := make([]any, 0, len(filter.OptionalSubjectIds)) + if len(selector.OptionalSubjectType) > 0 { + selectorClause = append(selectorClause, sq.Eq{sqf.schema.ColUsersetNamespace: selector.OptionalSubjectType}) + sqf.tracerAttributes = append(sqf.tracerAttributes, SubNamespaceNameKey.String(selector.OptionalSubjectType)) + } - for index, subjectID := range filter.OptionalSubjectIds { - if len(subjectID) == 0 { - return sqf, spiceerrors.MustBugf("got empty subject ID") + if len(selector.OptionalSubjectIds) > 0 { + // TODO(jschorr): Change this panic into an automatic query split, if we find it necessary. + if len(selector.OptionalSubjectIds) > datastore.FilterMaximumIDCount { + return sqf, spiceerrors.MustBugf("cannot have more than %d subject IDs in a single filter", datastore.FilterMaximumIDCount) } - if index > 0 { - inClause += ", " - } + inClause := fmt.Sprintf("%s IN (", sqf.schema.ColUsersetObjectID) + args := make([]any, 0, len(selector.OptionalSubjectIds)) - inClause += "?" + for index, subjectID := range selector.OptionalSubjectIds { + if len(subjectID) == 0 { + return sqf, spiceerrors.MustBugf("got empty subject ID") + } - args = append(args, subjectID) - sqf.tracerAttributes = append(sqf.tracerAttributes, SubObjectIDKey.String(subjectID)) - } + if index > 0 { + inClause += ", " + } - sqf.queryBuilder = sqf.queryBuilder.Where(inClause+")", args...) - } + inClause += "?" - if !filter.RelationFilter.IsEmpty() { - relations := make([]string, 0, 2) - if filter.RelationFilter.IncludeEllipsisRelation { - relations = append(relations, datastore.Ellipsis) - } + args = append(args, subjectID) + sqf.tracerAttributes = append(sqf.tracerAttributes, SubObjectIDKey.String(subjectID)) + } - if filter.RelationFilter.NonEllipsisRelation != "" { - relations = append(relations, filter.RelationFilter.NonEllipsisRelation) + selectorClause = append(selectorClause, sq.Expr(inClause+")", args...)) } - if len(relations) == 1 { - relName := relations[0] - sqf.tracerAttributes = append(sqf.tracerAttributes, SubRelationNameKey.String(relName)) - sqf.queryBuilder = sqf.queryBuilder.Where(sq.Eq{sqf.schema.ColUsersetRelation: relName}) - } else { - orClause := sq.Or{} - for _, relationName := range relations { - dsRelationName := stringz.DefaultEmpty(relationName, datastore.Ellipsis) - orClause = append(orClause, sq.Eq{sqf.schema.ColUsersetRelation: dsRelationName}) - sqf.tracerAttributes = append(sqf.tracerAttributes, SubRelationNameKey.String(dsRelationName)) + if !selector.RelationFilter.IsEmpty() { + if selector.RelationFilter.OnlyNonEllipsisRelations { + selectorClause = append(selectorClause, sq.NotEq{sqf.schema.ColUsersetRelation: datastore.Ellipsis}) + } else { + relations := make([]string, 0, 2) + if selector.RelationFilter.IncludeEllipsisRelation { + relations = append(relations, datastore.Ellipsis) + } + + if selector.RelationFilter.NonEllipsisRelation != "" { + relations = append(relations, selector.RelationFilter.NonEllipsisRelation) + } + + if len(relations) == 1 { + relName := relations[0] + sqf.tracerAttributes = append(sqf.tracerAttributes, SubRelationNameKey.String(relName)) + selectorClause = append(selectorClause, sq.Eq{sqf.schema.ColUsersetRelation: relName}) + } else { + orClause := sq.Or{} + for _, relationName := range relations { + dsRelationName := stringz.DefaultEmpty(relationName, datastore.Ellipsis) + orClause = append(orClause, sq.Eq{sqf.schema.ColUsersetRelation: dsRelationName}) + sqf.tracerAttributes = append(sqf.tracerAttributes, SubRelationNameKey.String(dsRelationName)) + } + + selectorClause = append(selectorClause, orClause) + } } - - sqf.queryBuilder = sqf.queryBuilder.Where(orClause) } + + selectorsOrClause = append(selectorsOrClause, selectorClause) } + sqf.queryBuilder = sqf.queryBuilder.Where(selectorsOrClause) return sqf, nil } diff --git a/internal/datastore/common/sql_test.go b/internal/datastore/common/sql_test.go index 5e61024aa7..5915d0d8cd 100644 --- a/internal/datastore/common/sql_test.go +++ b/internal/datastore/common/sql_test.go @@ -106,80 +106,144 @@ func TestSchemaQueryFilterer(t *testing.T) { { "subjects filter with no IDs or relations", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", }) }, - "SELECT * WHERE subject_ns = ?", + "SELECT * WHERE ((subject_ns = ?))", []any{"somesubjectype"}, }, + { + "multiple subjects filters with just types", + func(filterer SchemaQueryFilterer) SchemaQueryFilterer { + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + }, datastore.SubjectsSelector{ + OptionalSubjectType: "anothersubjectype", + }) + }, + "SELECT * WHERE ((subject_ns = ?) OR (subject_ns = ?))", + []any{"somesubjectype", "anothersubjectype"}, + }, { "subjects filter with single ID", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - OptionalSubjectIds: []string{"somesubjectid"}, + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + OptionalSubjectIds: []string{"somesubjectid"}, }) }, - "SELECT * WHERE subject_ns = ? AND subject_object_id IN (?)", + "SELECT * WHERE ((subject_ns = ? AND subject_object_id IN (?)))", []any{"somesubjectype", "somesubjectid"}, }, + { + "subjects filter with single ID and no type", + func(filterer SchemaQueryFilterer) SchemaQueryFilterer { + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectIds: []string{"somesubjectid"}, + }) + }, + "SELECT * WHERE ((subject_object_id IN (?)))", + []any{"somesubjectid"}, + }, + { + "empty subjects filter", + func(filterer SchemaQueryFilterer) SchemaQueryFilterer { + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{}) + }, + "SELECT * WHERE ((1=1))", + nil, + }, { "subjects filter with multiple IDs", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - OptionalSubjectIds: []string{"somesubjectid", "anothersubjectid"}, + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + OptionalSubjectIds: []string{"somesubjectid", "anothersubjectid"}, }) }, - "SELECT * WHERE subject_ns = ? AND subject_object_id IN (?, ?)", + "SELECT * WHERE ((subject_ns = ? AND subject_object_id IN (?, ?)))", []any{"somesubjectype", "somesubjectid", "anothersubjectid"}, }, { "subjects filter with single ellipsis relation", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - RelationFilter: datastore.SubjectRelationFilter{}.WithEllipsisRelation(), + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + RelationFilter: datastore.SubjectRelationFilter{}.WithEllipsisRelation(), }) }, - "SELECT * WHERE subject_ns = ? AND subject_relation = ?", + "SELECT * WHERE ((subject_ns = ? AND subject_relation = ?))", []any{"somesubjectype", "..."}, }, { "subjects filter with single defined relation", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel"), + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel"), }) }, - "SELECT * WHERE subject_ns = ? AND subject_relation = ?", + "SELECT * WHERE ((subject_ns = ? AND subject_relation = ?))", []any{"somesubjectype", "somesubrel"}, }, + { + "subjects filter with only non-ellipsis", + func(filterer SchemaQueryFilterer) SchemaQueryFilterer { + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + RelationFilter: datastore.SubjectRelationFilter{}.WithOnlyNonEllipsisRelations(), + }) + }, + "SELECT * WHERE ((subject_ns = ? AND subject_relation <> ?))", + []any{"somesubjectype", "..."}, + }, { "subjects filter with defined relation and ellipsis", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), }) }, - "SELECT * WHERE subject_ns = ? AND (subject_relation = ? OR subject_relation = ?)", + "SELECT * WHERE ((subject_ns = ? AND (subject_relation = ? OR subject_relation = ?)))", []any{"somesubjectype", "...", "somesubrel"}, }, { "subjects filter", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { - return filterer.MustFilterWithSubjectsFilter(datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - OptionalSubjectIds: []string{"somesubjectid", "anothersubjectid"}, - RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), + return filterer.MustFilterWithSubjectsSelectors(datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + OptionalSubjectIds: []string{"somesubjectid", "anothersubjectid"}, + RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), }) }, - "SELECT * WHERE subject_ns = ? AND subject_object_id IN (?, ?) AND (subject_relation = ? OR subject_relation = ?)", + "SELECT * WHERE ((subject_ns = ? AND subject_object_id IN (?, ?) AND (subject_relation = ? OR subject_relation = ?)))", []any{"somesubjectype", "somesubjectid", "anothersubjectid", "...", "somesubrel"}, }, + { + "multiple subjects filter", + func(filterer SchemaQueryFilterer) SchemaQueryFilterer { + return filterer.MustFilterWithSubjectsSelectors( + datastore.SubjectsSelector{ + OptionalSubjectType: "somesubjectype", + OptionalSubjectIds: []string{"a", "b"}, + RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), + }, + datastore.SubjectsSelector{ + OptionalSubjectType: "anothersubjecttype", + OptionalSubjectIds: []string{"b", "c"}, + RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("anotherrel").WithEllipsisRelation(), + }, + datastore.SubjectsSelector{ + OptionalSubjectType: "thirdsubjectype", + RelationFilter: datastore.SubjectRelationFilter{}.WithOnlyNonEllipsisRelations(), + }, + ) + }, + "SELECT * WHERE ((subject_ns = ? AND subject_object_id IN (?, ?) AND (subject_relation = ? OR subject_relation = ?)) OR (subject_ns = ? AND subject_object_id IN (?, ?) AND (subject_relation = ? OR subject_relation = ?)) OR (subject_ns = ? AND subject_relation <> ?))", + []any{"somesubjectype", "a", "b", "...", "somesubrel", "anothersubjecttype", "b", "c", "...", "anotherrel", "thirdsubjectype", "..."}, + }, { "v1 subject filter with namespace", func(filterer SchemaQueryFilterer) SchemaQueryFilterer { @@ -276,15 +340,17 @@ func TestSchemaQueryFilterer(t *testing.T) { ResourceType: "someresourcetype", OptionalResourceIds: []string{"someid", "anotherid"}, OptionalResourceRelation: "somerelation", - OptionalSubjectsFilter: &datastore.SubjectsFilter{ - SubjectType: "somesubjectype", - OptionalSubjectIds: []string{"somesubjectid", "anothersubjectid"}, - RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), + OptionalSubjectsSelectors: []datastore.SubjectsSelector{ + { + OptionalSubjectType: "somesubjectype", + OptionalSubjectIds: []string{"somesubjectid", "anothersubjectid"}, + RelationFilter: datastore.SubjectRelationFilter{}.WithNonEllipsisRelation("somesubrel").WithEllipsisRelation(), + }, }, }, ) }, - "SELECT * WHERE ns = ? AND relation = ? AND object_id IN (?, ?) AND subject_ns = ? AND subject_object_id IN (?, ?) AND (subject_relation = ? OR subject_relation = ?)", + "SELECT * WHERE ns = ? AND relation = ? AND object_id IN (?, ?) AND ((subject_ns = ? AND subject_object_id IN (?, ?) AND (subject_relation = ? OR subject_relation = ?)))", []any{"someresourcetype", "somerelation", "someid", "anotherid", "somesubjectype", "somesubjectid", "anothersubjectid", "...", "somesubrel"}, }, } diff --git a/internal/datastore/crdb/reader.go b/internal/datastore/crdb/reader.go index 1123c72d1a..04166a2418 100644 --- a/internal/datastore/crdb/reader.go +++ b/internal/datastore/crdb/reader.go @@ -165,7 +165,7 @@ func (cr *crdbReader) ReverseQueryRelationships( opts ...options.ReverseQueryOptionsOption, ) (iter datastore.RelationshipIterator, err error) { qBuilder, err := common.NewSchemaQueryFilterer(schema, queryTuples). - FilterWithSubjectsFilter(subjectsFilter) + FilterWithSubjectsSelectors(subjectsFilter.AsSelector()) if err != nil { return nil, err } diff --git a/internal/datastore/memdb/readonly.go b/internal/datastore/memdb/readonly.go index 8c3a1b4061..732a9468d1 100644 --- a/internal/datastore/memdb/readonly.go +++ b/internal/datastore/memdb/readonly.go @@ -50,7 +50,7 @@ func (r *memdbReader) QueryRelationships( filter.ResourceType, filter.OptionalResourceIds, filter.OptionalResourceRelation, - filter.OptionalSubjectsFilter, + filter.OptionalSubjectsSelectors, filter.OptionalCaveatName, queryOpts.Usersets, ) @@ -110,7 +110,7 @@ func (r *memdbReader) ReverseQueryRelationships( filterObjectType, nil, filterRelation, - &subjectsFilter, + []datastore.SubjectsSelector{subjectsFilter.AsSelector()}, "", nil, ) @@ -270,7 +270,7 @@ func filterFuncForFilters( optionalResourceType string, optionalResourceIds []string, optionalRelation string, - optionalSubjectsFilter *datastore.SubjectsFilter, + optionalSubjectsSelectors []datastore.SubjectsSelector, optionalCaveatFilter string, usersets []*core.ObjectAndRelation, ) memdb.FilterFunc { @@ -288,22 +288,40 @@ func filterFuncForFilters( return true } - if optionalSubjectsFilter != nil { + applySubjectSelector := func(selector datastore.SubjectsSelector) bool { + switch { + case len(selector.OptionalSubjectType) > 0 && selector.OptionalSubjectType != tuple.subjectNamespace: + return false + case len(selector.OptionalSubjectIds) > 0 && !stringz.SliceContains(selector.OptionalSubjectIds, tuple.subjectObjectID): + return false + } + + if selector.RelationFilter.OnlyNonEllipsisRelations { + return tuple.subjectRelation != datastore.Ellipsis + } + relations := make([]string, 0, 2) - if optionalSubjectsFilter.RelationFilter.IncludeEllipsisRelation { + if selector.RelationFilter.IncludeEllipsisRelation { relations = append(relations, datastore.Ellipsis) } - if optionalSubjectsFilter.RelationFilter.NonEllipsisRelation != "" { - relations = append(relations, optionalSubjectsFilter.RelationFilter.NonEllipsisRelation) + if selector.RelationFilter.NonEllipsisRelation != "" { + relations = append(relations, selector.RelationFilter.NonEllipsisRelation) } - switch { - case optionalSubjectsFilter.SubjectType != tuple.subjectNamespace: - return true - case len(optionalSubjectsFilter.OptionalSubjectIds) > 0 && !stringz.SliceContains(optionalSubjectsFilter.OptionalSubjectIds, tuple.subjectObjectID): - return true - case len(relations) > 0 && !stringz.SliceContains(relations, tuple.subjectRelation): + return len(relations) == 0 || stringz.SliceContains(relations, tuple.subjectRelation) + } + + if len(optionalSubjectsSelectors) > 0 { + hasMatchingSelector := false + for _, selector := range optionalSubjectsSelectors { + if applySubjectSelector(selector) { + hasMatchingSelector = true + break + } + } + + if !hasMatchingSelector { return true } } diff --git a/internal/datastore/mysql/reader.go b/internal/datastore/mysql/reader.go index cfa28fa00b..81eda67c4a 100644 --- a/internal/datastore/mysql/reader.go +++ b/internal/datastore/mysql/reader.go @@ -68,7 +68,7 @@ func (mr *mysqlReader) ReverseQueryRelationships( ) (iter datastore.RelationshipIterator, err error) { // TODO (@vroldanbet) dupe from postgres datastore - need to refactor qBuilder, err := common.NewSchemaQueryFilterer(schema, mr.filterer(mr.QueryTuplesQuery)). - FilterWithSubjectsFilter(subjectsFilter) + FilterWithSubjectsSelectors(subjectsFilter.AsSelector()) if err != nil { return nil, err } diff --git a/internal/datastore/postgres/reader.go b/internal/datastore/postgres/reader.go index cacc888b80..45bc366bd1 100644 --- a/internal/datastore/postgres/reader.go +++ b/internal/datastore/postgres/reader.go @@ -72,7 +72,7 @@ func (r *pgReader) ReverseQueryRelationships( opts ...options.ReverseQueryOptionsOption, ) (iter datastore.RelationshipIterator, err error) { qBuilder, err := common.NewSchemaQueryFilterer(schema, r.filterer(queryTuples)). - FilterWithSubjectsFilter(subjectsFilter) + FilterWithSubjectsSelectors(subjectsFilter.AsSelector()) if err != nil { return nil, err } diff --git a/internal/datastore/proxy/context.go b/internal/datastore/proxy/context.go index 0b50f07000..7d368bb4a1 100644 --- a/internal/datastore/proxy/context.go +++ b/internal/datastore/proxy/context.go @@ -111,8 +111,8 @@ func (r *ctxReader) QueryRelationships(ctx context.Context, filter datastore.Rel return r.delegate.QueryRelationships(SeparateContextWithTracing(ctx), filter, options...) } -func (r *ctxReader) ReverseQueryRelationships(ctx context.Context, subjectFilter datastore.SubjectsFilter, options ...options.ReverseQueryOptionsOption) (datastore.RelationshipIterator, error) { - return r.delegate.ReverseQueryRelationships(SeparateContextWithTracing(ctx), subjectFilter, options...) +func (r *ctxReader) ReverseQueryRelationships(ctx context.Context, subjectsFilter datastore.SubjectsFilter, options ...options.ReverseQueryOptionsOption) (datastore.RelationshipIterator, error) { + return r.delegate.ReverseQueryRelationships(SeparateContextWithTracing(ctx), subjectsFilter, options...) } var ( diff --git a/internal/datastore/proxy/hedging.go b/internal/datastore/proxy/hedging.go index b153daca77..8bceb345b3 100644 --- a/internal/datastore/proxy/hedging.go +++ b/internal/datastore/proxy/hedging.go @@ -246,11 +246,11 @@ func (hp hedgingReader) QueryRelationships( func (hp hedgingReader) ReverseQueryRelationships( ctx context.Context, - subjectFilter datastore.SubjectsFilter, + subjectsFilter datastore.SubjectsFilter, opts ...options.ReverseQueryOptionsOption, ) (iter datastore.RelationshipIterator, err error) { return hp.executeQuery(ctx, func(c context.Context) (datastore.RelationshipIterator, error) { - return hp.Reader.ReverseQueryRelationships(ctx, subjectFilter, opts...) + return hp.Reader.ReverseQueryRelationships(ctx, subjectsFilter, opts...) }) } diff --git a/internal/datastore/proxy/observable.go b/internal/datastore/proxy/observable.go index 0d423b89a9..4792b61f6d 100644 --- a/internal/datastore/proxy/observable.go +++ b/internal/datastore/proxy/observable.go @@ -211,7 +211,6 @@ func (i *observableRelationshipIterator) Close() { func (r *observableReader) ReverseQueryRelationships(ctx context.Context, subjectFilter datastore.SubjectsFilter, options ...options.ReverseQueryOptionsOption) (datastore.RelationshipIterator, error) { ctx, closer := observe(ctx, "ReverseQueryRelationships") - iterator, err := r.delegate.ReverseQueryRelationships(ctx, subjectFilter, options...) if err != nil { return iterator, err diff --git a/internal/datastore/spanner/reader.go b/internal/datastore/spanner/reader.go index 2be9266cc0..5a14561f40 100644 --- a/internal/datastore/spanner/reader.go +++ b/internal/datastore/spanner/reader.go @@ -51,7 +51,7 @@ func (sr spannerReader) ReverseQueryRelationships( opts ...options.ReverseQueryOptionsOption, ) (iter datastore.RelationshipIterator, err error) { qBuilder, err := common.NewSchemaQueryFilterer(schema, queryTuples). - FilterWithSubjectsFilter(subjectsFilter) + FilterWithSubjectsSelectors(subjectsFilter.AsSelector()) if err != nil { return nil, err } diff --git a/internal/dispatch/graph/check_test.go b/internal/dispatch/graph/check_test.go index a3a13e0781..452f77fd47 100644 --- a/internal/dispatch/graph/check_test.go +++ b/internal/dispatch/graph/check_test.go @@ -159,7 +159,7 @@ func TestMaxDepth(t *testing.T) { ds, _ := testfixtures.StandardDatastoreWithSchema(rawDS, require) - mutation := tuple.Create(tuple.Parse("folder:oops#owner@folder:oops#owner")) + mutation := tuple.Create(tuple.Parse("folder:oops#parent@folder:oops")) ctx := log.Logger.WithContext(datastoremw.ContextWithHandle(context.Background())) require.NoError(datastoremw.SetInContext(ctx, ds)) @@ -171,7 +171,7 @@ func TestMaxDepth(t *testing.T) { dispatch := NewLocalOnlyDispatcher(10) _, err = dispatch.DispatchCheck(ctx, &v1.DispatchCheckRequest{ - ResourceRelation: RR("folder", "owner"), + ResourceRelation: RR("folder", "view"), ResourceIds: []string{"oops"}, ResultsSetting: v1.DispatchCheckRequest_ALLOW_SINGLE_RESULT, Subject: ONR("user", "fake", graph.Ellipsis), diff --git a/internal/graph/check.go b/internal/graph/check.go index 09ecea4c2e..05057a1700 100644 --- a/internal/graph/check.go +++ b/internal/graph/check.go @@ -22,20 +22,20 @@ import ( "github.com/authzed/spicedb/pkg/util" ) -var estimatedDirectDispatchQueryHistogram = prometheus.NewHistogram(prometheus.HistogramOpts{ - Name: "spicedb_estimated_check_direct_dispatch_query_count", - Help: "estimated number of queries made per direct dispatch", - Buckets: []float64{1, 2}, -}) - var dispatchChunkCountHistogram = prometheus.NewHistogram(prometheus.HistogramOpts{ Name: "spicedb_check_dispatch_chunk_count", Help: "number of chunks when dispatching in check", Buckets: []float64{1, 2, 3, 5, 10, 25, 100, 250}, }) +var directDispatchQueryHistogram = prometheus.NewHistogram(prometheus.HistogramOpts{ + Name: "spicedb_check_direct_dispatch_query_count", + Help: "number of queries made per direct dispatch", + Buckets: []float64{1, 2}, +}) + func init() { - prometheus.MustRegister(estimatedDirectDispatchQueryHistogram) + prometheus.MustRegister(directDispatchQueryHistogram) prometheus.MustRegister(dispatchChunkCountHistogram) } @@ -178,7 +178,7 @@ func (cc *ConcurrentChecker) checkInternal(ctx context.Context, req ValidatedChe } if relation.UsersetRewrite == nil { - return combineResultWithFoundResources(cc.checkDirect(ctx, crc), membershipSet) + return combineResultWithFoundResources(cc.checkDirect(ctx, crc, relation), membershipSet) } return combineResultWithFoundResources(cc.checkUsersetRewrite(ctx, crc, relation.UsersetRewrite), membershipSet) @@ -198,63 +198,169 @@ type directDispatch struct { resourceIds []string } -func (cc *ConcurrentChecker) checkDirect(ctx context.Context, crc currentRequestContext) CheckResult { +func (cc *ConcurrentChecker) checkDirect(ctx context.Context, crc currentRequestContext, relation *core.Relation) CheckResult { log.Ctx(ctx).Trace().Object("direct", crc.parentReq).Send() ds := datastoremw.MustFromContext(ctx).SnapshotReader(crc.parentReq.Revision) - // TODO(jschorr): Use type information to further optimize this query. - it, err := ds.QueryRelationships(ctx, datastore.RelationshipsFilter{ + // Build a filter for finding the direct relationships for the check. There are three + // classes of relationships to be found: + // 1) the target subject itself, if allowed on this relation + // 2) the wildcard form of the target subject, if a wildcard is allowed on this relation + // 3) Otherwise, any non-terminal (non-`...`) subjects, if allowed on this relation, to be + // redispatched outward + hasNonTerminals := false + hasDirectSubject := false + hasWildcardSubject := false + + for _, allowedDirectRelation := range relation.GetTypeInformation().GetAllowedDirectRelations() { + // If the namespace of the allowed direct relation matches the subject type, there are two + // cases to optimize: + // 1) Finding the target subject itself, as a direct lookup + // 2) Finding a wildcard for the subject type+relation + if allowedDirectRelation.GetNamespace() == crc.parentReq.Subject.Namespace { + if allowedDirectRelation.GetPublicWildcard() != nil { + hasWildcardSubject = true + } else if allowedDirectRelation.GetRelation() == crc.parentReq.Subject.Relation { + hasDirectSubject = true + } + } + + // If the relation found is not an ellipsis, then this is a nested relation that + // might need to be followed, so indicate that such relationships should be returned + // + // TODO(jschorr): Use type information to *further* optimize this query around which nested + // relations can reach the target subject type. + if allowedDirectRelation.GetRelation() != tuple.Ellipsis { + hasNonTerminals = true + } + } + + foundResources := NewMembershipSet() + + // If the direct subject or a wildcard form can be found, issue a query for just that + // subject. + var queryCount float64 + defer func() { + directDispatchQueryHistogram.Observe(queryCount) + }() + + if hasDirectSubject || hasWildcardSubject { + subjectSelectors := []datastore.SubjectsSelector{} + + if hasDirectSubject { + subjectSelectors = append(subjectSelectors, datastore.SubjectsSelector{ + OptionalSubjectType: crc.parentReq.Subject.Namespace, + OptionalSubjectIds: []string{crc.parentReq.Subject.ObjectId}, + RelationFilter: datastore.SubjectRelationFilter{}.WithRelation(crc.parentReq.Subject.Relation), + }) + } + + if hasWildcardSubject { + subjectSelectors = append(subjectSelectors, datastore.SubjectsSelector{ + OptionalSubjectType: crc.parentReq.Subject.Namespace, + OptionalSubjectIds: []string{tuple.PublicWildcard}, + RelationFilter: datastore.SubjectRelationFilter{}.WithEllipsisRelation(), + }) + } + + filter := datastore.RelationshipsFilter{ + ResourceType: crc.parentReq.ResourceRelation.Namespace, + OptionalResourceIds: crc.filteredResourceIDs, + OptionalResourceRelation: crc.parentReq.ResourceRelation.Relation, + OptionalSubjectsSelectors: subjectSelectors, + } + + it, err := ds.QueryRelationships(ctx, filter) + if err != nil { + return checkResultError(NewCheckFailureErr(err), emptyMetadata) + } + defer it.Close() + queryCount += 1.0 + + // Find the matching subject(s). + for tpl := it.Next(); tpl != nil; tpl = it.Next() { + if it.Err() != nil { + return checkResultError(NewCheckFailureErr(it.Err()), emptyMetadata) + } + + // If the subject of the relationship matches the target subject, then we've found + // a result. + if !onrEqualOrWildcard(tpl.Subject, crc.parentReq.Subject) { + tplString, err := tuple.String(tpl) + if err != nil { + return checkResultError(err, emptyMetadata) + } + + return checkResultError( + NewCheckFailureErr( + fmt.Errorf("somehow got invalid ONR for direct check matching: %s vs %s", tuple.StringONR(crc.parentReq.Subject), tplString), + ), + emptyMetadata, + ) + } + + foundResources.AddDirectMember(tpl.ResourceAndRelation.ObjectId, tpl.Caveat) + if crc.resultsSetting == v1.DispatchCheckRequest_ALLOW_SINGLE_RESULT && foundResources.HasDeterminedMember() { + return checkResultsForMembership(foundResources, emptyMetadata) + } + } + it.Close() + } + + // Filter down the resource IDs for further dispatch based on whether they exist as found + // subjects in the existing membership set. + furtherFilteredResourceIDs := make([]string, 0, len(crc.filteredResourceIDs)-foundResources.Size()) + for _, resourceID := range crc.filteredResourceIDs { + if foundResources.HasConcreteResourceID(resourceID) { + continue + } + + furtherFilteredResourceIDs = append(furtherFilteredResourceIDs, resourceID) + } + + // If there are no possible non-terminals, then the check is completed. + if !hasNonTerminals || len(furtherFilteredResourceIDs) == 0 { + return checkResultsForMembership(foundResources, emptyMetadata) + } + + // Otherwise, for any remaining resource IDs, query for redispatch. + filter := datastore.RelationshipsFilter{ ResourceType: crc.parentReq.ResourceRelation.Namespace, - OptionalResourceIds: crc.filteredResourceIDs, + OptionalResourceIds: furtherFilteredResourceIDs, OptionalResourceRelation: crc.parentReq.ResourceRelation.Relation, - }) + OptionalSubjectsSelectors: []datastore.SubjectsSelector{ + { + RelationFilter: datastore.SubjectRelationFilter{}.WithOnlyNonEllipsisRelations(), + }, + }, + } + + it, err := ds.QueryRelationships(ctx, filter) if err != nil { return checkResultError(NewCheckFailureErr(err), emptyMetadata) } defer it.Close() + queryCount += 1.0 // Find the subjects over which to dispatch. - foundResources := NewMembershipSet() subjectsToDispatch := tuple.NewONRByTypeSet() relationshipsBySubjectONR := util.NewMultiMap[string, *core.RelationTuple]() - // Report the estimated direct dispatch query count. - hadDirectResult := false - hadDispatchedResult := false - defer (func() { - estimatedQueryCount := 1.0 - if !hadDirectResult && hadDispatchedResult { - estimatedQueryCount = 2 - } - estimatedDirectDispatchQueryHistogram.Observe(estimatedQueryCount) - })() - for tpl := it.Next(); tpl != nil; tpl = it.Next() { if it.Err() != nil { return checkResultError(NewCheckFailureErr(it.Err()), emptyMetadata) } - // If the subject of the relationship matches the target subject, then we've found - // a result. - if onrEqualOrWildcard(tpl.Subject, crc.parentReq.Subject) { - foundResources.AddDirectMember(tpl.ResourceAndRelation.ObjectId, tpl.Caveat) - hadDirectResult = true - if crc.resultsSetting == v1.DispatchCheckRequest_ALLOW_SINGLE_RESULT && foundResources.HasDeterminedMember() { - return checkResultsForMembership(foundResources, emptyMetadata) - } - continue + // Add the subject as an object over which to dispatch. + if tpl.Subject.Relation == Ellipsis { + return checkResultError(NewCheckFailureErr(fmt.Errorf("got a terminal for a non-terminal query")), emptyMetadata) } - // If the subject of the relationship is a non-terminal, add to be dispatched. - if tpl.Subject.Relation != Ellipsis { - subjectsToDispatch.Add(tpl.Subject) - relationshipsBySubjectONR.Add(tuple.StringONR(tpl.Subject), tpl) - } + subjectsToDispatch.Add(tpl.Subject) + relationshipsBySubjectONR.Add(tuple.StringONR(tpl.Subject), tpl) } it.Close() - hadDispatchedResult = subjectsToDispatch.Len() > 0 - // Convert the subjects into batched requests. toDispatch := make([]directDispatch, 0, subjectsToDispatch.Len()) subjectsToDispatch.ForEachType(func(rr *core.RelationReference, resourceIds []string) { diff --git a/internal/graph/membershipset.go b/internal/graph/membershipset.go index 73e6533f84..24665de9e9 100644 --- a/internal/graph/membershipset.go +++ b/internal/graph/membershipset.go @@ -142,6 +142,26 @@ func (ms *MembershipSet) Subtract(resultsMap CheckResultsMap) { } } +// HasConcreteResourceID returns whether the resourceID was found in the set +// and has no caveat attached. +func (ms *MembershipSet) HasConcreteResourceID(resourceID string) bool { + if ms == nil { + return false + } + + found, ok := ms.membersByID[resourceID] + return ok && found == nil +} + +// Size returns the number of elements in the membership set. +func (ms *MembershipSet) Size() int { + if ms == nil { + return 0 + } + + return len(ms.membersByID) +} + // IsEmpty returns true if the set is empty. func (ms *MembershipSet) IsEmpty() bool { if ms == nil { diff --git a/internal/graph/reachableresources.go b/internal/graph/reachableresources.go index a034988abc..4afe15afec 100644 --- a/internal/graph/reachableresources.go +++ b/internal/graph/reachableresources.go @@ -186,11 +186,11 @@ func (crr *ConcurrentReachableResources) lookupRelationEntrypoint(ctx context.Co // Lookup the subjects and then redispatch/report results. subjectsFilter := datastore.SubjectsFilter{ - SubjectType: req.SubjectRelation.Namespace, + SubjectType: req.SubjectRelation.Namespace, + OptionalSubjectIds: subjectIds, RelationFilter: datastore.SubjectRelationFilter{ NonEllipsisRelation: req.SubjectRelation.Relation, }, - OptionalSubjectIds: subjectIds, } // Fire off a query lookup in parallel. @@ -321,8 +321,8 @@ func (crr *ConcurrentReachableResources) lookupTTUEntrypoint(ctx context.Context // Search for the resolved subjects in the tupleset of the TTU. subjectsFilter := datastore.SubjectsFilter{ SubjectType: req.SubjectRelation.Namespace, - RelationFilter: relationFilter, OptionalSubjectIds: req.SubjectIds, + RelationFilter: relationFilter, } // Fire off a query lookup in parallel. diff --git a/internal/services/integrationtesting/benchconfigs/checkwidedirect.yaml b/internal/services/integrationtesting/benchconfigs/checkwidedirect.yaml new file mode 100644 index 0000000000..6d2bdfc242 --- /dev/null +++ b/internal/services/integrationtesting/benchconfigs/checkwidedirect.yaml @@ -0,0 +1,9014 @@ +--- +schema: >- + definition user {} + + definition resource { + relation viewer: user + permission view = viewer + } +relationships: | + resource:someresource#viewer@user:user-0 + resource:someresource#viewer@user:user-1 + resource:someresource#viewer@user:user-2 + resource:someresource#viewer@user:user-3 + resource:someresource#viewer@user:user-4 + resource:someresource#viewer@user:user-5 + resource:someresource#viewer@user:user-6 + resource:someresource#viewer@user:user-7 + resource:someresource#viewer@user:user-8 + resource:someresource#viewer@user:user-9 + resource:someresource#viewer@user:user-10 + resource:someresource#viewer@user:user-11 + resource:someresource#viewer@user:user-12 + resource:someresource#viewer@user:user-13 + resource:someresource#viewer@user:user-14 + resource:someresource#viewer@user:user-15 + resource:someresource#viewer@user:user-16 + resource:someresource#viewer@user:user-17 + resource:someresource#viewer@user:user-18 + resource:someresource#viewer@user:user-19 + resource:someresource#viewer@user:user-20 + resource:someresource#viewer@user:user-21 + resource:someresource#viewer@user:user-22 + resource:someresource#viewer@user:user-23 + resource:someresource#viewer@user:user-24 + resource:someresource#viewer@user:user-25 + resource:someresource#viewer@user:user-26 + resource:someresource#viewer@user:user-27 + resource:someresource#viewer@user:user-28 + resource:someresource#viewer@user:user-29 + resource:someresource#viewer@user:user-30 + resource:someresource#viewer@user:user-31 + resource:someresource#viewer@user:user-32 + resource:someresource#viewer@user:user-33 + resource:someresource#viewer@user:user-34 + resource:someresource#viewer@user:user-35 + resource:someresource#viewer@user:user-36 + resource:someresource#viewer@user:user-37 + resource:someresource#viewer@user:user-38 + resource:someresource#viewer@user:user-39 + resource:someresource#viewer@user:user-40 + resource:someresource#viewer@user:user-41 + resource:someresource#viewer@user:user-42 + resource:someresource#viewer@user:user-43 + resource:someresource#viewer@user:user-44 + resource:someresource#viewer@user:user-45 + resource:someresource#viewer@user:user-46 + resource:someresource#viewer@user:user-47 + resource:someresource#viewer@user:user-48 + resource:someresource#viewer@user:user-49 + resource:someresource#viewer@user:user-50 + resource:someresource#viewer@user:user-51 + resource:someresource#viewer@user:user-52 + resource:someresource#viewer@user:user-53 + resource:someresource#viewer@user:user-54 + resource:someresource#viewer@user:user-55 + resource:someresource#viewer@user:user-56 + resource:someresource#viewer@user:user-57 + resource:someresource#viewer@user:user-58 + resource:someresource#viewer@user:user-59 + resource:someresource#viewer@user:user-60 + resource:someresource#viewer@user:user-61 + resource:someresource#viewer@user:user-62 + resource:someresource#viewer@user:user-63 + resource:someresource#viewer@user:user-64 + resource:someresource#viewer@user:user-65 + resource:someresource#viewer@user:user-66 + resource:someresource#viewer@user:user-67 + resource:someresource#viewer@user:user-68 + resource:someresource#viewer@user:user-69 + resource:someresource#viewer@user:user-70 + resource:someresource#viewer@user:user-71 + resource:someresource#viewer@user:user-72 + resource:someresource#viewer@user:user-73 + resource:someresource#viewer@user:user-74 + resource:someresource#viewer@user:user-75 + resource:someresource#viewer@user:user-76 + resource:someresource#viewer@user:user-77 + resource:someresource#viewer@user:user-78 + resource:someresource#viewer@user:user-79 + resource:someresource#viewer@user:user-80 + resource:someresource#viewer@user:user-81 + resource:someresource#viewer@user:user-82 + resource:someresource#viewer@user:user-83 + resource:someresource#viewer@user:user-84 + resource:someresource#viewer@user:user-85 + resource:someresource#viewer@user:user-86 + resource:someresource#viewer@user:user-87 + resource:someresource#viewer@user:user-88 + resource:someresource#viewer@user:user-89 + resource:someresource#viewer@user:user-90 + resource:someresource#viewer@user:user-91 + resource:someresource#viewer@user:user-92 + resource:someresource#viewer@user:user-93 + resource:someresource#viewer@user:user-94 + resource:someresource#viewer@user:user-95 + resource:someresource#viewer@user:user-96 + resource:someresource#viewer@user:user-97 + resource:someresource#viewer@user:user-98 + resource:someresource#viewer@user:user-99 + resource:someresource#viewer@user:user-100 + resource:someresource#viewer@user:user-101 + resource:someresource#viewer@user:user-102 + resource:someresource#viewer@user:user-103 + resource:someresource#viewer@user:user-104 + resource:someresource#viewer@user:user-105 + resource:someresource#viewer@user:user-106 + resource:someresource#viewer@user:user-107 + resource:someresource#viewer@user:user-108 + resource:someresource#viewer@user:user-109 + resource:someresource#viewer@user:user-110 + resource:someresource#viewer@user:user-111 + resource:someresource#viewer@user:user-112 + resource:someresource#viewer@user:user-113 + resource:someresource#viewer@user:user-114 + resource:someresource#viewer@user:user-115 + resource:someresource#viewer@user:user-116 + resource:someresource#viewer@user:user-117 + resource:someresource#viewer@user:user-118 + resource:someresource#viewer@user:user-119 + resource:someresource#viewer@user:user-120 + resource:someresource#viewer@user:user-121 + resource:someresource#viewer@user:user-122 + resource:someresource#viewer@user:user-123 + resource:someresource#viewer@user:user-124 + resource:someresource#viewer@user:user-125 + resource:someresource#viewer@user:user-126 + resource:someresource#viewer@user:user-127 + resource:someresource#viewer@user:user-128 + resource:someresource#viewer@user:user-129 + resource:someresource#viewer@user:user-130 + resource:someresource#viewer@user:user-131 + resource:someresource#viewer@user:user-132 + resource:someresource#viewer@user:user-133 + resource:someresource#viewer@user:user-134 + resource:someresource#viewer@user:user-135 + resource:someresource#viewer@user:user-136 + resource:someresource#viewer@user:user-137 + resource:someresource#viewer@user:user-138 + resource:someresource#viewer@user:user-139 + resource:someresource#viewer@user:user-140 + resource:someresource#viewer@user:user-141 + resource:someresource#viewer@user:user-142 + resource:someresource#viewer@user:user-143 + resource:someresource#viewer@user:user-144 + resource:someresource#viewer@user:user-145 + resource:someresource#viewer@user:user-146 + resource:someresource#viewer@user:user-147 + resource:someresource#viewer@user:user-148 + resource:someresource#viewer@user:user-149 + resource:someresource#viewer@user:user-150 + resource:someresource#viewer@user:user-151 + resource:someresource#viewer@user:user-152 + resource:someresource#viewer@user:user-153 + resource:someresource#viewer@user:user-154 + resource:someresource#viewer@user:user-155 + resource:someresource#viewer@user:user-156 + resource:someresource#viewer@user:user-157 + resource:someresource#viewer@user:user-158 + resource:someresource#viewer@user:user-159 + resource:someresource#viewer@user:user-160 + resource:someresource#viewer@user:user-161 + resource:someresource#viewer@user:user-162 + resource:someresource#viewer@user:user-163 + resource:someresource#viewer@user:user-164 + resource:someresource#viewer@user:user-165 + resource:someresource#viewer@user:user-166 + resource:someresource#viewer@user:user-167 + resource:someresource#viewer@user:user-168 + resource:someresource#viewer@user:user-169 + resource:someresource#viewer@user:user-170 + resource:someresource#viewer@user:user-171 + resource:someresource#viewer@user:user-172 + resource:someresource#viewer@user:user-173 + resource:someresource#viewer@user:user-174 + resource:someresource#viewer@user:user-175 + resource:someresource#viewer@user:user-176 + resource:someresource#viewer@user:user-177 + resource:someresource#viewer@user:user-178 + resource:someresource#viewer@user:user-179 + resource:someresource#viewer@user:user-180 + resource:someresource#viewer@user:user-181 + resource:someresource#viewer@user:user-182 + resource:someresource#viewer@user:user-183 + resource:someresource#viewer@user:user-184 + resource:someresource#viewer@user:user-185 + resource:someresource#viewer@user:user-186 + resource:someresource#viewer@user:user-187 + resource:someresource#viewer@user:user-188 + resource:someresource#viewer@user:user-189 + resource:someresource#viewer@user:user-190 + resource:someresource#viewer@user:user-191 + resource:someresource#viewer@user:user-192 + resource:someresource#viewer@user:user-193 + resource:someresource#viewer@user:user-194 + resource:someresource#viewer@user:user-195 + resource:someresource#viewer@user:user-196 + resource:someresource#viewer@user:user-197 + resource:someresource#viewer@user:user-198 + resource:someresource#viewer@user:user-199 + resource:someresource#viewer@user:user-200 + resource:someresource#viewer@user:user-201 + resource:someresource#viewer@user:user-202 + resource:someresource#viewer@user:user-203 + resource:someresource#viewer@user:user-204 + resource:someresource#viewer@user:user-205 + resource:someresource#viewer@user:user-206 + resource:someresource#viewer@user:user-207 + resource:someresource#viewer@user:user-208 + resource:someresource#viewer@user:user-209 + resource:someresource#viewer@user:user-210 + resource:someresource#viewer@user:user-211 + resource:someresource#viewer@user:user-212 + resource:someresource#viewer@user:user-213 + resource:someresource#viewer@user:user-214 + resource:someresource#viewer@user:user-215 + resource:someresource#viewer@user:user-216 + resource:someresource#viewer@user:user-217 + resource:someresource#viewer@user:user-218 + resource:someresource#viewer@user:user-219 + resource:someresource#viewer@user:user-220 + resource:someresource#viewer@user:user-221 + resource:someresource#viewer@user:user-222 + resource:someresource#viewer@user:user-223 + resource:someresource#viewer@user:user-224 + resource:someresource#viewer@user:user-225 + resource:someresource#viewer@user:user-226 + resource:someresource#viewer@user:user-227 + resource:someresource#viewer@user:user-228 + resource:someresource#viewer@user:user-229 + resource:someresource#viewer@user:user-230 + resource:someresource#viewer@user:user-231 + resource:someresource#viewer@user:user-232 + resource:someresource#viewer@user:user-233 + resource:someresource#viewer@user:user-234 + resource:someresource#viewer@user:user-235 + resource:someresource#viewer@user:user-236 + resource:someresource#viewer@user:user-237 + resource:someresource#viewer@user:user-238 + resource:someresource#viewer@user:user-239 + resource:someresource#viewer@user:user-240 + resource:someresource#viewer@user:user-241 + resource:someresource#viewer@user:user-242 + resource:someresource#viewer@user:user-243 + resource:someresource#viewer@user:user-244 + resource:someresource#viewer@user:user-245 + resource:someresource#viewer@user:user-246 + resource:someresource#viewer@user:user-247 + resource:someresource#viewer@user:user-248 + resource:someresource#viewer@user:user-249 + resource:someresource#viewer@user:user-250 + resource:someresource#viewer@user:user-251 + resource:someresource#viewer@user:user-252 + resource:someresource#viewer@user:user-253 + resource:someresource#viewer@user:user-254 + resource:someresource#viewer@user:user-255 + resource:someresource#viewer@user:user-256 + resource:someresource#viewer@user:user-257 + resource:someresource#viewer@user:user-258 + resource:someresource#viewer@user:user-259 + resource:someresource#viewer@user:user-260 + resource:someresource#viewer@user:user-261 + resource:someresource#viewer@user:user-262 + resource:someresource#viewer@user:user-263 + resource:someresource#viewer@user:user-264 + resource:someresource#viewer@user:user-265 + resource:someresource#viewer@user:user-266 + resource:someresource#viewer@user:user-267 + resource:someresource#viewer@user:user-268 + resource:someresource#viewer@user:user-269 + resource:someresource#viewer@user:user-270 + resource:someresource#viewer@user:user-271 + resource:someresource#viewer@user:user-272 + resource:someresource#viewer@user:user-273 + resource:someresource#viewer@user:user-274 + resource:someresource#viewer@user:user-275 + resource:someresource#viewer@user:user-276 + resource:someresource#viewer@user:user-277 + resource:someresource#viewer@user:user-278 + resource:someresource#viewer@user:user-279 + resource:someresource#viewer@user:user-280 + resource:someresource#viewer@user:user-281 + resource:someresource#viewer@user:user-282 + resource:someresource#viewer@user:user-283 + resource:someresource#viewer@user:user-284 + resource:someresource#viewer@user:user-285 + resource:someresource#viewer@user:user-286 + resource:someresource#viewer@user:user-287 + resource:someresource#viewer@user:user-288 + resource:someresource#viewer@user:user-289 + resource:someresource#viewer@user:user-290 + resource:someresource#viewer@user:user-291 + resource:someresource#viewer@user:user-292 + resource:someresource#viewer@user:user-293 + resource:someresource#viewer@user:user-294 + resource:someresource#viewer@user:user-295 + resource:someresource#viewer@user:user-296 + resource:someresource#viewer@user:user-297 + resource:someresource#viewer@user:user-298 + resource:someresource#viewer@user:user-299 + resource:someresource#viewer@user:user-300 + resource:someresource#viewer@user:user-301 + resource:someresource#viewer@user:user-302 + resource:someresource#viewer@user:user-303 + resource:someresource#viewer@user:user-304 + resource:someresource#viewer@user:user-305 + resource:someresource#viewer@user:user-306 + resource:someresource#viewer@user:user-307 + resource:someresource#viewer@user:user-308 + resource:someresource#viewer@user:user-309 + resource:someresource#viewer@user:user-310 + resource:someresource#viewer@user:user-311 + resource:someresource#viewer@user:user-312 + resource:someresource#viewer@user:user-313 + resource:someresource#viewer@user:user-314 + resource:someresource#viewer@user:user-315 + resource:someresource#viewer@user:user-316 + resource:someresource#viewer@user:user-317 + resource:someresource#viewer@user:user-318 + resource:someresource#viewer@user:user-319 + resource:someresource#viewer@user:user-320 + resource:someresource#viewer@user:user-321 + resource:someresource#viewer@user:user-322 + resource:someresource#viewer@user:user-323 + resource:someresource#viewer@user:user-324 + resource:someresource#viewer@user:user-325 + resource:someresource#viewer@user:user-326 + resource:someresource#viewer@user:user-327 + resource:someresource#viewer@user:user-328 + resource:someresource#viewer@user:user-329 + resource:someresource#viewer@user:user-330 + resource:someresource#viewer@user:user-331 + resource:someresource#viewer@user:user-332 + resource:someresource#viewer@user:user-333 + resource:someresource#viewer@user:user-334 + resource:someresource#viewer@user:user-335 + resource:someresource#viewer@user:user-336 + resource:someresource#viewer@user:user-337 + resource:someresource#viewer@user:user-338 + resource:someresource#viewer@user:user-339 + resource:someresource#viewer@user:user-340 + resource:someresource#viewer@user:user-341 + resource:someresource#viewer@user:user-342 + resource:someresource#viewer@user:user-343 + resource:someresource#viewer@user:user-344 + resource:someresource#viewer@user:user-345 + resource:someresource#viewer@user:user-346 + resource:someresource#viewer@user:user-347 + resource:someresource#viewer@user:user-348 + resource:someresource#viewer@user:user-349 + resource:someresource#viewer@user:user-350 + resource:someresource#viewer@user:user-351 + resource:someresource#viewer@user:user-352 + resource:someresource#viewer@user:user-353 + resource:someresource#viewer@user:user-354 + resource:someresource#viewer@user:user-355 + resource:someresource#viewer@user:user-356 + resource:someresource#viewer@user:user-357 + resource:someresource#viewer@user:user-358 + resource:someresource#viewer@user:user-359 + resource:someresource#viewer@user:user-360 + resource:someresource#viewer@user:user-361 + resource:someresource#viewer@user:user-362 + resource:someresource#viewer@user:user-363 + resource:someresource#viewer@user:user-364 + resource:someresource#viewer@user:user-365 + resource:someresource#viewer@user:user-366 + resource:someresource#viewer@user:user-367 + resource:someresource#viewer@user:user-368 + resource:someresource#viewer@user:user-369 + resource:someresource#viewer@user:user-370 + resource:someresource#viewer@user:user-371 + resource:someresource#viewer@user:user-372 + resource:someresource#viewer@user:user-373 + resource:someresource#viewer@user:user-374 + resource:someresource#viewer@user:user-375 + resource:someresource#viewer@user:user-376 + resource:someresource#viewer@user:user-377 + resource:someresource#viewer@user:user-378 + resource:someresource#viewer@user:user-379 + resource:someresource#viewer@user:user-380 + resource:someresource#viewer@user:user-381 + resource:someresource#viewer@user:user-382 + resource:someresource#viewer@user:user-383 + resource:someresource#viewer@user:user-384 + resource:someresource#viewer@user:user-385 + resource:someresource#viewer@user:user-386 + resource:someresource#viewer@user:user-387 + resource:someresource#viewer@user:user-388 + resource:someresource#viewer@user:user-389 + resource:someresource#viewer@user:user-390 + resource:someresource#viewer@user:user-391 + resource:someresource#viewer@user:user-392 + resource:someresource#viewer@user:user-393 + resource:someresource#viewer@user:user-394 + resource:someresource#viewer@user:user-395 + resource:someresource#viewer@user:user-396 + resource:someresource#viewer@user:user-397 + resource:someresource#viewer@user:user-398 + resource:someresource#viewer@user:user-399 + resource:someresource#viewer@user:user-400 + resource:someresource#viewer@user:user-401 + resource:someresource#viewer@user:user-402 + resource:someresource#viewer@user:user-403 + resource:someresource#viewer@user:user-404 + resource:someresource#viewer@user:user-405 + resource:someresource#viewer@user:user-406 + resource:someresource#viewer@user:user-407 + resource:someresource#viewer@user:user-408 + resource:someresource#viewer@user:user-409 + resource:someresource#viewer@user:user-410 + resource:someresource#viewer@user:user-411 + resource:someresource#viewer@user:user-412 + resource:someresource#viewer@user:user-413 + resource:someresource#viewer@user:user-414 + resource:someresource#viewer@user:user-415 + resource:someresource#viewer@user:user-416 + resource:someresource#viewer@user:user-417 + resource:someresource#viewer@user:user-418 + resource:someresource#viewer@user:user-419 + resource:someresource#viewer@user:user-420 + resource:someresource#viewer@user:user-421 + resource:someresource#viewer@user:user-422 + resource:someresource#viewer@user:user-423 + resource:someresource#viewer@user:user-424 + resource:someresource#viewer@user:user-425 + resource:someresource#viewer@user:user-426 + resource:someresource#viewer@user:user-427 + resource:someresource#viewer@user:user-428 + resource:someresource#viewer@user:user-429 + resource:someresource#viewer@user:user-430 + resource:someresource#viewer@user:user-431 + resource:someresource#viewer@user:user-432 + resource:someresource#viewer@user:user-433 + resource:someresource#viewer@user:user-434 + resource:someresource#viewer@user:user-435 + resource:someresource#viewer@user:user-436 + resource:someresource#viewer@user:user-437 + resource:someresource#viewer@user:user-438 + resource:someresource#viewer@user:user-439 + resource:someresource#viewer@user:user-440 + resource:someresource#viewer@user:user-441 + resource:someresource#viewer@user:user-442 + resource:someresource#viewer@user:user-443 + resource:someresource#viewer@user:user-444 + resource:someresource#viewer@user:user-445 + resource:someresource#viewer@user:user-446 + resource:someresource#viewer@user:user-447 + resource:someresource#viewer@user:user-448 + resource:someresource#viewer@user:user-449 + resource:someresource#viewer@user:user-450 + resource:someresource#viewer@user:user-451 + resource:someresource#viewer@user:user-452 + resource:someresource#viewer@user:user-453 + resource:someresource#viewer@user:user-454 + resource:someresource#viewer@user:user-455 + resource:someresource#viewer@user:user-456 + resource:someresource#viewer@user:user-457 + resource:someresource#viewer@user:user-458 + resource:someresource#viewer@user:user-459 + resource:someresource#viewer@user:user-460 + resource:someresource#viewer@user:user-461 + resource:someresource#viewer@user:user-462 + resource:someresource#viewer@user:user-463 + resource:someresource#viewer@user:user-464 + resource:someresource#viewer@user:user-465 + resource:someresource#viewer@user:user-466 + resource:someresource#viewer@user:user-467 + resource:someresource#viewer@user:user-468 + resource:someresource#viewer@user:user-469 + resource:someresource#viewer@user:user-470 + resource:someresource#viewer@user:user-471 + resource:someresource#viewer@user:user-472 + resource:someresource#viewer@user:user-473 + resource:someresource#viewer@user:user-474 + resource:someresource#viewer@user:user-475 + resource:someresource#viewer@user:user-476 + resource:someresource#viewer@user:user-477 + resource:someresource#viewer@user:user-478 + resource:someresource#viewer@user:user-479 + resource:someresource#viewer@user:user-480 + resource:someresource#viewer@user:user-481 + resource:someresource#viewer@user:user-482 + resource:someresource#viewer@user:user-483 + resource:someresource#viewer@user:user-484 + resource:someresource#viewer@user:user-485 + resource:someresource#viewer@user:user-486 + resource:someresource#viewer@user:user-487 + resource:someresource#viewer@user:user-488 + resource:someresource#viewer@user:user-489 + resource:someresource#viewer@user:user-490 + resource:someresource#viewer@user:user-491 + resource:someresource#viewer@user:user-492 + resource:someresource#viewer@user:user-493 + resource:someresource#viewer@user:user-494 + resource:someresource#viewer@user:user-495 + resource:someresource#viewer@user:user-496 + resource:someresource#viewer@user:user-497 + resource:someresource#viewer@user:user-498 + resource:someresource#viewer@user:user-499 + resource:someresource#viewer@user:user-500 + resource:someresource#viewer@user:user-501 + resource:someresource#viewer@user:user-502 + resource:someresource#viewer@user:user-503 + resource:someresource#viewer@user:user-504 + resource:someresource#viewer@user:user-505 + resource:someresource#viewer@user:user-506 + resource:someresource#viewer@user:user-507 + resource:someresource#viewer@user:user-508 + resource:someresource#viewer@user:user-509 + resource:someresource#viewer@user:user-510 + resource:someresource#viewer@user:user-511 + resource:someresource#viewer@user:user-512 + resource:someresource#viewer@user:user-513 + resource:someresource#viewer@user:user-514 + resource:someresource#viewer@user:user-515 + resource:someresource#viewer@user:user-516 + resource:someresource#viewer@user:user-517 + resource:someresource#viewer@user:user-518 + resource:someresource#viewer@user:user-519 + resource:someresource#viewer@user:user-520 + resource:someresource#viewer@user:user-521 + resource:someresource#viewer@user:user-522 + resource:someresource#viewer@user:user-523 + resource:someresource#viewer@user:user-524 + resource:someresource#viewer@user:user-525 + resource:someresource#viewer@user:user-526 + resource:someresource#viewer@user:user-527 + resource:someresource#viewer@user:user-528 + resource:someresource#viewer@user:user-529 + resource:someresource#viewer@user:user-530 + resource:someresource#viewer@user:user-531 + resource:someresource#viewer@user:user-532 + resource:someresource#viewer@user:user-533 + resource:someresource#viewer@user:user-534 + resource:someresource#viewer@user:user-535 + resource:someresource#viewer@user:user-536 + resource:someresource#viewer@user:user-537 + resource:someresource#viewer@user:user-538 + resource:someresource#viewer@user:user-539 + resource:someresource#viewer@user:user-540 + resource:someresource#viewer@user:user-541 + resource:someresource#viewer@user:user-542 + resource:someresource#viewer@user:user-543 + resource:someresource#viewer@user:user-544 + resource:someresource#viewer@user:user-545 + resource:someresource#viewer@user:user-546 + resource:someresource#viewer@user:user-547 + resource:someresource#viewer@user:user-548 + resource:someresource#viewer@user:user-549 + resource:someresource#viewer@user:user-550 + resource:someresource#viewer@user:user-551 + resource:someresource#viewer@user:user-552 + resource:someresource#viewer@user:user-553 + resource:someresource#viewer@user:user-554 + resource:someresource#viewer@user:user-555 + resource:someresource#viewer@user:user-556 + resource:someresource#viewer@user:user-557 + resource:someresource#viewer@user:user-558 + resource:someresource#viewer@user:user-559 + resource:someresource#viewer@user:user-560 + resource:someresource#viewer@user:user-561 + resource:someresource#viewer@user:user-562 + resource:someresource#viewer@user:user-563 + resource:someresource#viewer@user:user-564 + resource:someresource#viewer@user:user-565 + resource:someresource#viewer@user:user-566 + resource:someresource#viewer@user:user-567 + resource:someresource#viewer@user:user-568 + resource:someresource#viewer@user:user-569 + resource:someresource#viewer@user:user-570 + resource:someresource#viewer@user:user-571 + resource:someresource#viewer@user:user-572 + resource:someresource#viewer@user:user-573 + resource:someresource#viewer@user:user-574 + resource:someresource#viewer@user:user-575 + resource:someresource#viewer@user:user-576 + resource:someresource#viewer@user:user-577 + resource:someresource#viewer@user:user-578 + resource:someresource#viewer@user:user-579 + resource:someresource#viewer@user:user-580 + resource:someresource#viewer@user:user-581 + resource:someresource#viewer@user:user-582 + resource:someresource#viewer@user:user-583 + resource:someresource#viewer@user:user-584 + resource:someresource#viewer@user:user-585 + resource:someresource#viewer@user:user-586 + resource:someresource#viewer@user:user-587 + resource:someresource#viewer@user:user-588 + resource:someresource#viewer@user:user-589 + resource:someresource#viewer@user:user-590 + resource:someresource#viewer@user:user-591 + resource:someresource#viewer@user:user-592 + resource:someresource#viewer@user:user-593 + resource:someresource#viewer@user:user-594 + resource:someresource#viewer@user:user-595 + resource:someresource#viewer@user:user-596 + resource:someresource#viewer@user:user-597 + resource:someresource#viewer@user:user-598 + resource:someresource#viewer@user:user-599 + resource:someresource#viewer@user:user-600 + resource:someresource#viewer@user:user-601 + resource:someresource#viewer@user:user-602 + resource:someresource#viewer@user:user-603 + resource:someresource#viewer@user:user-604 + resource:someresource#viewer@user:user-605 + resource:someresource#viewer@user:user-606 + resource:someresource#viewer@user:user-607 + resource:someresource#viewer@user:user-608 + resource:someresource#viewer@user:user-609 + resource:someresource#viewer@user:user-610 + resource:someresource#viewer@user:user-611 + resource:someresource#viewer@user:user-612 + resource:someresource#viewer@user:user-613 + resource:someresource#viewer@user:user-614 + resource:someresource#viewer@user:user-615 + resource:someresource#viewer@user:user-616 + resource:someresource#viewer@user:user-617 + resource:someresource#viewer@user:user-618 + resource:someresource#viewer@user:user-619 + resource:someresource#viewer@user:user-620 + resource:someresource#viewer@user:user-621 + resource:someresource#viewer@user:user-622 + resource:someresource#viewer@user:user-623 + resource:someresource#viewer@user:user-624 + resource:someresource#viewer@user:user-625 + resource:someresource#viewer@user:user-626 + resource:someresource#viewer@user:user-627 + resource:someresource#viewer@user:user-628 + resource:someresource#viewer@user:user-629 + resource:someresource#viewer@user:user-630 + resource:someresource#viewer@user:user-631 + resource:someresource#viewer@user:user-632 + resource:someresource#viewer@user:user-633 + resource:someresource#viewer@user:user-634 + resource:someresource#viewer@user:user-635 + resource:someresource#viewer@user:user-636 + resource:someresource#viewer@user:user-637 + resource:someresource#viewer@user:user-638 + resource:someresource#viewer@user:user-639 + resource:someresource#viewer@user:user-640 + resource:someresource#viewer@user:user-641 + resource:someresource#viewer@user:user-642 + resource:someresource#viewer@user:user-643 + resource:someresource#viewer@user:user-644 + resource:someresource#viewer@user:user-645 + resource:someresource#viewer@user:user-646 + resource:someresource#viewer@user:user-647 + resource:someresource#viewer@user:user-648 + resource:someresource#viewer@user:user-649 + resource:someresource#viewer@user:user-650 + resource:someresource#viewer@user:user-651 + resource:someresource#viewer@user:user-652 + resource:someresource#viewer@user:user-653 + resource:someresource#viewer@user:user-654 + resource:someresource#viewer@user:user-655 + resource:someresource#viewer@user:user-656 + resource:someresource#viewer@user:user-657 + resource:someresource#viewer@user:user-658 + resource:someresource#viewer@user:user-659 + resource:someresource#viewer@user:user-660 + resource:someresource#viewer@user:user-661 + resource:someresource#viewer@user:user-662 + resource:someresource#viewer@user:user-663 + resource:someresource#viewer@user:user-664 + resource:someresource#viewer@user:user-665 + resource:someresource#viewer@user:user-666 + resource:someresource#viewer@user:user-667 + resource:someresource#viewer@user:user-668 + resource:someresource#viewer@user:user-669 + resource:someresource#viewer@user:user-670 + resource:someresource#viewer@user:user-671 + resource:someresource#viewer@user:user-672 + resource:someresource#viewer@user:user-673 + resource:someresource#viewer@user:user-674 + resource:someresource#viewer@user:user-675 + resource:someresource#viewer@user:user-676 + resource:someresource#viewer@user:user-677 + resource:someresource#viewer@user:user-678 + resource:someresource#viewer@user:user-679 + resource:someresource#viewer@user:user-680 + resource:someresource#viewer@user:user-681 + resource:someresource#viewer@user:user-682 + resource:someresource#viewer@user:user-683 + resource:someresource#viewer@user:user-684 + resource:someresource#viewer@user:user-685 + resource:someresource#viewer@user:user-686 + resource:someresource#viewer@user:user-687 + resource:someresource#viewer@user:user-688 + resource:someresource#viewer@user:user-689 + resource:someresource#viewer@user:user-690 + resource:someresource#viewer@user:user-691 + resource:someresource#viewer@user:user-692 + resource:someresource#viewer@user:user-693 + resource:someresource#viewer@user:user-694 + resource:someresource#viewer@user:user-695 + resource:someresource#viewer@user:user-696 + resource:someresource#viewer@user:user-697 + resource:someresource#viewer@user:user-698 + resource:someresource#viewer@user:user-699 + resource:someresource#viewer@user:user-700 + resource:someresource#viewer@user:user-701 + resource:someresource#viewer@user:user-702 + resource:someresource#viewer@user:user-703 + resource:someresource#viewer@user:user-704 + resource:someresource#viewer@user:user-705 + resource:someresource#viewer@user:user-706 + resource:someresource#viewer@user:user-707 + resource:someresource#viewer@user:user-708 + resource:someresource#viewer@user:user-709 + resource:someresource#viewer@user:user-710 + resource:someresource#viewer@user:user-711 + resource:someresource#viewer@user:user-712 + resource:someresource#viewer@user:user-713 + resource:someresource#viewer@user:user-714 + resource:someresource#viewer@user:user-715 + resource:someresource#viewer@user:user-716 + resource:someresource#viewer@user:user-717 + resource:someresource#viewer@user:user-718 + resource:someresource#viewer@user:user-719 + resource:someresource#viewer@user:user-720 + resource:someresource#viewer@user:user-721 + resource:someresource#viewer@user:user-722 + resource:someresource#viewer@user:user-723 + resource:someresource#viewer@user:user-724 + resource:someresource#viewer@user:user-725 + resource:someresource#viewer@user:user-726 + resource:someresource#viewer@user:user-727 + resource:someresource#viewer@user:user-728 + resource:someresource#viewer@user:user-729 + resource:someresource#viewer@user:user-730 + resource:someresource#viewer@user:user-731 + resource:someresource#viewer@user:user-732 + resource:someresource#viewer@user:user-733 + resource:someresource#viewer@user:user-734 + resource:someresource#viewer@user:user-735 + resource:someresource#viewer@user:user-736 + resource:someresource#viewer@user:user-737 + resource:someresource#viewer@user:user-738 + resource:someresource#viewer@user:user-739 + resource:someresource#viewer@user:user-740 + resource:someresource#viewer@user:user-741 + resource:someresource#viewer@user:user-742 + resource:someresource#viewer@user:user-743 + resource:someresource#viewer@user:user-744 + resource:someresource#viewer@user:user-745 + resource:someresource#viewer@user:user-746 + resource:someresource#viewer@user:user-747 + resource:someresource#viewer@user:user-748 + resource:someresource#viewer@user:user-749 + resource:someresource#viewer@user:user-750 + resource:someresource#viewer@user:user-751 + resource:someresource#viewer@user:user-752 + resource:someresource#viewer@user:user-753 + resource:someresource#viewer@user:user-754 + resource:someresource#viewer@user:user-755 + resource:someresource#viewer@user:user-756 + resource:someresource#viewer@user:user-757 + resource:someresource#viewer@user:user-758 + resource:someresource#viewer@user:user-759 + resource:someresource#viewer@user:user-760 + resource:someresource#viewer@user:user-761 + resource:someresource#viewer@user:user-762 + resource:someresource#viewer@user:user-763 + resource:someresource#viewer@user:user-764 + resource:someresource#viewer@user:user-765 + resource:someresource#viewer@user:user-766 + resource:someresource#viewer@user:user-767 + resource:someresource#viewer@user:user-768 + resource:someresource#viewer@user:user-769 + resource:someresource#viewer@user:user-770 + resource:someresource#viewer@user:user-771 + resource:someresource#viewer@user:user-772 + resource:someresource#viewer@user:user-773 + resource:someresource#viewer@user:user-774 + resource:someresource#viewer@user:user-775 + resource:someresource#viewer@user:user-776 + resource:someresource#viewer@user:user-777 + resource:someresource#viewer@user:user-778 + resource:someresource#viewer@user:user-779 + resource:someresource#viewer@user:user-780 + resource:someresource#viewer@user:user-781 + resource:someresource#viewer@user:user-782 + resource:someresource#viewer@user:user-783 + resource:someresource#viewer@user:user-784 + resource:someresource#viewer@user:user-785 + resource:someresource#viewer@user:user-786 + resource:someresource#viewer@user:user-787 + resource:someresource#viewer@user:user-788 + resource:someresource#viewer@user:user-789 + resource:someresource#viewer@user:user-790 + resource:someresource#viewer@user:user-791 + resource:someresource#viewer@user:user-792 + resource:someresource#viewer@user:user-793 + resource:someresource#viewer@user:user-794 + resource:someresource#viewer@user:user-795 + resource:someresource#viewer@user:user-796 + resource:someresource#viewer@user:user-797 + resource:someresource#viewer@user:user-798 + resource:someresource#viewer@user:user-799 + resource:someresource#viewer@user:user-800 + resource:someresource#viewer@user:user-801 + resource:someresource#viewer@user:user-802 + resource:someresource#viewer@user:user-803 + resource:someresource#viewer@user:user-804 + resource:someresource#viewer@user:user-805 + resource:someresource#viewer@user:user-806 + resource:someresource#viewer@user:user-807 + resource:someresource#viewer@user:user-808 + resource:someresource#viewer@user:user-809 + resource:someresource#viewer@user:user-810 + resource:someresource#viewer@user:user-811 + resource:someresource#viewer@user:user-812 + resource:someresource#viewer@user:user-813 + resource:someresource#viewer@user:user-814 + resource:someresource#viewer@user:user-815 + resource:someresource#viewer@user:user-816 + resource:someresource#viewer@user:user-817 + resource:someresource#viewer@user:user-818 + resource:someresource#viewer@user:user-819 + resource:someresource#viewer@user:user-820 + resource:someresource#viewer@user:user-821 + resource:someresource#viewer@user:user-822 + resource:someresource#viewer@user:user-823 + resource:someresource#viewer@user:user-824 + resource:someresource#viewer@user:user-825 + resource:someresource#viewer@user:user-826 + resource:someresource#viewer@user:user-827 + resource:someresource#viewer@user:user-828 + resource:someresource#viewer@user:user-829 + resource:someresource#viewer@user:user-830 + resource:someresource#viewer@user:user-831 + resource:someresource#viewer@user:user-832 + resource:someresource#viewer@user:user-833 + resource:someresource#viewer@user:user-834 + resource:someresource#viewer@user:user-835 + resource:someresource#viewer@user:user-836 + resource:someresource#viewer@user:user-837 + resource:someresource#viewer@user:user-838 + resource:someresource#viewer@user:user-839 + resource:someresource#viewer@user:user-840 + resource:someresource#viewer@user:user-841 + resource:someresource#viewer@user:user-842 + resource:someresource#viewer@user:user-843 + resource:someresource#viewer@user:user-844 + resource:someresource#viewer@user:user-845 + resource:someresource#viewer@user:user-846 + resource:someresource#viewer@user:user-847 + resource:someresource#viewer@user:user-848 + resource:someresource#viewer@user:user-849 + resource:someresource#viewer@user:user-850 + resource:someresource#viewer@user:user-851 + resource:someresource#viewer@user:user-852 + resource:someresource#viewer@user:user-853 + resource:someresource#viewer@user:user-854 + resource:someresource#viewer@user:user-855 + resource:someresource#viewer@user:user-856 + resource:someresource#viewer@user:user-857 + resource:someresource#viewer@user:user-858 + resource:someresource#viewer@user:user-859 + resource:someresource#viewer@user:user-860 + resource:someresource#viewer@user:user-861 + resource:someresource#viewer@user:user-862 + resource:someresource#viewer@user:user-863 + resource:someresource#viewer@user:user-864 + resource:someresource#viewer@user:user-865 + resource:someresource#viewer@user:user-866 + resource:someresource#viewer@user:user-867 + resource:someresource#viewer@user:user-868 + resource:someresource#viewer@user:user-869 + resource:someresource#viewer@user:user-870 + resource:someresource#viewer@user:user-871 + resource:someresource#viewer@user:user-872 + resource:someresource#viewer@user:user-873 + resource:someresource#viewer@user:user-874 + resource:someresource#viewer@user:user-875 + resource:someresource#viewer@user:user-876 + resource:someresource#viewer@user:user-877 + resource:someresource#viewer@user:user-878 + resource:someresource#viewer@user:user-879 + resource:someresource#viewer@user:user-880 + resource:someresource#viewer@user:user-881 + resource:someresource#viewer@user:user-882 + resource:someresource#viewer@user:user-883 + resource:someresource#viewer@user:user-884 + resource:someresource#viewer@user:user-885 + resource:someresource#viewer@user:user-886 + resource:someresource#viewer@user:user-887 + resource:someresource#viewer@user:user-888 + resource:someresource#viewer@user:user-889 + resource:someresource#viewer@user:user-890 + resource:someresource#viewer@user:user-891 + resource:someresource#viewer@user:user-892 + resource:someresource#viewer@user:user-893 + resource:someresource#viewer@user:user-894 + resource:someresource#viewer@user:user-895 + resource:someresource#viewer@user:user-896 + resource:someresource#viewer@user:user-897 + resource:someresource#viewer@user:user-898 + resource:someresource#viewer@user:user-899 + resource:someresource#viewer@user:user-900 + resource:someresource#viewer@user:user-901 + resource:someresource#viewer@user:user-902 + resource:someresource#viewer@user:user-903 + resource:someresource#viewer@user:user-904 + resource:someresource#viewer@user:user-905 + resource:someresource#viewer@user:user-906 + resource:someresource#viewer@user:user-907 + resource:someresource#viewer@user:user-908 + resource:someresource#viewer@user:user-909 + resource:someresource#viewer@user:user-910 + resource:someresource#viewer@user:user-911 + resource:someresource#viewer@user:user-912 + resource:someresource#viewer@user:user-913 + resource:someresource#viewer@user:user-914 + resource:someresource#viewer@user:user-915 + resource:someresource#viewer@user:user-916 + resource:someresource#viewer@user:user-917 + resource:someresource#viewer@user:user-918 + resource:someresource#viewer@user:user-919 + resource:someresource#viewer@user:user-920 + resource:someresource#viewer@user:user-921 + resource:someresource#viewer@user:user-922 + resource:someresource#viewer@user:user-923 + resource:someresource#viewer@user:user-924 + resource:someresource#viewer@user:user-925 + resource:someresource#viewer@user:user-926 + resource:someresource#viewer@user:user-927 + resource:someresource#viewer@user:user-928 + resource:someresource#viewer@user:user-929 + resource:someresource#viewer@user:user-930 + resource:someresource#viewer@user:user-931 + resource:someresource#viewer@user:user-932 + resource:someresource#viewer@user:user-933 + resource:someresource#viewer@user:user-934 + resource:someresource#viewer@user:user-935 + resource:someresource#viewer@user:user-936 + resource:someresource#viewer@user:user-937 + resource:someresource#viewer@user:user-938 + resource:someresource#viewer@user:user-939 + resource:someresource#viewer@user:user-940 + resource:someresource#viewer@user:user-941 + resource:someresource#viewer@user:user-942 + resource:someresource#viewer@user:user-943 + resource:someresource#viewer@user:user-944 + resource:someresource#viewer@user:user-945 + resource:someresource#viewer@user:user-946 + resource:someresource#viewer@user:user-947 + resource:someresource#viewer@user:user-948 + resource:someresource#viewer@user:user-949 + resource:someresource#viewer@user:user-950 + resource:someresource#viewer@user:user-951 + resource:someresource#viewer@user:user-952 + resource:someresource#viewer@user:user-953 + resource:someresource#viewer@user:user-954 + resource:someresource#viewer@user:user-955 + resource:someresource#viewer@user:user-956 + resource:someresource#viewer@user:user-957 + resource:someresource#viewer@user:user-958 + resource:someresource#viewer@user:user-959 + resource:someresource#viewer@user:user-960 + resource:someresource#viewer@user:user-961 + resource:someresource#viewer@user:user-962 + resource:someresource#viewer@user:user-963 + resource:someresource#viewer@user:user-964 + resource:someresource#viewer@user:user-965 + resource:someresource#viewer@user:user-966 + resource:someresource#viewer@user:user-967 + resource:someresource#viewer@user:user-968 + resource:someresource#viewer@user:user-969 + resource:someresource#viewer@user:user-970 + resource:someresource#viewer@user:user-971 + resource:someresource#viewer@user:user-972 + resource:someresource#viewer@user:user-973 + resource:someresource#viewer@user:user-974 + resource:someresource#viewer@user:user-975 + resource:someresource#viewer@user:user-976 + resource:someresource#viewer@user:user-977 + resource:someresource#viewer@user:user-978 + resource:someresource#viewer@user:user-979 + resource:someresource#viewer@user:user-980 + resource:someresource#viewer@user:user-981 + resource:someresource#viewer@user:user-982 + resource:someresource#viewer@user:user-983 + resource:someresource#viewer@user:user-984 + resource:someresource#viewer@user:user-985 + resource:someresource#viewer@user:user-986 + resource:someresource#viewer@user:user-987 + resource:someresource#viewer@user:user-988 + resource:someresource#viewer@user:user-989 + resource:someresource#viewer@user:user-990 + resource:someresource#viewer@user:user-991 + resource:someresource#viewer@user:user-992 + resource:someresource#viewer@user:user-993 + resource:someresource#viewer@user:user-994 + resource:someresource#viewer@user:user-995 + resource:someresource#viewer@user:user-996 + resource:someresource#viewer@user:user-997 + resource:someresource#viewer@user:user-998 + resource:someresource#viewer@user:user-999 + resource:someresource#viewer@user:user-1000 + resource:someresource#viewer@user:user-1001 + resource:someresource#viewer@user:user-1002 + resource:someresource#viewer@user:user-1003 + resource:someresource#viewer@user:user-1004 + resource:someresource#viewer@user:user-1005 + resource:someresource#viewer@user:user-1006 + resource:someresource#viewer@user:user-1007 + resource:someresource#viewer@user:user-1008 + resource:someresource#viewer@user:user-1009 + resource:someresource#viewer@user:user-1010 + resource:someresource#viewer@user:user-1011 + resource:someresource#viewer@user:user-1012 + resource:someresource#viewer@user:user-1013 + resource:someresource#viewer@user:user-1014 + resource:someresource#viewer@user:user-1015 + resource:someresource#viewer@user:user-1016 + resource:someresource#viewer@user:user-1017 + resource:someresource#viewer@user:user-1018 + resource:someresource#viewer@user:user-1019 + resource:someresource#viewer@user:user-1020 + resource:someresource#viewer@user:user-1021 + resource:someresource#viewer@user:user-1022 + resource:someresource#viewer@user:user-1023 + resource:someresource#viewer@user:user-1024 + resource:someresource#viewer@user:user-1025 + resource:someresource#viewer@user:user-1026 + resource:someresource#viewer@user:user-1027 + resource:someresource#viewer@user:user-1028 + resource:someresource#viewer@user:user-1029 + resource:someresource#viewer@user:user-1030 + resource:someresource#viewer@user:user-1031 + resource:someresource#viewer@user:user-1032 + resource:someresource#viewer@user:user-1033 + resource:someresource#viewer@user:user-1034 + resource:someresource#viewer@user:user-1035 + resource:someresource#viewer@user:user-1036 + resource:someresource#viewer@user:user-1037 + resource:someresource#viewer@user:user-1038 + resource:someresource#viewer@user:user-1039 + resource:someresource#viewer@user:user-1040 + resource:someresource#viewer@user:user-1041 + resource:someresource#viewer@user:user-1042 + resource:someresource#viewer@user:user-1043 + resource:someresource#viewer@user:user-1044 + resource:someresource#viewer@user:user-1045 + resource:someresource#viewer@user:user-1046 + resource:someresource#viewer@user:user-1047 + resource:someresource#viewer@user:user-1048 + resource:someresource#viewer@user:user-1049 + resource:someresource#viewer@user:user-1050 + resource:someresource#viewer@user:user-1051 + resource:someresource#viewer@user:user-1052 + resource:someresource#viewer@user:user-1053 + resource:someresource#viewer@user:user-1054 + resource:someresource#viewer@user:user-1055 + resource:someresource#viewer@user:user-1056 + resource:someresource#viewer@user:user-1057 + resource:someresource#viewer@user:user-1058 + resource:someresource#viewer@user:user-1059 + resource:someresource#viewer@user:user-1060 + resource:someresource#viewer@user:user-1061 + resource:someresource#viewer@user:user-1062 + resource:someresource#viewer@user:user-1063 + resource:someresource#viewer@user:user-1064 + resource:someresource#viewer@user:user-1065 + resource:someresource#viewer@user:user-1066 + resource:someresource#viewer@user:user-1067 + resource:someresource#viewer@user:user-1068 + resource:someresource#viewer@user:user-1069 + resource:someresource#viewer@user:user-1070 + resource:someresource#viewer@user:user-1071 + resource:someresource#viewer@user:user-1072 + resource:someresource#viewer@user:user-1073 + resource:someresource#viewer@user:user-1074 + resource:someresource#viewer@user:user-1075 + resource:someresource#viewer@user:user-1076 + resource:someresource#viewer@user:user-1077 + resource:someresource#viewer@user:user-1078 + resource:someresource#viewer@user:user-1079 + resource:someresource#viewer@user:user-1080 + resource:someresource#viewer@user:user-1081 + resource:someresource#viewer@user:user-1082 + resource:someresource#viewer@user:user-1083 + resource:someresource#viewer@user:user-1084 + resource:someresource#viewer@user:user-1085 + resource:someresource#viewer@user:user-1086 + resource:someresource#viewer@user:user-1087 + resource:someresource#viewer@user:user-1088 + resource:someresource#viewer@user:user-1089 + resource:someresource#viewer@user:user-1090 + resource:someresource#viewer@user:user-1091 + resource:someresource#viewer@user:user-1092 + resource:someresource#viewer@user:user-1093 + resource:someresource#viewer@user:user-1094 + resource:someresource#viewer@user:user-1095 + resource:someresource#viewer@user:user-1096 + resource:someresource#viewer@user:user-1097 + resource:someresource#viewer@user:user-1098 + resource:someresource#viewer@user:user-1099 + resource:someresource#viewer@user:user-1100 + resource:someresource#viewer@user:user-1101 + resource:someresource#viewer@user:user-1102 + resource:someresource#viewer@user:user-1103 + resource:someresource#viewer@user:user-1104 + resource:someresource#viewer@user:user-1105 + resource:someresource#viewer@user:user-1106 + resource:someresource#viewer@user:user-1107 + resource:someresource#viewer@user:user-1108 + resource:someresource#viewer@user:user-1109 + resource:someresource#viewer@user:user-1110 + resource:someresource#viewer@user:user-1111 + resource:someresource#viewer@user:user-1112 + resource:someresource#viewer@user:user-1113 + resource:someresource#viewer@user:user-1114 + resource:someresource#viewer@user:user-1115 + resource:someresource#viewer@user:user-1116 + resource:someresource#viewer@user:user-1117 + resource:someresource#viewer@user:user-1118 + resource:someresource#viewer@user:user-1119 + resource:someresource#viewer@user:user-1120 + resource:someresource#viewer@user:user-1121 + resource:someresource#viewer@user:user-1122 + resource:someresource#viewer@user:user-1123 + resource:someresource#viewer@user:user-1124 + resource:someresource#viewer@user:user-1125 + resource:someresource#viewer@user:user-1126 + resource:someresource#viewer@user:user-1127 + resource:someresource#viewer@user:user-1128 + resource:someresource#viewer@user:user-1129 + resource:someresource#viewer@user:user-1130 + resource:someresource#viewer@user:user-1131 + resource:someresource#viewer@user:user-1132 + resource:someresource#viewer@user:user-1133 + resource:someresource#viewer@user:user-1134 + resource:someresource#viewer@user:user-1135 + resource:someresource#viewer@user:user-1136 + resource:someresource#viewer@user:user-1137 + resource:someresource#viewer@user:user-1138 + resource:someresource#viewer@user:user-1139 + resource:someresource#viewer@user:user-1140 + resource:someresource#viewer@user:user-1141 + resource:someresource#viewer@user:user-1142 + resource:someresource#viewer@user:user-1143 + resource:someresource#viewer@user:user-1144 + resource:someresource#viewer@user:user-1145 + resource:someresource#viewer@user:user-1146 + resource:someresource#viewer@user:user-1147 + resource:someresource#viewer@user:user-1148 + resource:someresource#viewer@user:user-1149 + resource:someresource#viewer@user:user-1150 + resource:someresource#viewer@user:user-1151 + resource:someresource#viewer@user:user-1152 + resource:someresource#viewer@user:user-1153 + resource:someresource#viewer@user:user-1154 + resource:someresource#viewer@user:user-1155 + resource:someresource#viewer@user:user-1156 + resource:someresource#viewer@user:user-1157 + resource:someresource#viewer@user:user-1158 + resource:someresource#viewer@user:user-1159 + resource:someresource#viewer@user:user-1160 + resource:someresource#viewer@user:user-1161 + resource:someresource#viewer@user:user-1162 + resource:someresource#viewer@user:user-1163 + resource:someresource#viewer@user:user-1164 + resource:someresource#viewer@user:user-1165 + resource:someresource#viewer@user:user-1166 + resource:someresource#viewer@user:user-1167 + resource:someresource#viewer@user:user-1168 + resource:someresource#viewer@user:user-1169 + resource:someresource#viewer@user:user-1170 + resource:someresource#viewer@user:user-1171 + resource:someresource#viewer@user:user-1172 + resource:someresource#viewer@user:user-1173 + resource:someresource#viewer@user:user-1174 + resource:someresource#viewer@user:user-1175 + resource:someresource#viewer@user:user-1176 + resource:someresource#viewer@user:user-1177 + resource:someresource#viewer@user:user-1178 + resource:someresource#viewer@user:user-1179 + resource:someresource#viewer@user:user-1180 + resource:someresource#viewer@user:user-1181 + resource:someresource#viewer@user:user-1182 + resource:someresource#viewer@user:user-1183 + resource:someresource#viewer@user:user-1184 + resource:someresource#viewer@user:user-1185 + resource:someresource#viewer@user:user-1186 + resource:someresource#viewer@user:user-1187 + resource:someresource#viewer@user:user-1188 + resource:someresource#viewer@user:user-1189 + resource:someresource#viewer@user:user-1190 + resource:someresource#viewer@user:user-1191 + resource:someresource#viewer@user:user-1192 + resource:someresource#viewer@user:user-1193 + resource:someresource#viewer@user:user-1194 + resource:someresource#viewer@user:user-1195 + resource:someresource#viewer@user:user-1196 + resource:someresource#viewer@user:user-1197 + resource:someresource#viewer@user:user-1198 + resource:someresource#viewer@user:user-1199 + resource:someresource#viewer@user:user-1200 + resource:someresource#viewer@user:user-1201 + resource:someresource#viewer@user:user-1202 + resource:someresource#viewer@user:user-1203 + resource:someresource#viewer@user:user-1204 + resource:someresource#viewer@user:user-1205 + resource:someresource#viewer@user:user-1206 + resource:someresource#viewer@user:user-1207 + resource:someresource#viewer@user:user-1208 + resource:someresource#viewer@user:user-1209 + resource:someresource#viewer@user:user-1210 + resource:someresource#viewer@user:user-1211 + resource:someresource#viewer@user:user-1212 + resource:someresource#viewer@user:user-1213 + resource:someresource#viewer@user:user-1214 + resource:someresource#viewer@user:user-1215 + resource:someresource#viewer@user:user-1216 + resource:someresource#viewer@user:user-1217 + resource:someresource#viewer@user:user-1218 + resource:someresource#viewer@user:user-1219 + resource:someresource#viewer@user:user-1220 + resource:someresource#viewer@user:user-1221 + resource:someresource#viewer@user:user-1222 + resource:someresource#viewer@user:user-1223 + resource:someresource#viewer@user:user-1224 + resource:someresource#viewer@user:user-1225 + resource:someresource#viewer@user:user-1226 + resource:someresource#viewer@user:user-1227 + resource:someresource#viewer@user:user-1228 + resource:someresource#viewer@user:user-1229 + resource:someresource#viewer@user:user-1230 + resource:someresource#viewer@user:user-1231 + resource:someresource#viewer@user:user-1232 + resource:someresource#viewer@user:user-1233 + resource:someresource#viewer@user:user-1234 + resource:someresource#viewer@user:user-1235 + resource:someresource#viewer@user:user-1236 + resource:someresource#viewer@user:user-1237 + resource:someresource#viewer@user:user-1238 + resource:someresource#viewer@user:user-1239 + resource:someresource#viewer@user:user-1240 + resource:someresource#viewer@user:user-1241 + resource:someresource#viewer@user:user-1242 + resource:someresource#viewer@user:user-1243 + resource:someresource#viewer@user:user-1244 + resource:someresource#viewer@user:user-1245 + resource:someresource#viewer@user:user-1246 + resource:someresource#viewer@user:user-1247 + resource:someresource#viewer@user:user-1248 + resource:someresource#viewer@user:user-1249 + resource:someresource#viewer@user:user-1250 + resource:someresource#viewer@user:user-1251 + resource:someresource#viewer@user:user-1252 + resource:someresource#viewer@user:user-1253 + resource:someresource#viewer@user:user-1254 + resource:someresource#viewer@user:user-1255 + resource:someresource#viewer@user:user-1256 + resource:someresource#viewer@user:user-1257 + resource:someresource#viewer@user:user-1258 + resource:someresource#viewer@user:user-1259 + resource:someresource#viewer@user:user-1260 + resource:someresource#viewer@user:user-1261 + resource:someresource#viewer@user:user-1262 + resource:someresource#viewer@user:user-1263 + resource:someresource#viewer@user:user-1264 + resource:someresource#viewer@user:user-1265 + resource:someresource#viewer@user:user-1266 + resource:someresource#viewer@user:user-1267 + resource:someresource#viewer@user:user-1268 + resource:someresource#viewer@user:user-1269 + resource:someresource#viewer@user:user-1270 + resource:someresource#viewer@user:user-1271 + resource:someresource#viewer@user:user-1272 + resource:someresource#viewer@user:user-1273 + resource:someresource#viewer@user:user-1274 + resource:someresource#viewer@user:user-1275 + resource:someresource#viewer@user:user-1276 + resource:someresource#viewer@user:user-1277 + resource:someresource#viewer@user:user-1278 + resource:someresource#viewer@user:user-1279 + resource:someresource#viewer@user:user-1280 + resource:someresource#viewer@user:user-1281 + resource:someresource#viewer@user:user-1282 + resource:someresource#viewer@user:user-1283 + resource:someresource#viewer@user:user-1284 + resource:someresource#viewer@user:user-1285 + resource:someresource#viewer@user:user-1286 + resource:someresource#viewer@user:user-1287 + resource:someresource#viewer@user:user-1288 + resource:someresource#viewer@user:user-1289 + resource:someresource#viewer@user:user-1290 + resource:someresource#viewer@user:user-1291 + resource:someresource#viewer@user:user-1292 + resource:someresource#viewer@user:user-1293 + resource:someresource#viewer@user:user-1294 + resource:someresource#viewer@user:user-1295 + resource:someresource#viewer@user:user-1296 + resource:someresource#viewer@user:user-1297 + resource:someresource#viewer@user:user-1298 + resource:someresource#viewer@user:user-1299 + resource:someresource#viewer@user:user-1300 + resource:someresource#viewer@user:user-1301 + resource:someresource#viewer@user:user-1302 + resource:someresource#viewer@user:user-1303 + resource:someresource#viewer@user:user-1304 + resource:someresource#viewer@user:user-1305 + resource:someresource#viewer@user:user-1306 + resource:someresource#viewer@user:user-1307 + resource:someresource#viewer@user:user-1308 + resource:someresource#viewer@user:user-1309 + resource:someresource#viewer@user:user-1310 + resource:someresource#viewer@user:user-1311 + resource:someresource#viewer@user:user-1312 + resource:someresource#viewer@user:user-1313 + resource:someresource#viewer@user:user-1314 + resource:someresource#viewer@user:user-1315 + resource:someresource#viewer@user:user-1316 + resource:someresource#viewer@user:user-1317 + resource:someresource#viewer@user:user-1318 + resource:someresource#viewer@user:user-1319 + resource:someresource#viewer@user:user-1320 + resource:someresource#viewer@user:user-1321 + resource:someresource#viewer@user:user-1322 + resource:someresource#viewer@user:user-1323 + resource:someresource#viewer@user:user-1324 + resource:someresource#viewer@user:user-1325 + resource:someresource#viewer@user:user-1326 + resource:someresource#viewer@user:user-1327 + resource:someresource#viewer@user:user-1328 + resource:someresource#viewer@user:user-1329 + resource:someresource#viewer@user:user-1330 + resource:someresource#viewer@user:user-1331 + resource:someresource#viewer@user:user-1332 + resource:someresource#viewer@user:user-1333 + resource:someresource#viewer@user:user-1334 + resource:someresource#viewer@user:user-1335 + resource:someresource#viewer@user:user-1336 + resource:someresource#viewer@user:user-1337 + resource:someresource#viewer@user:user-1338 + resource:someresource#viewer@user:user-1339 + resource:someresource#viewer@user:user-1340 + resource:someresource#viewer@user:user-1341 + resource:someresource#viewer@user:user-1342 + resource:someresource#viewer@user:user-1343 + resource:someresource#viewer@user:user-1344 + resource:someresource#viewer@user:user-1345 + resource:someresource#viewer@user:user-1346 + resource:someresource#viewer@user:user-1347 + resource:someresource#viewer@user:user-1348 + resource:someresource#viewer@user:user-1349 + resource:someresource#viewer@user:user-1350 + resource:someresource#viewer@user:user-1351 + resource:someresource#viewer@user:user-1352 + resource:someresource#viewer@user:user-1353 + resource:someresource#viewer@user:user-1354 + resource:someresource#viewer@user:user-1355 + resource:someresource#viewer@user:user-1356 + resource:someresource#viewer@user:user-1357 + resource:someresource#viewer@user:user-1358 + resource:someresource#viewer@user:user-1359 + resource:someresource#viewer@user:user-1360 + resource:someresource#viewer@user:user-1361 + resource:someresource#viewer@user:user-1362 + resource:someresource#viewer@user:user-1363 + resource:someresource#viewer@user:user-1364 + resource:someresource#viewer@user:user-1365 + resource:someresource#viewer@user:user-1366 + resource:someresource#viewer@user:user-1367 + resource:someresource#viewer@user:user-1368 + resource:someresource#viewer@user:user-1369 + resource:someresource#viewer@user:user-1370 + resource:someresource#viewer@user:user-1371 + resource:someresource#viewer@user:user-1372 + resource:someresource#viewer@user:user-1373 + resource:someresource#viewer@user:user-1374 + resource:someresource#viewer@user:user-1375 + resource:someresource#viewer@user:user-1376 + resource:someresource#viewer@user:user-1377 + resource:someresource#viewer@user:user-1378 + resource:someresource#viewer@user:user-1379 + resource:someresource#viewer@user:user-1380 + resource:someresource#viewer@user:user-1381 + resource:someresource#viewer@user:user-1382 + resource:someresource#viewer@user:user-1383 + resource:someresource#viewer@user:user-1384 + resource:someresource#viewer@user:user-1385 + resource:someresource#viewer@user:user-1386 + resource:someresource#viewer@user:user-1387 + resource:someresource#viewer@user:user-1388 + resource:someresource#viewer@user:user-1389 + resource:someresource#viewer@user:user-1390 + resource:someresource#viewer@user:user-1391 + resource:someresource#viewer@user:user-1392 + resource:someresource#viewer@user:user-1393 + resource:someresource#viewer@user:user-1394 + resource:someresource#viewer@user:user-1395 + resource:someresource#viewer@user:user-1396 + resource:someresource#viewer@user:user-1397 + resource:someresource#viewer@user:user-1398 + resource:someresource#viewer@user:user-1399 + resource:someresource#viewer@user:user-1400 + resource:someresource#viewer@user:user-1401 + resource:someresource#viewer@user:user-1402 + resource:someresource#viewer@user:user-1403 + resource:someresource#viewer@user:user-1404 + resource:someresource#viewer@user:user-1405 + resource:someresource#viewer@user:user-1406 + resource:someresource#viewer@user:user-1407 + resource:someresource#viewer@user:user-1408 + resource:someresource#viewer@user:user-1409 + resource:someresource#viewer@user:user-1410 + resource:someresource#viewer@user:user-1411 + resource:someresource#viewer@user:user-1412 + resource:someresource#viewer@user:user-1413 + resource:someresource#viewer@user:user-1414 + resource:someresource#viewer@user:user-1415 + resource:someresource#viewer@user:user-1416 + resource:someresource#viewer@user:user-1417 + resource:someresource#viewer@user:user-1418 + resource:someresource#viewer@user:user-1419 + resource:someresource#viewer@user:user-1420 + resource:someresource#viewer@user:user-1421 + resource:someresource#viewer@user:user-1422 + resource:someresource#viewer@user:user-1423 + resource:someresource#viewer@user:user-1424 + resource:someresource#viewer@user:user-1425 + resource:someresource#viewer@user:user-1426 + resource:someresource#viewer@user:user-1427 + resource:someresource#viewer@user:user-1428 + resource:someresource#viewer@user:user-1429 + resource:someresource#viewer@user:user-1430 + resource:someresource#viewer@user:user-1431 + resource:someresource#viewer@user:user-1432 + resource:someresource#viewer@user:user-1433 + resource:someresource#viewer@user:user-1434 + resource:someresource#viewer@user:user-1435 + resource:someresource#viewer@user:user-1436 + resource:someresource#viewer@user:user-1437 + resource:someresource#viewer@user:user-1438 + resource:someresource#viewer@user:user-1439 + resource:someresource#viewer@user:user-1440 + resource:someresource#viewer@user:user-1441 + resource:someresource#viewer@user:user-1442 + resource:someresource#viewer@user:user-1443 + resource:someresource#viewer@user:user-1444 + resource:someresource#viewer@user:user-1445 + resource:someresource#viewer@user:user-1446 + resource:someresource#viewer@user:user-1447 + resource:someresource#viewer@user:user-1448 + resource:someresource#viewer@user:user-1449 + resource:someresource#viewer@user:user-1450 + resource:someresource#viewer@user:user-1451 + resource:someresource#viewer@user:user-1452 + resource:someresource#viewer@user:user-1453 + resource:someresource#viewer@user:user-1454 + resource:someresource#viewer@user:user-1455 + resource:someresource#viewer@user:user-1456 + resource:someresource#viewer@user:user-1457 + resource:someresource#viewer@user:user-1458 + resource:someresource#viewer@user:user-1459 + resource:someresource#viewer@user:user-1460 + resource:someresource#viewer@user:user-1461 + resource:someresource#viewer@user:user-1462 + resource:someresource#viewer@user:user-1463 + resource:someresource#viewer@user:user-1464 + resource:someresource#viewer@user:user-1465 + resource:someresource#viewer@user:user-1466 + resource:someresource#viewer@user:user-1467 + resource:someresource#viewer@user:user-1468 + resource:someresource#viewer@user:user-1469 + resource:someresource#viewer@user:user-1470 + resource:someresource#viewer@user:user-1471 + resource:someresource#viewer@user:user-1472 + resource:someresource#viewer@user:user-1473 + resource:someresource#viewer@user:user-1474 + resource:someresource#viewer@user:user-1475 + resource:someresource#viewer@user:user-1476 + resource:someresource#viewer@user:user-1477 + resource:someresource#viewer@user:user-1478 + resource:someresource#viewer@user:user-1479 + resource:someresource#viewer@user:user-1480 + resource:someresource#viewer@user:user-1481 + resource:someresource#viewer@user:user-1482 + resource:someresource#viewer@user:user-1483 + resource:someresource#viewer@user:user-1484 + resource:someresource#viewer@user:user-1485 + resource:someresource#viewer@user:user-1486 + resource:someresource#viewer@user:user-1487 + resource:someresource#viewer@user:user-1488 + resource:someresource#viewer@user:user-1489 + resource:someresource#viewer@user:user-1490 + resource:someresource#viewer@user:user-1491 + resource:someresource#viewer@user:user-1492 + resource:someresource#viewer@user:user-1493 + resource:someresource#viewer@user:user-1494 + resource:someresource#viewer@user:user-1495 + resource:someresource#viewer@user:user-1496 + resource:someresource#viewer@user:user-1497 + resource:someresource#viewer@user:user-1498 + resource:someresource#viewer@user:user-1499 + resource:someresource#viewer@user:user-1500 + resource:someresource#viewer@user:user-1501 + resource:someresource#viewer@user:user-1502 + resource:someresource#viewer@user:user-1503 + resource:someresource#viewer@user:user-1504 + resource:someresource#viewer@user:user-1505 + resource:someresource#viewer@user:user-1506 + resource:someresource#viewer@user:user-1507 + resource:someresource#viewer@user:user-1508 + resource:someresource#viewer@user:user-1509 + resource:someresource#viewer@user:user-1510 + resource:someresource#viewer@user:user-1511 + resource:someresource#viewer@user:user-1512 + resource:someresource#viewer@user:user-1513 + resource:someresource#viewer@user:user-1514 + resource:someresource#viewer@user:user-1515 + resource:someresource#viewer@user:user-1516 + resource:someresource#viewer@user:user-1517 + resource:someresource#viewer@user:user-1518 + resource:someresource#viewer@user:user-1519 + resource:someresource#viewer@user:user-1520 + resource:someresource#viewer@user:user-1521 + resource:someresource#viewer@user:user-1522 + resource:someresource#viewer@user:user-1523 + resource:someresource#viewer@user:user-1524 + resource:someresource#viewer@user:user-1525 + resource:someresource#viewer@user:user-1526 + resource:someresource#viewer@user:user-1527 + resource:someresource#viewer@user:user-1528 + resource:someresource#viewer@user:user-1529 + resource:someresource#viewer@user:user-1530 + resource:someresource#viewer@user:user-1531 + resource:someresource#viewer@user:user-1532 + resource:someresource#viewer@user:user-1533 + resource:someresource#viewer@user:user-1534 + resource:someresource#viewer@user:user-1535 + resource:someresource#viewer@user:user-1536 + resource:someresource#viewer@user:user-1537 + resource:someresource#viewer@user:user-1538 + resource:someresource#viewer@user:user-1539 + resource:someresource#viewer@user:user-1540 + resource:someresource#viewer@user:user-1541 + resource:someresource#viewer@user:user-1542 + resource:someresource#viewer@user:user-1543 + resource:someresource#viewer@user:user-1544 + resource:someresource#viewer@user:user-1545 + resource:someresource#viewer@user:user-1546 + resource:someresource#viewer@user:user-1547 + resource:someresource#viewer@user:user-1548 + resource:someresource#viewer@user:user-1549 + resource:someresource#viewer@user:user-1550 + resource:someresource#viewer@user:user-1551 + resource:someresource#viewer@user:user-1552 + resource:someresource#viewer@user:user-1553 + resource:someresource#viewer@user:user-1554 + resource:someresource#viewer@user:user-1555 + resource:someresource#viewer@user:user-1556 + resource:someresource#viewer@user:user-1557 + resource:someresource#viewer@user:user-1558 + resource:someresource#viewer@user:user-1559 + resource:someresource#viewer@user:user-1560 + resource:someresource#viewer@user:user-1561 + resource:someresource#viewer@user:user-1562 + resource:someresource#viewer@user:user-1563 + resource:someresource#viewer@user:user-1564 + resource:someresource#viewer@user:user-1565 + resource:someresource#viewer@user:user-1566 + resource:someresource#viewer@user:user-1567 + resource:someresource#viewer@user:user-1568 + resource:someresource#viewer@user:user-1569 + resource:someresource#viewer@user:user-1570 + resource:someresource#viewer@user:user-1571 + resource:someresource#viewer@user:user-1572 + resource:someresource#viewer@user:user-1573 + resource:someresource#viewer@user:user-1574 + resource:someresource#viewer@user:user-1575 + resource:someresource#viewer@user:user-1576 + resource:someresource#viewer@user:user-1577 + resource:someresource#viewer@user:user-1578 + resource:someresource#viewer@user:user-1579 + resource:someresource#viewer@user:user-1580 + resource:someresource#viewer@user:user-1581 + resource:someresource#viewer@user:user-1582 + resource:someresource#viewer@user:user-1583 + resource:someresource#viewer@user:user-1584 + resource:someresource#viewer@user:user-1585 + resource:someresource#viewer@user:user-1586 + resource:someresource#viewer@user:user-1587 + resource:someresource#viewer@user:user-1588 + resource:someresource#viewer@user:user-1589 + resource:someresource#viewer@user:user-1590 + resource:someresource#viewer@user:user-1591 + resource:someresource#viewer@user:user-1592 + resource:someresource#viewer@user:user-1593 + resource:someresource#viewer@user:user-1594 + resource:someresource#viewer@user:user-1595 + resource:someresource#viewer@user:user-1596 + resource:someresource#viewer@user:user-1597 + resource:someresource#viewer@user:user-1598 + resource:someresource#viewer@user:user-1599 + resource:someresource#viewer@user:user-1600 + resource:someresource#viewer@user:user-1601 + resource:someresource#viewer@user:user-1602 + resource:someresource#viewer@user:user-1603 + resource:someresource#viewer@user:user-1604 + resource:someresource#viewer@user:user-1605 + resource:someresource#viewer@user:user-1606 + resource:someresource#viewer@user:user-1607 + resource:someresource#viewer@user:user-1608 + resource:someresource#viewer@user:user-1609 + resource:someresource#viewer@user:user-1610 + resource:someresource#viewer@user:user-1611 + resource:someresource#viewer@user:user-1612 + resource:someresource#viewer@user:user-1613 + resource:someresource#viewer@user:user-1614 + resource:someresource#viewer@user:user-1615 + resource:someresource#viewer@user:user-1616 + resource:someresource#viewer@user:user-1617 + resource:someresource#viewer@user:user-1618 + resource:someresource#viewer@user:user-1619 + resource:someresource#viewer@user:user-1620 + resource:someresource#viewer@user:user-1621 + resource:someresource#viewer@user:user-1622 + resource:someresource#viewer@user:user-1623 + resource:someresource#viewer@user:user-1624 + resource:someresource#viewer@user:user-1625 + resource:someresource#viewer@user:user-1626 + resource:someresource#viewer@user:user-1627 + resource:someresource#viewer@user:user-1628 + resource:someresource#viewer@user:user-1629 + resource:someresource#viewer@user:user-1630 + resource:someresource#viewer@user:user-1631 + resource:someresource#viewer@user:user-1632 + resource:someresource#viewer@user:user-1633 + resource:someresource#viewer@user:user-1634 + resource:someresource#viewer@user:user-1635 + resource:someresource#viewer@user:user-1636 + resource:someresource#viewer@user:user-1637 + resource:someresource#viewer@user:user-1638 + resource:someresource#viewer@user:user-1639 + resource:someresource#viewer@user:user-1640 + resource:someresource#viewer@user:user-1641 + resource:someresource#viewer@user:user-1642 + resource:someresource#viewer@user:user-1643 + resource:someresource#viewer@user:user-1644 + resource:someresource#viewer@user:user-1645 + resource:someresource#viewer@user:user-1646 + resource:someresource#viewer@user:user-1647 + resource:someresource#viewer@user:user-1648 + resource:someresource#viewer@user:user-1649 + resource:someresource#viewer@user:user-1650 + resource:someresource#viewer@user:user-1651 + resource:someresource#viewer@user:user-1652 + resource:someresource#viewer@user:user-1653 + resource:someresource#viewer@user:user-1654 + resource:someresource#viewer@user:user-1655 + resource:someresource#viewer@user:user-1656 + resource:someresource#viewer@user:user-1657 + resource:someresource#viewer@user:user-1658 + resource:someresource#viewer@user:user-1659 + resource:someresource#viewer@user:user-1660 + resource:someresource#viewer@user:user-1661 + resource:someresource#viewer@user:user-1662 + resource:someresource#viewer@user:user-1663 + resource:someresource#viewer@user:user-1664 + resource:someresource#viewer@user:user-1665 + resource:someresource#viewer@user:user-1666 + resource:someresource#viewer@user:user-1667 + resource:someresource#viewer@user:user-1668 + resource:someresource#viewer@user:user-1669 + resource:someresource#viewer@user:user-1670 + resource:someresource#viewer@user:user-1671 + resource:someresource#viewer@user:user-1672 + resource:someresource#viewer@user:user-1673 + resource:someresource#viewer@user:user-1674 + resource:someresource#viewer@user:user-1675 + resource:someresource#viewer@user:user-1676 + resource:someresource#viewer@user:user-1677 + resource:someresource#viewer@user:user-1678 + resource:someresource#viewer@user:user-1679 + resource:someresource#viewer@user:user-1680 + resource:someresource#viewer@user:user-1681 + resource:someresource#viewer@user:user-1682 + resource:someresource#viewer@user:user-1683 + resource:someresource#viewer@user:user-1684 + resource:someresource#viewer@user:user-1685 + resource:someresource#viewer@user:user-1686 + resource:someresource#viewer@user:user-1687 + resource:someresource#viewer@user:user-1688 + resource:someresource#viewer@user:user-1689 + resource:someresource#viewer@user:user-1690 + resource:someresource#viewer@user:user-1691 + resource:someresource#viewer@user:user-1692 + resource:someresource#viewer@user:user-1693 + resource:someresource#viewer@user:user-1694 + resource:someresource#viewer@user:user-1695 + resource:someresource#viewer@user:user-1696 + resource:someresource#viewer@user:user-1697 + resource:someresource#viewer@user:user-1698 + resource:someresource#viewer@user:user-1699 + resource:someresource#viewer@user:user-1700 + resource:someresource#viewer@user:user-1701 + resource:someresource#viewer@user:user-1702 + resource:someresource#viewer@user:user-1703 + resource:someresource#viewer@user:user-1704 + resource:someresource#viewer@user:user-1705 + resource:someresource#viewer@user:user-1706 + resource:someresource#viewer@user:user-1707 + resource:someresource#viewer@user:user-1708 + resource:someresource#viewer@user:user-1709 + resource:someresource#viewer@user:user-1710 + resource:someresource#viewer@user:user-1711 + resource:someresource#viewer@user:user-1712 + resource:someresource#viewer@user:user-1713 + resource:someresource#viewer@user:user-1714 + resource:someresource#viewer@user:user-1715 + resource:someresource#viewer@user:user-1716 + resource:someresource#viewer@user:user-1717 + resource:someresource#viewer@user:user-1718 + resource:someresource#viewer@user:user-1719 + resource:someresource#viewer@user:user-1720 + resource:someresource#viewer@user:user-1721 + resource:someresource#viewer@user:user-1722 + resource:someresource#viewer@user:user-1723 + resource:someresource#viewer@user:user-1724 + resource:someresource#viewer@user:user-1725 + resource:someresource#viewer@user:user-1726 + resource:someresource#viewer@user:user-1727 + resource:someresource#viewer@user:user-1728 + resource:someresource#viewer@user:user-1729 + resource:someresource#viewer@user:user-1730 + resource:someresource#viewer@user:user-1731 + resource:someresource#viewer@user:user-1732 + resource:someresource#viewer@user:user-1733 + resource:someresource#viewer@user:user-1734 + resource:someresource#viewer@user:user-1735 + resource:someresource#viewer@user:user-1736 + resource:someresource#viewer@user:user-1737 + resource:someresource#viewer@user:user-1738 + resource:someresource#viewer@user:user-1739 + resource:someresource#viewer@user:user-1740 + resource:someresource#viewer@user:user-1741 + resource:someresource#viewer@user:user-1742 + resource:someresource#viewer@user:user-1743 + resource:someresource#viewer@user:user-1744 + resource:someresource#viewer@user:user-1745 + resource:someresource#viewer@user:user-1746 + resource:someresource#viewer@user:user-1747 + resource:someresource#viewer@user:user-1748 + resource:someresource#viewer@user:user-1749 + resource:someresource#viewer@user:user-1750 + resource:someresource#viewer@user:user-1751 + resource:someresource#viewer@user:user-1752 + resource:someresource#viewer@user:user-1753 + resource:someresource#viewer@user:user-1754 + resource:someresource#viewer@user:user-1755 + resource:someresource#viewer@user:user-1756 + resource:someresource#viewer@user:user-1757 + resource:someresource#viewer@user:user-1758 + resource:someresource#viewer@user:user-1759 + resource:someresource#viewer@user:user-1760 + resource:someresource#viewer@user:user-1761 + resource:someresource#viewer@user:user-1762 + resource:someresource#viewer@user:user-1763 + resource:someresource#viewer@user:user-1764 + resource:someresource#viewer@user:user-1765 + resource:someresource#viewer@user:user-1766 + resource:someresource#viewer@user:user-1767 + resource:someresource#viewer@user:user-1768 + resource:someresource#viewer@user:user-1769 + resource:someresource#viewer@user:user-1770 + resource:someresource#viewer@user:user-1771 + resource:someresource#viewer@user:user-1772 + resource:someresource#viewer@user:user-1773 + resource:someresource#viewer@user:user-1774 + resource:someresource#viewer@user:user-1775 + resource:someresource#viewer@user:user-1776 + resource:someresource#viewer@user:user-1777 + resource:someresource#viewer@user:user-1778 + resource:someresource#viewer@user:user-1779 + resource:someresource#viewer@user:user-1780 + resource:someresource#viewer@user:user-1781 + resource:someresource#viewer@user:user-1782 + resource:someresource#viewer@user:user-1783 + resource:someresource#viewer@user:user-1784 + resource:someresource#viewer@user:user-1785 + resource:someresource#viewer@user:user-1786 + resource:someresource#viewer@user:user-1787 + resource:someresource#viewer@user:user-1788 + resource:someresource#viewer@user:user-1789 + resource:someresource#viewer@user:user-1790 + resource:someresource#viewer@user:user-1791 + resource:someresource#viewer@user:user-1792 + resource:someresource#viewer@user:user-1793 + resource:someresource#viewer@user:user-1794 + resource:someresource#viewer@user:user-1795 + resource:someresource#viewer@user:user-1796 + resource:someresource#viewer@user:user-1797 + resource:someresource#viewer@user:user-1798 + resource:someresource#viewer@user:user-1799 + resource:someresource#viewer@user:user-1800 + resource:someresource#viewer@user:user-1801 + resource:someresource#viewer@user:user-1802 + resource:someresource#viewer@user:user-1803 + resource:someresource#viewer@user:user-1804 + resource:someresource#viewer@user:user-1805 + resource:someresource#viewer@user:user-1806 + resource:someresource#viewer@user:user-1807 + resource:someresource#viewer@user:user-1808 + resource:someresource#viewer@user:user-1809 + resource:someresource#viewer@user:user-1810 + resource:someresource#viewer@user:user-1811 + resource:someresource#viewer@user:user-1812 + resource:someresource#viewer@user:user-1813 + resource:someresource#viewer@user:user-1814 + resource:someresource#viewer@user:user-1815 + resource:someresource#viewer@user:user-1816 + resource:someresource#viewer@user:user-1817 + resource:someresource#viewer@user:user-1818 + resource:someresource#viewer@user:user-1819 + resource:someresource#viewer@user:user-1820 + resource:someresource#viewer@user:user-1821 + resource:someresource#viewer@user:user-1822 + resource:someresource#viewer@user:user-1823 + resource:someresource#viewer@user:user-1824 + resource:someresource#viewer@user:user-1825 + resource:someresource#viewer@user:user-1826 + resource:someresource#viewer@user:user-1827 + resource:someresource#viewer@user:user-1828 + resource:someresource#viewer@user:user-1829 + resource:someresource#viewer@user:user-1830 + resource:someresource#viewer@user:user-1831 + resource:someresource#viewer@user:user-1832 + resource:someresource#viewer@user:user-1833 + resource:someresource#viewer@user:user-1834 + resource:someresource#viewer@user:user-1835 + resource:someresource#viewer@user:user-1836 + resource:someresource#viewer@user:user-1837 + resource:someresource#viewer@user:user-1838 + resource:someresource#viewer@user:user-1839 + resource:someresource#viewer@user:user-1840 + resource:someresource#viewer@user:user-1841 + resource:someresource#viewer@user:user-1842 + resource:someresource#viewer@user:user-1843 + resource:someresource#viewer@user:user-1844 + resource:someresource#viewer@user:user-1845 + resource:someresource#viewer@user:user-1846 + resource:someresource#viewer@user:user-1847 + resource:someresource#viewer@user:user-1848 + resource:someresource#viewer@user:user-1849 + resource:someresource#viewer@user:user-1850 + resource:someresource#viewer@user:user-1851 + resource:someresource#viewer@user:user-1852 + resource:someresource#viewer@user:user-1853 + resource:someresource#viewer@user:user-1854 + resource:someresource#viewer@user:user-1855 + resource:someresource#viewer@user:user-1856 + resource:someresource#viewer@user:user-1857 + resource:someresource#viewer@user:user-1858 + resource:someresource#viewer@user:user-1859 + resource:someresource#viewer@user:user-1860 + resource:someresource#viewer@user:user-1861 + resource:someresource#viewer@user:user-1862 + resource:someresource#viewer@user:user-1863 + resource:someresource#viewer@user:user-1864 + resource:someresource#viewer@user:user-1865 + resource:someresource#viewer@user:user-1866 + resource:someresource#viewer@user:user-1867 + resource:someresource#viewer@user:user-1868 + resource:someresource#viewer@user:user-1869 + resource:someresource#viewer@user:user-1870 + resource:someresource#viewer@user:user-1871 + resource:someresource#viewer@user:user-1872 + resource:someresource#viewer@user:user-1873 + resource:someresource#viewer@user:user-1874 + resource:someresource#viewer@user:user-1875 + resource:someresource#viewer@user:user-1876 + resource:someresource#viewer@user:user-1877 + resource:someresource#viewer@user:user-1878 + resource:someresource#viewer@user:user-1879 + resource:someresource#viewer@user:user-1880 + resource:someresource#viewer@user:user-1881 + resource:someresource#viewer@user:user-1882 + resource:someresource#viewer@user:user-1883 + resource:someresource#viewer@user:user-1884 + resource:someresource#viewer@user:user-1885 + resource:someresource#viewer@user:user-1886 + resource:someresource#viewer@user:user-1887 + resource:someresource#viewer@user:user-1888 + resource:someresource#viewer@user:user-1889 + resource:someresource#viewer@user:user-1890 + resource:someresource#viewer@user:user-1891 + resource:someresource#viewer@user:user-1892 + resource:someresource#viewer@user:user-1893 + resource:someresource#viewer@user:user-1894 + resource:someresource#viewer@user:user-1895 + resource:someresource#viewer@user:user-1896 + resource:someresource#viewer@user:user-1897 + resource:someresource#viewer@user:user-1898 + resource:someresource#viewer@user:user-1899 + resource:someresource#viewer@user:user-1900 + resource:someresource#viewer@user:user-1901 + resource:someresource#viewer@user:user-1902 + resource:someresource#viewer@user:user-1903 + resource:someresource#viewer@user:user-1904 + resource:someresource#viewer@user:user-1905 + resource:someresource#viewer@user:user-1906 + resource:someresource#viewer@user:user-1907 + resource:someresource#viewer@user:user-1908 + resource:someresource#viewer@user:user-1909 + resource:someresource#viewer@user:user-1910 + resource:someresource#viewer@user:user-1911 + resource:someresource#viewer@user:user-1912 + resource:someresource#viewer@user:user-1913 + resource:someresource#viewer@user:user-1914 + resource:someresource#viewer@user:user-1915 + resource:someresource#viewer@user:user-1916 + resource:someresource#viewer@user:user-1917 + resource:someresource#viewer@user:user-1918 + resource:someresource#viewer@user:user-1919 + resource:someresource#viewer@user:user-1920 + resource:someresource#viewer@user:user-1921 + resource:someresource#viewer@user:user-1922 + resource:someresource#viewer@user:user-1923 + resource:someresource#viewer@user:user-1924 + resource:someresource#viewer@user:user-1925 + resource:someresource#viewer@user:user-1926 + resource:someresource#viewer@user:user-1927 + resource:someresource#viewer@user:user-1928 + resource:someresource#viewer@user:user-1929 + resource:someresource#viewer@user:user-1930 + resource:someresource#viewer@user:user-1931 + resource:someresource#viewer@user:user-1932 + resource:someresource#viewer@user:user-1933 + resource:someresource#viewer@user:user-1934 + resource:someresource#viewer@user:user-1935 + resource:someresource#viewer@user:user-1936 + resource:someresource#viewer@user:user-1937 + resource:someresource#viewer@user:user-1938 + resource:someresource#viewer@user:user-1939 + resource:someresource#viewer@user:user-1940 + resource:someresource#viewer@user:user-1941 + resource:someresource#viewer@user:user-1942 + resource:someresource#viewer@user:user-1943 + resource:someresource#viewer@user:user-1944 + resource:someresource#viewer@user:user-1945 + resource:someresource#viewer@user:user-1946 + resource:someresource#viewer@user:user-1947 + resource:someresource#viewer@user:user-1948 + resource:someresource#viewer@user:user-1949 + resource:someresource#viewer@user:user-1950 + resource:someresource#viewer@user:user-1951 + resource:someresource#viewer@user:user-1952 + resource:someresource#viewer@user:user-1953 + resource:someresource#viewer@user:user-1954 + resource:someresource#viewer@user:user-1955 + resource:someresource#viewer@user:user-1956 + resource:someresource#viewer@user:user-1957 + resource:someresource#viewer@user:user-1958 + resource:someresource#viewer@user:user-1959 + resource:someresource#viewer@user:user-1960 + resource:someresource#viewer@user:user-1961 + resource:someresource#viewer@user:user-1962 + resource:someresource#viewer@user:user-1963 + resource:someresource#viewer@user:user-1964 + resource:someresource#viewer@user:user-1965 + resource:someresource#viewer@user:user-1966 + resource:someresource#viewer@user:user-1967 + resource:someresource#viewer@user:user-1968 + resource:someresource#viewer@user:user-1969 + resource:someresource#viewer@user:user-1970 + resource:someresource#viewer@user:user-1971 + resource:someresource#viewer@user:user-1972 + resource:someresource#viewer@user:user-1973 + resource:someresource#viewer@user:user-1974 + resource:someresource#viewer@user:user-1975 + resource:someresource#viewer@user:user-1976 + resource:someresource#viewer@user:user-1977 + resource:someresource#viewer@user:user-1978 + resource:someresource#viewer@user:user-1979 + resource:someresource#viewer@user:user-1980 + resource:someresource#viewer@user:user-1981 + resource:someresource#viewer@user:user-1982 + resource:someresource#viewer@user:user-1983 + resource:someresource#viewer@user:user-1984 + resource:someresource#viewer@user:user-1985 + resource:someresource#viewer@user:user-1986 + resource:someresource#viewer@user:user-1987 + resource:someresource#viewer@user:user-1988 + resource:someresource#viewer@user:user-1989 + resource:someresource#viewer@user:user-1990 + resource:someresource#viewer@user:user-1991 + resource:someresource#viewer@user:user-1992 + resource:someresource#viewer@user:user-1993 + resource:someresource#viewer@user:user-1994 + resource:someresource#viewer@user:user-1995 + resource:someresource#viewer@user:user-1996 + resource:someresource#viewer@user:user-1997 + resource:someresource#viewer@user:user-1998 + resource:someresource#viewer@user:user-1999 + resource:someresource#viewer@user:user-2000 + resource:someresource#viewer@user:user-2001 + resource:someresource#viewer@user:user-2002 + resource:someresource#viewer@user:user-2003 + resource:someresource#viewer@user:user-2004 + resource:someresource#viewer@user:user-2005 + resource:someresource#viewer@user:user-2006 + resource:someresource#viewer@user:user-2007 + resource:someresource#viewer@user:user-2008 + resource:someresource#viewer@user:user-2009 + resource:someresource#viewer@user:user-2010 + resource:someresource#viewer@user:user-2011 + resource:someresource#viewer@user:user-2012 + resource:someresource#viewer@user:user-2013 + resource:someresource#viewer@user:user-2014 + resource:someresource#viewer@user:user-2015 + resource:someresource#viewer@user:user-2016 + resource:someresource#viewer@user:user-2017 + resource:someresource#viewer@user:user-2018 + resource:someresource#viewer@user:user-2019 + resource:someresource#viewer@user:user-2020 + resource:someresource#viewer@user:user-2021 + resource:someresource#viewer@user:user-2022 + resource:someresource#viewer@user:user-2023 + resource:someresource#viewer@user:user-2024 + resource:someresource#viewer@user:user-2025 + resource:someresource#viewer@user:user-2026 + resource:someresource#viewer@user:user-2027 + resource:someresource#viewer@user:user-2028 + resource:someresource#viewer@user:user-2029 + resource:someresource#viewer@user:user-2030 + resource:someresource#viewer@user:user-2031 + resource:someresource#viewer@user:user-2032 + resource:someresource#viewer@user:user-2033 + resource:someresource#viewer@user:user-2034 + resource:someresource#viewer@user:user-2035 + resource:someresource#viewer@user:user-2036 + resource:someresource#viewer@user:user-2037 + resource:someresource#viewer@user:user-2038 + resource:someresource#viewer@user:user-2039 + resource:someresource#viewer@user:user-2040 + resource:someresource#viewer@user:user-2041 + resource:someresource#viewer@user:user-2042 + resource:someresource#viewer@user:user-2043 + resource:someresource#viewer@user:user-2044 + resource:someresource#viewer@user:user-2045 + resource:someresource#viewer@user:user-2046 + resource:someresource#viewer@user:user-2047 + resource:someresource#viewer@user:user-2048 + resource:someresource#viewer@user:user-2049 + resource:someresource#viewer@user:user-2050 + resource:someresource#viewer@user:user-2051 + resource:someresource#viewer@user:user-2052 + resource:someresource#viewer@user:user-2053 + resource:someresource#viewer@user:user-2054 + resource:someresource#viewer@user:user-2055 + resource:someresource#viewer@user:user-2056 + resource:someresource#viewer@user:user-2057 + resource:someresource#viewer@user:user-2058 + resource:someresource#viewer@user:user-2059 + resource:someresource#viewer@user:user-2060 + resource:someresource#viewer@user:user-2061 + resource:someresource#viewer@user:user-2062 + resource:someresource#viewer@user:user-2063 + resource:someresource#viewer@user:user-2064 + resource:someresource#viewer@user:user-2065 + resource:someresource#viewer@user:user-2066 + resource:someresource#viewer@user:user-2067 + resource:someresource#viewer@user:user-2068 + resource:someresource#viewer@user:user-2069 + resource:someresource#viewer@user:user-2070 + resource:someresource#viewer@user:user-2071 + resource:someresource#viewer@user:user-2072 + resource:someresource#viewer@user:user-2073 + resource:someresource#viewer@user:user-2074 + resource:someresource#viewer@user:user-2075 + resource:someresource#viewer@user:user-2076 + resource:someresource#viewer@user:user-2077 + resource:someresource#viewer@user:user-2078 + resource:someresource#viewer@user:user-2079 + resource:someresource#viewer@user:user-2080 + resource:someresource#viewer@user:user-2081 + resource:someresource#viewer@user:user-2082 + resource:someresource#viewer@user:user-2083 + resource:someresource#viewer@user:user-2084 + resource:someresource#viewer@user:user-2085 + resource:someresource#viewer@user:user-2086 + resource:someresource#viewer@user:user-2087 + resource:someresource#viewer@user:user-2088 + resource:someresource#viewer@user:user-2089 + resource:someresource#viewer@user:user-2090 + resource:someresource#viewer@user:user-2091 + resource:someresource#viewer@user:user-2092 + resource:someresource#viewer@user:user-2093 + resource:someresource#viewer@user:user-2094 + resource:someresource#viewer@user:user-2095 + resource:someresource#viewer@user:user-2096 + resource:someresource#viewer@user:user-2097 + resource:someresource#viewer@user:user-2098 + resource:someresource#viewer@user:user-2099 + resource:someresource#viewer@user:user-2100 + resource:someresource#viewer@user:user-2101 + resource:someresource#viewer@user:user-2102 + resource:someresource#viewer@user:user-2103 + resource:someresource#viewer@user:user-2104 + resource:someresource#viewer@user:user-2105 + resource:someresource#viewer@user:user-2106 + resource:someresource#viewer@user:user-2107 + resource:someresource#viewer@user:user-2108 + resource:someresource#viewer@user:user-2109 + resource:someresource#viewer@user:user-2110 + resource:someresource#viewer@user:user-2111 + resource:someresource#viewer@user:user-2112 + resource:someresource#viewer@user:user-2113 + resource:someresource#viewer@user:user-2114 + resource:someresource#viewer@user:user-2115 + resource:someresource#viewer@user:user-2116 + resource:someresource#viewer@user:user-2117 + resource:someresource#viewer@user:user-2118 + resource:someresource#viewer@user:user-2119 + resource:someresource#viewer@user:user-2120 + resource:someresource#viewer@user:user-2121 + resource:someresource#viewer@user:user-2122 + resource:someresource#viewer@user:user-2123 + resource:someresource#viewer@user:user-2124 + resource:someresource#viewer@user:user-2125 + resource:someresource#viewer@user:user-2126 + resource:someresource#viewer@user:user-2127 + resource:someresource#viewer@user:user-2128 + resource:someresource#viewer@user:user-2129 + resource:someresource#viewer@user:user-2130 + resource:someresource#viewer@user:user-2131 + resource:someresource#viewer@user:user-2132 + resource:someresource#viewer@user:user-2133 + resource:someresource#viewer@user:user-2134 + resource:someresource#viewer@user:user-2135 + resource:someresource#viewer@user:user-2136 + resource:someresource#viewer@user:user-2137 + resource:someresource#viewer@user:user-2138 + resource:someresource#viewer@user:user-2139 + resource:someresource#viewer@user:user-2140 + resource:someresource#viewer@user:user-2141 + resource:someresource#viewer@user:user-2142 + resource:someresource#viewer@user:user-2143 + resource:someresource#viewer@user:user-2144 + resource:someresource#viewer@user:user-2145 + resource:someresource#viewer@user:user-2146 + resource:someresource#viewer@user:user-2147 + resource:someresource#viewer@user:user-2148 + resource:someresource#viewer@user:user-2149 + resource:someresource#viewer@user:user-2150 + resource:someresource#viewer@user:user-2151 + resource:someresource#viewer@user:user-2152 + resource:someresource#viewer@user:user-2153 + resource:someresource#viewer@user:user-2154 + resource:someresource#viewer@user:user-2155 + resource:someresource#viewer@user:user-2156 + resource:someresource#viewer@user:user-2157 + resource:someresource#viewer@user:user-2158 + resource:someresource#viewer@user:user-2159 + resource:someresource#viewer@user:user-2160 + resource:someresource#viewer@user:user-2161 + resource:someresource#viewer@user:user-2162 + resource:someresource#viewer@user:user-2163 + resource:someresource#viewer@user:user-2164 + resource:someresource#viewer@user:user-2165 + resource:someresource#viewer@user:user-2166 + resource:someresource#viewer@user:user-2167 + resource:someresource#viewer@user:user-2168 + resource:someresource#viewer@user:user-2169 + resource:someresource#viewer@user:user-2170 + resource:someresource#viewer@user:user-2171 + resource:someresource#viewer@user:user-2172 + resource:someresource#viewer@user:user-2173 + resource:someresource#viewer@user:user-2174 + resource:someresource#viewer@user:user-2175 + resource:someresource#viewer@user:user-2176 + resource:someresource#viewer@user:user-2177 + resource:someresource#viewer@user:user-2178 + resource:someresource#viewer@user:user-2179 + resource:someresource#viewer@user:user-2180 + resource:someresource#viewer@user:user-2181 + resource:someresource#viewer@user:user-2182 + resource:someresource#viewer@user:user-2183 + resource:someresource#viewer@user:user-2184 + resource:someresource#viewer@user:user-2185 + resource:someresource#viewer@user:user-2186 + resource:someresource#viewer@user:user-2187 + resource:someresource#viewer@user:user-2188 + resource:someresource#viewer@user:user-2189 + resource:someresource#viewer@user:user-2190 + resource:someresource#viewer@user:user-2191 + resource:someresource#viewer@user:user-2192 + resource:someresource#viewer@user:user-2193 + resource:someresource#viewer@user:user-2194 + resource:someresource#viewer@user:user-2195 + resource:someresource#viewer@user:user-2196 + resource:someresource#viewer@user:user-2197 + resource:someresource#viewer@user:user-2198 + resource:someresource#viewer@user:user-2199 + resource:someresource#viewer@user:user-2200 + resource:someresource#viewer@user:user-2201 + resource:someresource#viewer@user:user-2202 + resource:someresource#viewer@user:user-2203 + resource:someresource#viewer@user:user-2204 + resource:someresource#viewer@user:user-2205 + resource:someresource#viewer@user:user-2206 + resource:someresource#viewer@user:user-2207 + resource:someresource#viewer@user:user-2208 + resource:someresource#viewer@user:user-2209 + resource:someresource#viewer@user:user-2210 + resource:someresource#viewer@user:user-2211 + resource:someresource#viewer@user:user-2212 + resource:someresource#viewer@user:user-2213 + resource:someresource#viewer@user:user-2214 + resource:someresource#viewer@user:user-2215 + resource:someresource#viewer@user:user-2216 + resource:someresource#viewer@user:user-2217 + resource:someresource#viewer@user:user-2218 + resource:someresource#viewer@user:user-2219 + resource:someresource#viewer@user:user-2220 + resource:someresource#viewer@user:user-2221 + resource:someresource#viewer@user:user-2222 + resource:someresource#viewer@user:user-2223 + resource:someresource#viewer@user:user-2224 + resource:someresource#viewer@user:user-2225 + resource:someresource#viewer@user:user-2226 + resource:someresource#viewer@user:user-2227 + resource:someresource#viewer@user:user-2228 + resource:someresource#viewer@user:user-2229 + resource:someresource#viewer@user:user-2230 + resource:someresource#viewer@user:user-2231 + resource:someresource#viewer@user:user-2232 + resource:someresource#viewer@user:user-2233 + resource:someresource#viewer@user:user-2234 + resource:someresource#viewer@user:user-2235 + resource:someresource#viewer@user:user-2236 + resource:someresource#viewer@user:user-2237 + resource:someresource#viewer@user:user-2238 + resource:someresource#viewer@user:user-2239 + resource:someresource#viewer@user:user-2240 + resource:someresource#viewer@user:user-2241 + resource:someresource#viewer@user:user-2242 + resource:someresource#viewer@user:user-2243 + resource:someresource#viewer@user:user-2244 + resource:someresource#viewer@user:user-2245 + resource:someresource#viewer@user:user-2246 + resource:someresource#viewer@user:user-2247 + resource:someresource#viewer@user:user-2248 + resource:someresource#viewer@user:user-2249 + resource:someresource#viewer@user:user-2250 + resource:someresource#viewer@user:user-2251 + resource:someresource#viewer@user:user-2252 + resource:someresource#viewer@user:user-2253 + resource:someresource#viewer@user:user-2254 + resource:someresource#viewer@user:user-2255 + resource:someresource#viewer@user:user-2256 + resource:someresource#viewer@user:user-2257 + resource:someresource#viewer@user:user-2258 + resource:someresource#viewer@user:user-2259 + resource:someresource#viewer@user:user-2260 + resource:someresource#viewer@user:user-2261 + resource:someresource#viewer@user:user-2262 + resource:someresource#viewer@user:user-2263 + resource:someresource#viewer@user:user-2264 + resource:someresource#viewer@user:user-2265 + resource:someresource#viewer@user:user-2266 + resource:someresource#viewer@user:user-2267 + resource:someresource#viewer@user:user-2268 + resource:someresource#viewer@user:user-2269 + resource:someresource#viewer@user:user-2270 + resource:someresource#viewer@user:user-2271 + resource:someresource#viewer@user:user-2272 + resource:someresource#viewer@user:user-2273 + resource:someresource#viewer@user:user-2274 + resource:someresource#viewer@user:user-2275 + resource:someresource#viewer@user:user-2276 + resource:someresource#viewer@user:user-2277 + resource:someresource#viewer@user:user-2278 + resource:someresource#viewer@user:user-2279 + resource:someresource#viewer@user:user-2280 + resource:someresource#viewer@user:user-2281 + resource:someresource#viewer@user:user-2282 + resource:someresource#viewer@user:user-2283 + resource:someresource#viewer@user:user-2284 + resource:someresource#viewer@user:user-2285 + resource:someresource#viewer@user:user-2286 + resource:someresource#viewer@user:user-2287 + resource:someresource#viewer@user:user-2288 + resource:someresource#viewer@user:user-2289 + resource:someresource#viewer@user:user-2290 + resource:someresource#viewer@user:user-2291 + resource:someresource#viewer@user:user-2292 + resource:someresource#viewer@user:user-2293 + resource:someresource#viewer@user:user-2294 + resource:someresource#viewer@user:user-2295 + resource:someresource#viewer@user:user-2296 + resource:someresource#viewer@user:user-2297 + resource:someresource#viewer@user:user-2298 + resource:someresource#viewer@user:user-2299 + resource:someresource#viewer@user:user-2300 + resource:someresource#viewer@user:user-2301 + resource:someresource#viewer@user:user-2302 + resource:someresource#viewer@user:user-2303 + resource:someresource#viewer@user:user-2304 + resource:someresource#viewer@user:user-2305 + resource:someresource#viewer@user:user-2306 + resource:someresource#viewer@user:user-2307 + resource:someresource#viewer@user:user-2308 + resource:someresource#viewer@user:user-2309 + resource:someresource#viewer@user:user-2310 + resource:someresource#viewer@user:user-2311 + resource:someresource#viewer@user:user-2312 + resource:someresource#viewer@user:user-2313 + resource:someresource#viewer@user:user-2314 + resource:someresource#viewer@user:user-2315 + resource:someresource#viewer@user:user-2316 + resource:someresource#viewer@user:user-2317 + resource:someresource#viewer@user:user-2318 + resource:someresource#viewer@user:user-2319 + resource:someresource#viewer@user:user-2320 + resource:someresource#viewer@user:user-2321 + resource:someresource#viewer@user:user-2322 + resource:someresource#viewer@user:user-2323 + resource:someresource#viewer@user:user-2324 + resource:someresource#viewer@user:user-2325 + resource:someresource#viewer@user:user-2326 + resource:someresource#viewer@user:user-2327 + resource:someresource#viewer@user:user-2328 + resource:someresource#viewer@user:user-2329 + resource:someresource#viewer@user:user-2330 + resource:someresource#viewer@user:user-2331 + resource:someresource#viewer@user:user-2332 + resource:someresource#viewer@user:user-2333 + resource:someresource#viewer@user:user-2334 + resource:someresource#viewer@user:user-2335 + resource:someresource#viewer@user:user-2336 + resource:someresource#viewer@user:user-2337 + resource:someresource#viewer@user:user-2338 + resource:someresource#viewer@user:user-2339 + resource:someresource#viewer@user:user-2340 + resource:someresource#viewer@user:user-2341 + resource:someresource#viewer@user:user-2342 + resource:someresource#viewer@user:user-2343 + resource:someresource#viewer@user:user-2344 + resource:someresource#viewer@user:user-2345 + resource:someresource#viewer@user:user-2346 + resource:someresource#viewer@user:user-2347 + resource:someresource#viewer@user:user-2348 + resource:someresource#viewer@user:user-2349 + resource:someresource#viewer@user:user-2350 + resource:someresource#viewer@user:user-2351 + resource:someresource#viewer@user:user-2352 + resource:someresource#viewer@user:user-2353 + resource:someresource#viewer@user:user-2354 + resource:someresource#viewer@user:user-2355 + resource:someresource#viewer@user:user-2356 + resource:someresource#viewer@user:user-2357 + resource:someresource#viewer@user:user-2358 + resource:someresource#viewer@user:user-2359 + resource:someresource#viewer@user:user-2360 + resource:someresource#viewer@user:user-2361 + resource:someresource#viewer@user:user-2362 + resource:someresource#viewer@user:user-2363 + resource:someresource#viewer@user:user-2364 + resource:someresource#viewer@user:user-2365 + resource:someresource#viewer@user:user-2366 + resource:someresource#viewer@user:user-2367 + resource:someresource#viewer@user:user-2368 + resource:someresource#viewer@user:user-2369 + resource:someresource#viewer@user:user-2370 + resource:someresource#viewer@user:user-2371 + resource:someresource#viewer@user:user-2372 + resource:someresource#viewer@user:user-2373 + resource:someresource#viewer@user:user-2374 + resource:someresource#viewer@user:user-2375 + resource:someresource#viewer@user:user-2376 + resource:someresource#viewer@user:user-2377 + resource:someresource#viewer@user:user-2378 + resource:someresource#viewer@user:user-2379 + resource:someresource#viewer@user:user-2380 + resource:someresource#viewer@user:user-2381 + resource:someresource#viewer@user:user-2382 + resource:someresource#viewer@user:user-2383 + resource:someresource#viewer@user:user-2384 + resource:someresource#viewer@user:user-2385 + resource:someresource#viewer@user:user-2386 + resource:someresource#viewer@user:user-2387 + resource:someresource#viewer@user:user-2388 + resource:someresource#viewer@user:user-2389 + resource:someresource#viewer@user:user-2390 + resource:someresource#viewer@user:user-2391 + resource:someresource#viewer@user:user-2392 + resource:someresource#viewer@user:user-2393 + resource:someresource#viewer@user:user-2394 + resource:someresource#viewer@user:user-2395 + resource:someresource#viewer@user:user-2396 + resource:someresource#viewer@user:user-2397 + resource:someresource#viewer@user:user-2398 + resource:someresource#viewer@user:user-2399 + resource:someresource#viewer@user:user-2400 + resource:someresource#viewer@user:user-2401 + resource:someresource#viewer@user:user-2402 + resource:someresource#viewer@user:user-2403 + resource:someresource#viewer@user:user-2404 + resource:someresource#viewer@user:user-2405 + resource:someresource#viewer@user:user-2406 + resource:someresource#viewer@user:user-2407 + resource:someresource#viewer@user:user-2408 + resource:someresource#viewer@user:user-2409 + resource:someresource#viewer@user:user-2410 + resource:someresource#viewer@user:user-2411 + resource:someresource#viewer@user:user-2412 + resource:someresource#viewer@user:user-2413 + resource:someresource#viewer@user:user-2414 + resource:someresource#viewer@user:user-2415 + resource:someresource#viewer@user:user-2416 + resource:someresource#viewer@user:user-2417 + resource:someresource#viewer@user:user-2418 + resource:someresource#viewer@user:user-2419 + resource:someresource#viewer@user:user-2420 + resource:someresource#viewer@user:user-2421 + resource:someresource#viewer@user:user-2422 + resource:someresource#viewer@user:user-2423 + resource:someresource#viewer@user:user-2424 + resource:someresource#viewer@user:user-2425 + resource:someresource#viewer@user:user-2426 + resource:someresource#viewer@user:user-2427 + resource:someresource#viewer@user:user-2428 + resource:someresource#viewer@user:user-2429 + resource:someresource#viewer@user:user-2430 + resource:someresource#viewer@user:user-2431 + resource:someresource#viewer@user:user-2432 + resource:someresource#viewer@user:user-2433 + resource:someresource#viewer@user:user-2434 + resource:someresource#viewer@user:user-2435 + resource:someresource#viewer@user:user-2436 + resource:someresource#viewer@user:user-2437 + resource:someresource#viewer@user:user-2438 + resource:someresource#viewer@user:user-2439 + resource:someresource#viewer@user:user-2440 + resource:someresource#viewer@user:user-2441 + resource:someresource#viewer@user:user-2442 + resource:someresource#viewer@user:user-2443 + resource:someresource#viewer@user:user-2444 + resource:someresource#viewer@user:user-2445 + resource:someresource#viewer@user:user-2446 + resource:someresource#viewer@user:user-2447 + resource:someresource#viewer@user:user-2448 + resource:someresource#viewer@user:user-2449 + resource:someresource#viewer@user:user-2450 + resource:someresource#viewer@user:user-2451 + resource:someresource#viewer@user:user-2452 + resource:someresource#viewer@user:user-2453 + resource:someresource#viewer@user:user-2454 + resource:someresource#viewer@user:user-2455 + resource:someresource#viewer@user:user-2456 + resource:someresource#viewer@user:user-2457 + resource:someresource#viewer@user:user-2458 + resource:someresource#viewer@user:user-2459 + resource:someresource#viewer@user:user-2460 + resource:someresource#viewer@user:user-2461 + resource:someresource#viewer@user:user-2462 + resource:someresource#viewer@user:user-2463 + resource:someresource#viewer@user:user-2464 + resource:someresource#viewer@user:user-2465 + resource:someresource#viewer@user:user-2466 + resource:someresource#viewer@user:user-2467 + resource:someresource#viewer@user:user-2468 + resource:someresource#viewer@user:user-2469 + resource:someresource#viewer@user:user-2470 + resource:someresource#viewer@user:user-2471 + resource:someresource#viewer@user:user-2472 + resource:someresource#viewer@user:user-2473 + resource:someresource#viewer@user:user-2474 + resource:someresource#viewer@user:user-2475 + resource:someresource#viewer@user:user-2476 + resource:someresource#viewer@user:user-2477 + resource:someresource#viewer@user:user-2478 + resource:someresource#viewer@user:user-2479 + resource:someresource#viewer@user:user-2480 + resource:someresource#viewer@user:user-2481 + resource:someresource#viewer@user:user-2482 + resource:someresource#viewer@user:user-2483 + resource:someresource#viewer@user:user-2484 + resource:someresource#viewer@user:user-2485 + resource:someresource#viewer@user:user-2486 + resource:someresource#viewer@user:user-2487 + resource:someresource#viewer@user:user-2488 + resource:someresource#viewer@user:user-2489 + resource:someresource#viewer@user:user-2490 + resource:someresource#viewer@user:user-2491 + resource:someresource#viewer@user:user-2492 + resource:someresource#viewer@user:user-2493 + resource:someresource#viewer@user:user-2494 + resource:someresource#viewer@user:user-2495 + resource:someresource#viewer@user:user-2496 + resource:someresource#viewer@user:user-2497 + resource:someresource#viewer@user:user-2498 + resource:someresource#viewer@user:user-2499 + resource:someresource#viewer@user:user-2500 + resource:someresource#viewer@user:user-2501 + resource:someresource#viewer@user:user-2502 + resource:someresource#viewer@user:user-2503 + resource:someresource#viewer@user:user-2504 + resource:someresource#viewer@user:user-2505 + resource:someresource#viewer@user:user-2506 + resource:someresource#viewer@user:user-2507 + resource:someresource#viewer@user:user-2508 + resource:someresource#viewer@user:user-2509 + resource:someresource#viewer@user:user-2510 + resource:someresource#viewer@user:user-2511 + resource:someresource#viewer@user:user-2512 + resource:someresource#viewer@user:user-2513 + resource:someresource#viewer@user:user-2514 + resource:someresource#viewer@user:user-2515 + resource:someresource#viewer@user:user-2516 + resource:someresource#viewer@user:user-2517 + resource:someresource#viewer@user:user-2518 + resource:someresource#viewer@user:user-2519 + resource:someresource#viewer@user:user-2520 + resource:someresource#viewer@user:user-2521 + resource:someresource#viewer@user:user-2522 + resource:someresource#viewer@user:user-2523 + resource:someresource#viewer@user:user-2524 + resource:someresource#viewer@user:user-2525 + resource:someresource#viewer@user:user-2526 + resource:someresource#viewer@user:user-2527 + resource:someresource#viewer@user:user-2528 + resource:someresource#viewer@user:user-2529 + resource:someresource#viewer@user:user-2530 + resource:someresource#viewer@user:user-2531 + resource:someresource#viewer@user:user-2532 + resource:someresource#viewer@user:user-2533 + resource:someresource#viewer@user:user-2534 + resource:someresource#viewer@user:user-2535 + resource:someresource#viewer@user:user-2536 + resource:someresource#viewer@user:user-2537 + resource:someresource#viewer@user:user-2538 + resource:someresource#viewer@user:user-2539 + resource:someresource#viewer@user:user-2540 + resource:someresource#viewer@user:user-2541 + resource:someresource#viewer@user:user-2542 + resource:someresource#viewer@user:user-2543 + resource:someresource#viewer@user:user-2544 + resource:someresource#viewer@user:user-2545 + resource:someresource#viewer@user:user-2546 + resource:someresource#viewer@user:user-2547 + resource:someresource#viewer@user:user-2548 + resource:someresource#viewer@user:user-2549 + resource:someresource#viewer@user:user-2550 + resource:someresource#viewer@user:user-2551 + resource:someresource#viewer@user:user-2552 + resource:someresource#viewer@user:user-2553 + resource:someresource#viewer@user:user-2554 + resource:someresource#viewer@user:user-2555 + resource:someresource#viewer@user:user-2556 + resource:someresource#viewer@user:user-2557 + resource:someresource#viewer@user:user-2558 + resource:someresource#viewer@user:user-2559 + resource:someresource#viewer@user:user-2560 + resource:someresource#viewer@user:user-2561 + resource:someresource#viewer@user:user-2562 + resource:someresource#viewer@user:user-2563 + resource:someresource#viewer@user:user-2564 + resource:someresource#viewer@user:user-2565 + resource:someresource#viewer@user:user-2566 + resource:someresource#viewer@user:user-2567 + resource:someresource#viewer@user:user-2568 + resource:someresource#viewer@user:user-2569 + resource:someresource#viewer@user:user-2570 + resource:someresource#viewer@user:user-2571 + resource:someresource#viewer@user:user-2572 + resource:someresource#viewer@user:user-2573 + resource:someresource#viewer@user:user-2574 + resource:someresource#viewer@user:user-2575 + resource:someresource#viewer@user:user-2576 + resource:someresource#viewer@user:user-2577 + resource:someresource#viewer@user:user-2578 + resource:someresource#viewer@user:user-2579 + resource:someresource#viewer@user:user-2580 + resource:someresource#viewer@user:user-2581 + resource:someresource#viewer@user:user-2582 + resource:someresource#viewer@user:user-2583 + resource:someresource#viewer@user:user-2584 + resource:someresource#viewer@user:user-2585 + resource:someresource#viewer@user:user-2586 + resource:someresource#viewer@user:user-2587 + resource:someresource#viewer@user:user-2588 + resource:someresource#viewer@user:user-2589 + resource:someresource#viewer@user:user-2590 + resource:someresource#viewer@user:user-2591 + resource:someresource#viewer@user:user-2592 + resource:someresource#viewer@user:user-2593 + resource:someresource#viewer@user:user-2594 + resource:someresource#viewer@user:user-2595 + resource:someresource#viewer@user:user-2596 + resource:someresource#viewer@user:user-2597 + resource:someresource#viewer@user:user-2598 + resource:someresource#viewer@user:user-2599 + resource:someresource#viewer@user:user-2600 + resource:someresource#viewer@user:user-2601 + resource:someresource#viewer@user:user-2602 + resource:someresource#viewer@user:user-2603 + resource:someresource#viewer@user:user-2604 + resource:someresource#viewer@user:user-2605 + resource:someresource#viewer@user:user-2606 + resource:someresource#viewer@user:user-2607 + resource:someresource#viewer@user:user-2608 + resource:someresource#viewer@user:user-2609 + resource:someresource#viewer@user:user-2610 + resource:someresource#viewer@user:user-2611 + resource:someresource#viewer@user:user-2612 + resource:someresource#viewer@user:user-2613 + resource:someresource#viewer@user:user-2614 + resource:someresource#viewer@user:user-2615 + resource:someresource#viewer@user:user-2616 + resource:someresource#viewer@user:user-2617 + resource:someresource#viewer@user:user-2618 + resource:someresource#viewer@user:user-2619 + resource:someresource#viewer@user:user-2620 + resource:someresource#viewer@user:user-2621 + resource:someresource#viewer@user:user-2622 + resource:someresource#viewer@user:user-2623 + resource:someresource#viewer@user:user-2624 + resource:someresource#viewer@user:user-2625 + resource:someresource#viewer@user:user-2626 + resource:someresource#viewer@user:user-2627 + resource:someresource#viewer@user:user-2628 + resource:someresource#viewer@user:user-2629 + resource:someresource#viewer@user:user-2630 + resource:someresource#viewer@user:user-2631 + resource:someresource#viewer@user:user-2632 + resource:someresource#viewer@user:user-2633 + resource:someresource#viewer@user:user-2634 + resource:someresource#viewer@user:user-2635 + resource:someresource#viewer@user:user-2636 + resource:someresource#viewer@user:user-2637 + resource:someresource#viewer@user:user-2638 + resource:someresource#viewer@user:user-2639 + resource:someresource#viewer@user:user-2640 + resource:someresource#viewer@user:user-2641 + resource:someresource#viewer@user:user-2642 + resource:someresource#viewer@user:user-2643 + resource:someresource#viewer@user:user-2644 + resource:someresource#viewer@user:user-2645 + resource:someresource#viewer@user:user-2646 + resource:someresource#viewer@user:user-2647 + resource:someresource#viewer@user:user-2648 + resource:someresource#viewer@user:user-2649 + resource:someresource#viewer@user:user-2650 + resource:someresource#viewer@user:user-2651 + resource:someresource#viewer@user:user-2652 + resource:someresource#viewer@user:user-2653 + resource:someresource#viewer@user:user-2654 + resource:someresource#viewer@user:user-2655 + resource:someresource#viewer@user:user-2656 + resource:someresource#viewer@user:user-2657 + resource:someresource#viewer@user:user-2658 + resource:someresource#viewer@user:user-2659 + resource:someresource#viewer@user:user-2660 + resource:someresource#viewer@user:user-2661 + resource:someresource#viewer@user:user-2662 + resource:someresource#viewer@user:user-2663 + resource:someresource#viewer@user:user-2664 + resource:someresource#viewer@user:user-2665 + resource:someresource#viewer@user:user-2666 + resource:someresource#viewer@user:user-2667 + resource:someresource#viewer@user:user-2668 + resource:someresource#viewer@user:user-2669 + resource:someresource#viewer@user:user-2670 + resource:someresource#viewer@user:user-2671 + resource:someresource#viewer@user:user-2672 + resource:someresource#viewer@user:user-2673 + resource:someresource#viewer@user:user-2674 + resource:someresource#viewer@user:user-2675 + resource:someresource#viewer@user:user-2676 + resource:someresource#viewer@user:user-2677 + resource:someresource#viewer@user:user-2678 + resource:someresource#viewer@user:user-2679 + resource:someresource#viewer@user:user-2680 + resource:someresource#viewer@user:user-2681 + resource:someresource#viewer@user:user-2682 + resource:someresource#viewer@user:user-2683 + resource:someresource#viewer@user:user-2684 + resource:someresource#viewer@user:user-2685 + resource:someresource#viewer@user:user-2686 + resource:someresource#viewer@user:user-2687 + resource:someresource#viewer@user:user-2688 + resource:someresource#viewer@user:user-2689 + resource:someresource#viewer@user:user-2690 + resource:someresource#viewer@user:user-2691 + resource:someresource#viewer@user:user-2692 + resource:someresource#viewer@user:user-2693 + resource:someresource#viewer@user:user-2694 + resource:someresource#viewer@user:user-2695 + resource:someresource#viewer@user:user-2696 + resource:someresource#viewer@user:user-2697 + resource:someresource#viewer@user:user-2698 + resource:someresource#viewer@user:user-2699 + resource:someresource#viewer@user:user-2700 + resource:someresource#viewer@user:user-2701 + resource:someresource#viewer@user:user-2702 + resource:someresource#viewer@user:user-2703 + resource:someresource#viewer@user:user-2704 + resource:someresource#viewer@user:user-2705 + resource:someresource#viewer@user:user-2706 + resource:someresource#viewer@user:user-2707 + resource:someresource#viewer@user:user-2708 + resource:someresource#viewer@user:user-2709 + resource:someresource#viewer@user:user-2710 + resource:someresource#viewer@user:user-2711 + resource:someresource#viewer@user:user-2712 + resource:someresource#viewer@user:user-2713 + resource:someresource#viewer@user:user-2714 + resource:someresource#viewer@user:user-2715 + resource:someresource#viewer@user:user-2716 + resource:someresource#viewer@user:user-2717 + resource:someresource#viewer@user:user-2718 + resource:someresource#viewer@user:user-2719 + resource:someresource#viewer@user:user-2720 + resource:someresource#viewer@user:user-2721 + resource:someresource#viewer@user:user-2722 + resource:someresource#viewer@user:user-2723 + resource:someresource#viewer@user:user-2724 + resource:someresource#viewer@user:user-2725 + resource:someresource#viewer@user:user-2726 + resource:someresource#viewer@user:user-2727 + resource:someresource#viewer@user:user-2728 + resource:someresource#viewer@user:user-2729 + resource:someresource#viewer@user:user-2730 + resource:someresource#viewer@user:user-2731 + resource:someresource#viewer@user:user-2732 + resource:someresource#viewer@user:user-2733 + resource:someresource#viewer@user:user-2734 + resource:someresource#viewer@user:user-2735 + resource:someresource#viewer@user:user-2736 + resource:someresource#viewer@user:user-2737 + resource:someresource#viewer@user:user-2738 + resource:someresource#viewer@user:user-2739 + resource:someresource#viewer@user:user-2740 + resource:someresource#viewer@user:user-2741 + resource:someresource#viewer@user:user-2742 + resource:someresource#viewer@user:user-2743 + resource:someresource#viewer@user:user-2744 + resource:someresource#viewer@user:user-2745 + resource:someresource#viewer@user:user-2746 + resource:someresource#viewer@user:user-2747 + resource:someresource#viewer@user:user-2748 + resource:someresource#viewer@user:user-2749 + resource:someresource#viewer@user:user-2750 + resource:someresource#viewer@user:user-2751 + resource:someresource#viewer@user:user-2752 + resource:someresource#viewer@user:user-2753 + resource:someresource#viewer@user:user-2754 + resource:someresource#viewer@user:user-2755 + resource:someresource#viewer@user:user-2756 + resource:someresource#viewer@user:user-2757 + resource:someresource#viewer@user:user-2758 + resource:someresource#viewer@user:user-2759 + resource:someresource#viewer@user:user-2760 + resource:someresource#viewer@user:user-2761 + resource:someresource#viewer@user:user-2762 + resource:someresource#viewer@user:user-2763 + resource:someresource#viewer@user:user-2764 + resource:someresource#viewer@user:user-2765 + resource:someresource#viewer@user:user-2766 + resource:someresource#viewer@user:user-2767 + resource:someresource#viewer@user:user-2768 + resource:someresource#viewer@user:user-2769 + resource:someresource#viewer@user:user-2770 + resource:someresource#viewer@user:user-2771 + resource:someresource#viewer@user:user-2772 + resource:someresource#viewer@user:user-2773 + resource:someresource#viewer@user:user-2774 + resource:someresource#viewer@user:user-2775 + resource:someresource#viewer@user:user-2776 + resource:someresource#viewer@user:user-2777 + resource:someresource#viewer@user:user-2778 + resource:someresource#viewer@user:user-2779 + resource:someresource#viewer@user:user-2780 + resource:someresource#viewer@user:user-2781 + resource:someresource#viewer@user:user-2782 + resource:someresource#viewer@user:user-2783 + resource:someresource#viewer@user:user-2784 + resource:someresource#viewer@user:user-2785 + resource:someresource#viewer@user:user-2786 + resource:someresource#viewer@user:user-2787 + resource:someresource#viewer@user:user-2788 + resource:someresource#viewer@user:user-2789 + resource:someresource#viewer@user:user-2790 + resource:someresource#viewer@user:user-2791 + resource:someresource#viewer@user:user-2792 + resource:someresource#viewer@user:user-2793 + resource:someresource#viewer@user:user-2794 + resource:someresource#viewer@user:user-2795 + resource:someresource#viewer@user:user-2796 + resource:someresource#viewer@user:user-2797 + resource:someresource#viewer@user:user-2798 + resource:someresource#viewer@user:user-2799 + resource:someresource#viewer@user:user-2800 + resource:someresource#viewer@user:user-2801 + resource:someresource#viewer@user:user-2802 + resource:someresource#viewer@user:user-2803 + resource:someresource#viewer@user:user-2804 + resource:someresource#viewer@user:user-2805 + resource:someresource#viewer@user:user-2806 + resource:someresource#viewer@user:user-2807 + resource:someresource#viewer@user:user-2808 + resource:someresource#viewer@user:user-2809 + resource:someresource#viewer@user:user-2810 + resource:someresource#viewer@user:user-2811 + resource:someresource#viewer@user:user-2812 + resource:someresource#viewer@user:user-2813 + resource:someresource#viewer@user:user-2814 + resource:someresource#viewer@user:user-2815 + resource:someresource#viewer@user:user-2816 + resource:someresource#viewer@user:user-2817 + resource:someresource#viewer@user:user-2818 + resource:someresource#viewer@user:user-2819 + resource:someresource#viewer@user:user-2820 + resource:someresource#viewer@user:user-2821 + resource:someresource#viewer@user:user-2822 + resource:someresource#viewer@user:user-2823 + resource:someresource#viewer@user:user-2824 + resource:someresource#viewer@user:user-2825 + resource:someresource#viewer@user:user-2826 + resource:someresource#viewer@user:user-2827 + resource:someresource#viewer@user:user-2828 + resource:someresource#viewer@user:user-2829 + resource:someresource#viewer@user:user-2830 + resource:someresource#viewer@user:user-2831 + resource:someresource#viewer@user:user-2832 + resource:someresource#viewer@user:user-2833 + resource:someresource#viewer@user:user-2834 + resource:someresource#viewer@user:user-2835 + resource:someresource#viewer@user:user-2836 + resource:someresource#viewer@user:user-2837 + resource:someresource#viewer@user:user-2838 + resource:someresource#viewer@user:user-2839 + resource:someresource#viewer@user:user-2840 + resource:someresource#viewer@user:user-2841 + resource:someresource#viewer@user:user-2842 + resource:someresource#viewer@user:user-2843 + resource:someresource#viewer@user:user-2844 + resource:someresource#viewer@user:user-2845 + resource:someresource#viewer@user:user-2846 + resource:someresource#viewer@user:user-2847 + resource:someresource#viewer@user:user-2848 + resource:someresource#viewer@user:user-2849 + resource:someresource#viewer@user:user-2850 + resource:someresource#viewer@user:user-2851 + resource:someresource#viewer@user:user-2852 + resource:someresource#viewer@user:user-2853 + resource:someresource#viewer@user:user-2854 + resource:someresource#viewer@user:user-2855 + resource:someresource#viewer@user:user-2856 + resource:someresource#viewer@user:user-2857 + resource:someresource#viewer@user:user-2858 + resource:someresource#viewer@user:user-2859 + resource:someresource#viewer@user:user-2860 + resource:someresource#viewer@user:user-2861 + resource:someresource#viewer@user:user-2862 + resource:someresource#viewer@user:user-2863 + resource:someresource#viewer@user:user-2864 + resource:someresource#viewer@user:user-2865 + resource:someresource#viewer@user:user-2866 + resource:someresource#viewer@user:user-2867 + resource:someresource#viewer@user:user-2868 + resource:someresource#viewer@user:user-2869 + resource:someresource#viewer@user:user-2870 + resource:someresource#viewer@user:user-2871 + resource:someresource#viewer@user:user-2872 + resource:someresource#viewer@user:user-2873 + resource:someresource#viewer@user:user-2874 + resource:someresource#viewer@user:user-2875 + resource:someresource#viewer@user:user-2876 + resource:someresource#viewer@user:user-2877 + resource:someresource#viewer@user:user-2878 + resource:someresource#viewer@user:user-2879 + resource:someresource#viewer@user:user-2880 + resource:someresource#viewer@user:user-2881 + resource:someresource#viewer@user:user-2882 + resource:someresource#viewer@user:user-2883 + resource:someresource#viewer@user:user-2884 + resource:someresource#viewer@user:user-2885 + resource:someresource#viewer@user:user-2886 + resource:someresource#viewer@user:user-2887 + resource:someresource#viewer@user:user-2888 + resource:someresource#viewer@user:user-2889 + resource:someresource#viewer@user:user-2890 + resource:someresource#viewer@user:user-2891 + resource:someresource#viewer@user:user-2892 + resource:someresource#viewer@user:user-2893 + resource:someresource#viewer@user:user-2894 + resource:someresource#viewer@user:user-2895 + resource:someresource#viewer@user:user-2896 + resource:someresource#viewer@user:user-2897 + resource:someresource#viewer@user:user-2898 + resource:someresource#viewer@user:user-2899 + resource:someresource#viewer@user:user-2900 + resource:someresource#viewer@user:user-2901 + resource:someresource#viewer@user:user-2902 + resource:someresource#viewer@user:user-2903 + resource:someresource#viewer@user:user-2904 + resource:someresource#viewer@user:user-2905 + resource:someresource#viewer@user:user-2906 + resource:someresource#viewer@user:user-2907 + resource:someresource#viewer@user:user-2908 + resource:someresource#viewer@user:user-2909 + resource:someresource#viewer@user:user-2910 + resource:someresource#viewer@user:user-2911 + resource:someresource#viewer@user:user-2912 + resource:someresource#viewer@user:user-2913 + resource:someresource#viewer@user:user-2914 + resource:someresource#viewer@user:user-2915 + resource:someresource#viewer@user:user-2916 + resource:someresource#viewer@user:user-2917 + resource:someresource#viewer@user:user-2918 + resource:someresource#viewer@user:user-2919 + resource:someresource#viewer@user:user-2920 + resource:someresource#viewer@user:user-2921 + resource:someresource#viewer@user:user-2922 + resource:someresource#viewer@user:user-2923 + resource:someresource#viewer@user:user-2924 + resource:someresource#viewer@user:user-2925 + resource:someresource#viewer@user:user-2926 + resource:someresource#viewer@user:user-2927 + resource:someresource#viewer@user:user-2928 + resource:someresource#viewer@user:user-2929 + resource:someresource#viewer@user:user-2930 + resource:someresource#viewer@user:user-2931 + resource:someresource#viewer@user:user-2932 + resource:someresource#viewer@user:user-2933 + resource:someresource#viewer@user:user-2934 + resource:someresource#viewer@user:user-2935 + resource:someresource#viewer@user:user-2936 + resource:someresource#viewer@user:user-2937 + resource:someresource#viewer@user:user-2938 + resource:someresource#viewer@user:user-2939 + resource:someresource#viewer@user:user-2940 + resource:someresource#viewer@user:user-2941 + resource:someresource#viewer@user:user-2942 + resource:someresource#viewer@user:user-2943 + resource:someresource#viewer@user:user-2944 + resource:someresource#viewer@user:user-2945 + resource:someresource#viewer@user:user-2946 + resource:someresource#viewer@user:user-2947 + resource:someresource#viewer@user:user-2948 + resource:someresource#viewer@user:user-2949 + resource:someresource#viewer@user:user-2950 + resource:someresource#viewer@user:user-2951 + resource:someresource#viewer@user:user-2952 + resource:someresource#viewer@user:user-2953 + resource:someresource#viewer@user:user-2954 + resource:someresource#viewer@user:user-2955 + resource:someresource#viewer@user:user-2956 + resource:someresource#viewer@user:user-2957 + resource:someresource#viewer@user:user-2958 + resource:someresource#viewer@user:user-2959 + resource:someresource#viewer@user:user-2960 + resource:someresource#viewer@user:user-2961 + resource:someresource#viewer@user:user-2962 + resource:someresource#viewer@user:user-2963 + resource:someresource#viewer@user:user-2964 + resource:someresource#viewer@user:user-2965 + resource:someresource#viewer@user:user-2966 + resource:someresource#viewer@user:user-2967 + resource:someresource#viewer@user:user-2968 + resource:someresource#viewer@user:user-2969 + resource:someresource#viewer@user:user-2970 + resource:someresource#viewer@user:user-2971 + resource:someresource#viewer@user:user-2972 + resource:someresource#viewer@user:user-2973 + resource:someresource#viewer@user:user-2974 + resource:someresource#viewer@user:user-2975 + resource:someresource#viewer@user:user-2976 + resource:someresource#viewer@user:user-2977 + resource:someresource#viewer@user:user-2978 + resource:someresource#viewer@user:user-2979 + resource:someresource#viewer@user:user-2980 + resource:someresource#viewer@user:user-2981 + resource:someresource#viewer@user:user-2982 + resource:someresource#viewer@user:user-2983 + resource:someresource#viewer@user:user-2984 + resource:someresource#viewer@user:user-2985 + resource:someresource#viewer@user:user-2986 + resource:someresource#viewer@user:user-2987 + resource:someresource#viewer@user:user-2988 + resource:someresource#viewer@user:user-2989 + resource:someresource#viewer@user:user-2990 + resource:someresource#viewer@user:user-2991 + resource:someresource#viewer@user:user-2992 + resource:someresource#viewer@user:user-2993 + resource:someresource#viewer@user:user-2994 + resource:someresource#viewer@user:user-2995 + resource:someresource#viewer@user:user-2996 + resource:someresource#viewer@user:user-2997 + resource:someresource#viewer@user:user-2998 + resource:someresource#viewer@user:user-2999 + resource:someresource#viewer@user:user-3000 + resource:someresource#viewer@user:user-3001 + resource:someresource#viewer@user:user-3002 + resource:someresource#viewer@user:user-3003 + resource:someresource#viewer@user:user-3004 + resource:someresource#viewer@user:user-3005 + resource:someresource#viewer@user:user-3006 + resource:someresource#viewer@user:user-3007 + resource:someresource#viewer@user:user-3008 + resource:someresource#viewer@user:user-3009 + resource:someresource#viewer@user:user-3010 + resource:someresource#viewer@user:user-3011 + resource:someresource#viewer@user:user-3012 + resource:someresource#viewer@user:user-3013 + resource:someresource#viewer@user:user-3014 + resource:someresource#viewer@user:user-3015 + resource:someresource#viewer@user:user-3016 + resource:someresource#viewer@user:user-3017 + resource:someresource#viewer@user:user-3018 + resource:someresource#viewer@user:user-3019 + resource:someresource#viewer@user:user-3020 + resource:someresource#viewer@user:user-3021 + resource:someresource#viewer@user:user-3022 + resource:someresource#viewer@user:user-3023 + resource:someresource#viewer@user:user-3024 + resource:someresource#viewer@user:user-3025 + resource:someresource#viewer@user:user-3026 + resource:someresource#viewer@user:user-3027 + resource:someresource#viewer@user:user-3028 + resource:someresource#viewer@user:user-3029 + resource:someresource#viewer@user:user-3030 + resource:someresource#viewer@user:user-3031 + resource:someresource#viewer@user:user-3032 + resource:someresource#viewer@user:user-3033 + resource:someresource#viewer@user:user-3034 + resource:someresource#viewer@user:user-3035 + resource:someresource#viewer@user:user-3036 + resource:someresource#viewer@user:user-3037 + resource:someresource#viewer@user:user-3038 + resource:someresource#viewer@user:user-3039 + resource:someresource#viewer@user:user-3040 + resource:someresource#viewer@user:user-3041 + resource:someresource#viewer@user:user-3042 + resource:someresource#viewer@user:user-3043 + resource:someresource#viewer@user:user-3044 + resource:someresource#viewer@user:user-3045 + resource:someresource#viewer@user:user-3046 + resource:someresource#viewer@user:user-3047 + resource:someresource#viewer@user:user-3048 + resource:someresource#viewer@user:user-3049 + resource:someresource#viewer@user:user-3050 + resource:someresource#viewer@user:user-3051 + resource:someresource#viewer@user:user-3052 + resource:someresource#viewer@user:user-3053 + resource:someresource#viewer@user:user-3054 + resource:someresource#viewer@user:user-3055 + resource:someresource#viewer@user:user-3056 + resource:someresource#viewer@user:user-3057 + resource:someresource#viewer@user:user-3058 + resource:someresource#viewer@user:user-3059 + resource:someresource#viewer@user:user-3060 + resource:someresource#viewer@user:user-3061 + resource:someresource#viewer@user:user-3062 + resource:someresource#viewer@user:user-3063 + resource:someresource#viewer@user:user-3064 + resource:someresource#viewer@user:user-3065 + resource:someresource#viewer@user:user-3066 + resource:someresource#viewer@user:user-3067 + resource:someresource#viewer@user:user-3068 + resource:someresource#viewer@user:user-3069 + resource:someresource#viewer@user:user-3070 + resource:someresource#viewer@user:user-3071 + resource:someresource#viewer@user:user-3072 + resource:someresource#viewer@user:user-3073 + resource:someresource#viewer@user:user-3074 + resource:someresource#viewer@user:user-3075 + resource:someresource#viewer@user:user-3076 + resource:someresource#viewer@user:user-3077 + resource:someresource#viewer@user:user-3078 + resource:someresource#viewer@user:user-3079 + resource:someresource#viewer@user:user-3080 + resource:someresource#viewer@user:user-3081 + resource:someresource#viewer@user:user-3082 + resource:someresource#viewer@user:user-3083 + resource:someresource#viewer@user:user-3084 + resource:someresource#viewer@user:user-3085 + resource:someresource#viewer@user:user-3086 + resource:someresource#viewer@user:user-3087 + resource:someresource#viewer@user:user-3088 + resource:someresource#viewer@user:user-3089 + resource:someresource#viewer@user:user-3090 + resource:someresource#viewer@user:user-3091 + resource:someresource#viewer@user:user-3092 + resource:someresource#viewer@user:user-3093 + resource:someresource#viewer@user:user-3094 + resource:someresource#viewer@user:user-3095 + resource:someresource#viewer@user:user-3096 + resource:someresource#viewer@user:user-3097 + resource:someresource#viewer@user:user-3098 + resource:someresource#viewer@user:user-3099 + resource:someresource#viewer@user:user-3100 + resource:someresource#viewer@user:user-3101 + resource:someresource#viewer@user:user-3102 + resource:someresource#viewer@user:user-3103 + resource:someresource#viewer@user:user-3104 + resource:someresource#viewer@user:user-3105 + resource:someresource#viewer@user:user-3106 + resource:someresource#viewer@user:user-3107 + resource:someresource#viewer@user:user-3108 + resource:someresource#viewer@user:user-3109 + resource:someresource#viewer@user:user-3110 + resource:someresource#viewer@user:user-3111 + resource:someresource#viewer@user:user-3112 + resource:someresource#viewer@user:user-3113 + resource:someresource#viewer@user:user-3114 + resource:someresource#viewer@user:user-3115 + resource:someresource#viewer@user:user-3116 + resource:someresource#viewer@user:user-3117 + resource:someresource#viewer@user:user-3118 + resource:someresource#viewer@user:user-3119 + resource:someresource#viewer@user:user-3120 + resource:someresource#viewer@user:user-3121 + resource:someresource#viewer@user:user-3122 + resource:someresource#viewer@user:user-3123 + resource:someresource#viewer@user:user-3124 + resource:someresource#viewer@user:user-3125 + resource:someresource#viewer@user:user-3126 + resource:someresource#viewer@user:user-3127 + resource:someresource#viewer@user:user-3128 + resource:someresource#viewer@user:user-3129 + resource:someresource#viewer@user:user-3130 + resource:someresource#viewer@user:user-3131 + resource:someresource#viewer@user:user-3132 + resource:someresource#viewer@user:user-3133 + resource:someresource#viewer@user:user-3134 + resource:someresource#viewer@user:user-3135 + resource:someresource#viewer@user:user-3136 + resource:someresource#viewer@user:user-3137 + resource:someresource#viewer@user:user-3138 + resource:someresource#viewer@user:user-3139 + resource:someresource#viewer@user:user-3140 + resource:someresource#viewer@user:user-3141 + resource:someresource#viewer@user:user-3142 + resource:someresource#viewer@user:user-3143 + resource:someresource#viewer@user:user-3144 + resource:someresource#viewer@user:user-3145 + resource:someresource#viewer@user:user-3146 + resource:someresource#viewer@user:user-3147 + resource:someresource#viewer@user:user-3148 + resource:someresource#viewer@user:user-3149 + resource:someresource#viewer@user:user-3150 + resource:someresource#viewer@user:user-3151 + resource:someresource#viewer@user:user-3152 + resource:someresource#viewer@user:user-3153 + resource:someresource#viewer@user:user-3154 + resource:someresource#viewer@user:user-3155 + resource:someresource#viewer@user:user-3156 + resource:someresource#viewer@user:user-3157 + resource:someresource#viewer@user:user-3158 + resource:someresource#viewer@user:user-3159 + resource:someresource#viewer@user:user-3160 + resource:someresource#viewer@user:user-3161 + resource:someresource#viewer@user:user-3162 + resource:someresource#viewer@user:user-3163 + resource:someresource#viewer@user:user-3164 + resource:someresource#viewer@user:user-3165 + resource:someresource#viewer@user:user-3166 + resource:someresource#viewer@user:user-3167 + resource:someresource#viewer@user:user-3168 + resource:someresource#viewer@user:user-3169 + resource:someresource#viewer@user:user-3170 + resource:someresource#viewer@user:user-3171 + resource:someresource#viewer@user:user-3172 + resource:someresource#viewer@user:user-3173 + resource:someresource#viewer@user:user-3174 + resource:someresource#viewer@user:user-3175 + resource:someresource#viewer@user:user-3176 + resource:someresource#viewer@user:user-3177 + resource:someresource#viewer@user:user-3178 + resource:someresource#viewer@user:user-3179 + resource:someresource#viewer@user:user-3180 + resource:someresource#viewer@user:user-3181 + resource:someresource#viewer@user:user-3182 + resource:someresource#viewer@user:user-3183 + resource:someresource#viewer@user:user-3184 + resource:someresource#viewer@user:user-3185 + resource:someresource#viewer@user:user-3186 + resource:someresource#viewer@user:user-3187 + resource:someresource#viewer@user:user-3188 + resource:someresource#viewer@user:user-3189 + resource:someresource#viewer@user:user-3190 + resource:someresource#viewer@user:user-3191 + resource:someresource#viewer@user:user-3192 + resource:someresource#viewer@user:user-3193 + resource:someresource#viewer@user:user-3194 + resource:someresource#viewer@user:user-3195 + resource:someresource#viewer@user:user-3196 + resource:someresource#viewer@user:user-3197 + resource:someresource#viewer@user:user-3198 + resource:someresource#viewer@user:user-3199 + resource:someresource#viewer@user:user-3200 + resource:someresource#viewer@user:user-3201 + resource:someresource#viewer@user:user-3202 + resource:someresource#viewer@user:user-3203 + resource:someresource#viewer@user:user-3204 + resource:someresource#viewer@user:user-3205 + resource:someresource#viewer@user:user-3206 + resource:someresource#viewer@user:user-3207 + resource:someresource#viewer@user:user-3208 + resource:someresource#viewer@user:user-3209 + resource:someresource#viewer@user:user-3210 + resource:someresource#viewer@user:user-3211 + resource:someresource#viewer@user:user-3212 + resource:someresource#viewer@user:user-3213 + resource:someresource#viewer@user:user-3214 + resource:someresource#viewer@user:user-3215 + resource:someresource#viewer@user:user-3216 + resource:someresource#viewer@user:user-3217 + resource:someresource#viewer@user:user-3218 + resource:someresource#viewer@user:user-3219 + resource:someresource#viewer@user:user-3220 + resource:someresource#viewer@user:user-3221 + resource:someresource#viewer@user:user-3222 + resource:someresource#viewer@user:user-3223 + resource:someresource#viewer@user:user-3224 + resource:someresource#viewer@user:user-3225 + resource:someresource#viewer@user:user-3226 + resource:someresource#viewer@user:user-3227 + resource:someresource#viewer@user:user-3228 + resource:someresource#viewer@user:user-3229 + resource:someresource#viewer@user:user-3230 + resource:someresource#viewer@user:user-3231 + resource:someresource#viewer@user:user-3232 + resource:someresource#viewer@user:user-3233 + resource:someresource#viewer@user:user-3234 + resource:someresource#viewer@user:user-3235 + resource:someresource#viewer@user:user-3236 + resource:someresource#viewer@user:user-3237 + resource:someresource#viewer@user:user-3238 + resource:someresource#viewer@user:user-3239 + resource:someresource#viewer@user:user-3240 + resource:someresource#viewer@user:user-3241 + resource:someresource#viewer@user:user-3242 + resource:someresource#viewer@user:user-3243 + resource:someresource#viewer@user:user-3244 + resource:someresource#viewer@user:user-3245 + resource:someresource#viewer@user:user-3246 + resource:someresource#viewer@user:user-3247 + resource:someresource#viewer@user:user-3248 + resource:someresource#viewer@user:user-3249 + resource:someresource#viewer@user:user-3250 + resource:someresource#viewer@user:user-3251 + resource:someresource#viewer@user:user-3252 + resource:someresource#viewer@user:user-3253 + resource:someresource#viewer@user:user-3254 + resource:someresource#viewer@user:user-3255 + resource:someresource#viewer@user:user-3256 + resource:someresource#viewer@user:user-3257 + resource:someresource#viewer@user:user-3258 + resource:someresource#viewer@user:user-3259 + resource:someresource#viewer@user:user-3260 + resource:someresource#viewer@user:user-3261 + resource:someresource#viewer@user:user-3262 + resource:someresource#viewer@user:user-3263 + resource:someresource#viewer@user:user-3264 + resource:someresource#viewer@user:user-3265 + resource:someresource#viewer@user:user-3266 + resource:someresource#viewer@user:user-3267 + resource:someresource#viewer@user:user-3268 + resource:someresource#viewer@user:user-3269 + resource:someresource#viewer@user:user-3270 + resource:someresource#viewer@user:user-3271 + resource:someresource#viewer@user:user-3272 + resource:someresource#viewer@user:user-3273 + resource:someresource#viewer@user:user-3274 + resource:someresource#viewer@user:user-3275 + resource:someresource#viewer@user:user-3276 + resource:someresource#viewer@user:user-3277 + resource:someresource#viewer@user:user-3278 + resource:someresource#viewer@user:user-3279 + resource:someresource#viewer@user:user-3280 + resource:someresource#viewer@user:user-3281 + resource:someresource#viewer@user:user-3282 + resource:someresource#viewer@user:user-3283 + resource:someresource#viewer@user:user-3284 + resource:someresource#viewer@user:user-3285 + resource:someresource#viewer@user:user-3286 + resource:someresource#viewer@user:user-3287 + resource:someresource#viewer@user:user-3288 + resource:someresource#viewer@user:user-3289 + resource:someresource#viewer@user:user-3290 + resource:someresource#viewer@user:user-3291 + resource:someresource#viewer@user:user-3292 + resource:someresource#viewer@user:user-3293 + resource:someresource#viewer@user:user-3294 + resource:someresource#viewer@user:user-3295 + resource:someresource#viewer@user:user-3296 + resource:someresource#viewer@user:user-3297 + resource:someresource#viewer@user:user-3298 + resource:someresource#viewer@user:user-3299 + resource:someresource#viewer@user:user-3300 + resource:someresource#viewer@user:user-3301 + resource:someresource#viewer@user:user-3302 + resource:someresource#viewer@user:user-3303 + resource:someresource#viewer@user:user-3304 + resource:someresource#viewer@user:user-3305 + resource:someresource#viewer@user:user-3306 + resource:someresource#viewer@user:user-3307 + resource:someresource#viewer@user:user-3308 + resource:someresource#viewer@user:user-3309 + resource:someresource#viewer@user:user-3310 + resource:someresource#viewer@user:user-3311 + resource:someresource#viewer@user:user-3312 + resource:someresource#viewer@user:user-3313 + resource:someresource#viewer@user:user-3314 + resource:someresource#viewer@user:user-3315 + resource:someresource#viewer@user:user-3316 + resource:someresource#viewer@user:user-3317 + resource:someresource#viewer@user:user-3318 + resource:someresource#viewer@user:user-3319 + resource:someresource#viewer@user:user-3320 + resource:someresource#viewer@user:user-3321 + resource:someresource#viewer@user:user-3322 + resource:someresource#viewer@user:user-3323 + resource:someresource#viewer@user:user-3324 + resource:someresource#viewer@user:user-3325 + resource:someresource#viewer@user:user-3326 + resource:someresource#viewer@user:user-3327 + resource:someresource#viewer@user:user-3328 + resource:someresource#viewer@user:user-3329 + resource:someresource#viewer@user:user-3330 + resource:someresource#viewer@user:user-3331 + resource:someresource#viewer@user:user-3332 + resource:someresource#viewer@user:user-3333 + resource:someresource#viewer@user:user-3334 + resource:someresource#viewer@user:user-3335 + resource:someresource#viewer@user:user-3336 + resource:someresource#viewer@user:user-3337 + resource:someresource#viewer@user:user-3338 + resource:someresource#viewer@user:user-3339 + resource:someresource#viewer@user:user-3340 + resource:someresource#viewer@user:user-3341 + resource:someresource#viewer@user:user-3342 + resource:someresource#viewer@user:user-3343 + resource:someresource#viewer@user:user-3344 + resource:someresource#viewer@user:user-3345 + resource:someresource#viewer@user:user-3346 + resource:someresource#viewer@user:user-3347 + resource:someresource#viewer@user:user-3348 + resource:someresource#viewer@user:user-3349 + resource:someresource#viewer@user:user-3350 + resource:someresource#viewer@user:user-3351 + resource:someresource#viewer@user:user-3352 + resource:someresource#viewer@user:user-3353 + resource:someresource#viewer@user:user-3354 + resource:someresource#viewer@user:user-3355 + resource:someresource#viewer@user:user-3356 + resource:someresource#viewer@user:user-3357 + resource:someresource#viewer@user:user-3358 + resource:someresource#viewer@user:user-3359 + resource:someresource#viewer@user:user-3360 + resource:someresource#viewer@user:user-3361 + resource:someresource#viewer@user:user-3362 + resource:someresource#viewer@user:user-3363 + resource:someresource#viewer@user:user-3364 + resource:someresource#viewer@user:user-3365 + resource:someresource#viewer@user:user-3366 + resource:someresource#viewer@user:user-3367 + resource:someresource#viewer@user:user-3368 + resource:someresource#viewer@user:user-3369 + resource:someresource#viewer@user:user-3370 + resource:someresource#viewer@user:user-3371 + resource:someresource#viewer@user:user-3372 + resource:someresource#viewer@user:user-3373 + resource:someresource#viewer@user:user-3374 + resource:someresource#viewer@user:user-3375 + resource:someresource#viewer@user:user-3376 + resource:someresource#viewer@user:user-3377 + resource:someresource#viewer@user:user-3378 + resource:someresource#viewer@user:user-3379 + resource:someresource#viewer@user:user-3380 + resource:someresource#viewer@user:user-3381 + resource:someresource#viewer@user:user-3382 + resource:someresource#viewer@user:user-3383 + resource:someresource#viewer@user:user-3384 + resource:someresource#viewer@user:user-3385 + resource:someresource#viewer@user:user-3386 + resource:someresource#viewer@user:user-3387 + resource:someresource#viewer@user:user-3388 + resource:someresource#viewer@user:user-3389 + resource:someresource#viewer@user:user-3390 + resource:someresource#viewer@user:user-3391 + resource:someresource#viewer@user:user-3392 + resource:someresource#viewer@user:user-3393 + resource:someresource#viewer@user:user-3394 + resource:someresource#viewer@user:user-3395 + resource:someresource#viewer@user:user-3396 + resource:someresource#viewer@user:user-3397 + resource:someresource#viewer@user:user-3398 + resource:someresource#viewer@user:user-3399 + resource:someresource#viewer@user:user-3400 + resource:someresource#viewer@user:user-3401 + resource:someresource#viewer@user:user-3402 + resource:someresource#viewer@user:user-3403 + resource:someresource#viewer@user:user-3404 + resource:someresource#viewer@user:user-3405 + resource:someresource#viewer@user:user-3406 + resource:someresource#viewer@user:user-3407 + resource:someresource#viewer@user:user-3408 + resource:someresource#viewer@user:user-3409 + resource:someresource#viewer@user:user-3410 + resource:someresource#viewer@user:user-3411 + resource:someresource#viewer@user:user-3412 + resource:someresource#viewer@user:user-3413 + resource:someresource#viewer@user:user-3414 + resource:someresource#viewer@user:user-3415 + resource:someresource#viewer@user:user-3416 + resource:someresource#viewer@user:user-3417 + resource:someresource#viewer@user:user-3418 + resource:someresource#viewer@user:user-3419 + resource:someresource#viewer@user:user-3420 + resource:someresource#viewer@user:user-3421 + resource:someresource#viewer@user:user-3422 + resource:someresource#viewer@user:user-3423 + resource:someresource#viewer@user:user-3424 + resource:someresource#viewer@user:user-3425 + resource:someresource#viewer@user:user-3426 + resource:someresource#viewer@user:user-3427 + resource:someresource#viewer@user:user-3428 + resource:someresource#viewer@user:user-3429 + resource:someresource#viewer@user:user-3430 + resource:someresource#viewer@user:user-3431 + resource:someresource#viewer@user:user-3432 + resource:someresource#viewer@user:user-3433 + resource:someresource#viewer@user:user-3434 + resource:someresource#viewer@user:user-3435 + resource:someresource#viewer@user:user-3436 + resource:someresource#viewer@user:user-3437 + resource:someresource#viewer@user:user-3438 + resource:someresource#viewer@user:user-3439 + resource:someresource#viewer@user:user-3440 + resource:someresource#viewer@user:user-3441 + resource:someresource#viewer@user:user-3442 + resource:someresource#viewer@user:user-3443 + resource:someresource#viewer@user:user-3444 + resource:someresource#viewer@user:user-3445 + resource:someresource#viewer@user:user-3446 + resource:someresource#viewer@user:user-3447 + resource:someresource#viewer@user:user-3448 + resource:someresource#viewer@user:user-3449 + resource:someresource#viewer@user:user-3450 + resource:someresource#viewer@user:user-3451 + resource:someresource#viewer@user:user-3452 + resource:someresource#viewer@user:user-3453 + resource:someresource#viewer@user:user-3454 + resource:someresource#viewer@user:user-3455 + resource:someresource#viewer@user:user-3456 + resource:someresource#viewer@user:user-3457 + resource:someresource#viewer@user:user-3458 + resource:someresource#viewer@user:user-3459 + resource:someresource#viewer@user:user-3460 + resource:someresource#viewer@user:user-3461 + resource:someresource#viewer@user:user-3462 + resource:someresource#viewer@user:user-3463 + resource:someresource#viewer@user:user-3464 + resource:someresource#viewer@user:user-3465 + resource:someresource#viewer@user:user-3466 + resource:someresource#viewer@user:user-3467 + resource:someresource#viewer@user:user-3468 + resource:someresource#viewer@user:user-3469 + resource:someresource#viewer@user:user-3470 + resource:someresource#viewer@user:user-3471 + resource:someresource#viewer@user:user-3472 + resource:someresource#viewer@user:user-3473 + resource:someresource#viewer@user:user-3474 + resource:someresource#viewer@user:user-3475 + resource:someresource#viewer@user:user-3476 + resource:someresource#viewer@user:user-3477 + resource:someresource#viewer@user:user-3478 + resource:someresource#viewer@user:user-3479 + resource:someresource#viewer@user:user-3480 + resource:someresource#viewer@user:user-3481 + resource:someresource#viewer@user:user-3482 + resource:someresource#viewer@user:user-3483 + resource:someresource#viewer@user:user-3484 + resource:someresource#viewer@user:user-3485 + resource:someresource#viewer@user:user-3486 + resource:someresource#viewer@user:user-3487 + resource:someresource#viewer@user:user-3488 + resource:someresource#viewer@user:user-3489 + resource:someresource#viewer@user:user-3490 + resource:someresource#viewer@user:user-3491 + resource:someresource#viewer@user:user-3492 + resource:someresource#viewer@user:user-3493 + resource:someresource#viewer@user:user-3494 + resource:someresource#viewer@user:user-3495 + resource:someresource#viewer@user:user-3496 + resource:someresource#viewer@user:user-3497 + resource:someresource#viewer@user:user-3498 + resource:someresource#viewer@user:user-3499 + resource:someresource#viewer@user:user-3500 + resource:someresource#viewer@user:user-3501 + resource:someresource#viewer@user:user-3502 + resource:someresource#viewer@user:user-3503 + resource:someresource#viewer@user:user-3504 + resource:someresource#viewer@user:user-3505 + resource:someresource#viewer@user:user-3506 + resource:someresource#viewer@user:user-3507 + resource:someresource#viewer@user:user-3508 + resource:someresource#viewer@user:user-3509 + resource:someresource#viewer@user:user-3510 + resource:someresource#viewer@user:user-3511 + resource:someresource#viewer@user:user-3512 + resource:someresource#viewer@user:user-3513 + resource:someresource#viewer@user:user-3514 + resource:someresource#viewer@user:user-3515 + resource:someresource#viewer@user:user-3516 + resource:someresource#viewer@user:user-3517 + resource:someresource#viewer@user:user-3518 + resource:someresource#viewer@user:user-3519 + resource:someresource#viewer@user:user-3520 + resource:someresource#viewer@user:user-3521 + resource:someresource#viewer@user:user-3522 + resource:someresource#viewer@user:user-3523 + resource:someresource#viewer@user:user-3524 + resource:someresource#viewer@user:user-3525 + resource:someresource#viewer@user:user-3526 + resource:someresource#viewer@user:user-3527 + resource:someresource#viewer@user:user-3528 + resource:someresource#viewer@user:user-3529 + resource:someresource#viewer@user:user-3530 + resource:someresource#viewer@user:user-3531 + resource:someresource#viewer@user:user-3532 + resource:someresource#viewer@user:user-3533 + resource:someresource#viewer@user:user-3534 + resource:someresource#viewer@user:user-3535 + resource:someresource#viewer@user:user-3536 + resource:someresource#viewer@user:user-3537 + resource:someresource#viewer@user:user-3538 + resource:someresource#viewer@user:user-3539 + resource:someresource#viewer@user:user-3540 + resource:someresource#viewer@user:user-3541 + resource:someresource#viewer@user:user-3542 + resource:someresource#viewer@user:user-3543 + resource:someresource#viewer@user:user-3544 + resource:someresource#viewer@user:user-3545 + resource:someresource#viewer@user:user-3546 + resource:someresource#viewer@user:user-3547 + resource:someresource#viewer@user:user-3548 + resource:someresource#viewer@user:user-3549 + resource:someresource#viewer@user:user-3550 + resource:someresource#viewer@user:user-3551 + resource:someresource#viewer@user:user-3552 + resource:someresource#viewer@user:user-3553 + resource:someresource#viewer@user:user-3554 + resource:someresource#viewer@user:user-3555 + resource:someresource#viewer@user:user-3556 + resource:someresource#viewer@user:user-3557 + resource:someresource#viewer@user:user-3558 + resource:someresource#viewer@user:user-3559 + resource:someresource#viewer@user:user-3560 + resource:someresource#viewer@user:user-3561 + resource:someresource#viewer@user:user-3562 + resource:someresource#viewer@user:user-3563 + resource:someresource#viewer@user:user-3564 + resource:someresource#viewer@user:user-3565 + resource:someresource#viewer@user:user-3566 + resource:someresource#viewer@user:user-3567 + resource:someresource#viewer@user:user-3568 + resource:someresource#viewer@user:user-3569 + resource:someresource#viewer@user:user-3570 + resource:someresource#viewer@user:user-3571 + resource:someresource#viewer@user:user-3572 + resource:someresource#viewer@user:user-3573 + resource:someresource#viewer@user:user-3574 + resource:someresource#viewer@user:user-3575 + resource:someresource#viewer@user:user-3576 + resource:someresource#viewer@user:user-3577 + resource:someresource#viewer@user:user-3578 + resource:someresource#viewer@user:user-3579 + resource:someresource#viewer@user:user-3580 + resource:someresource#viewer@user:user-3581 + resource:someresource#viewer@user:user-3582 + resource:someresource#viewer@user:user-3583 + resource:someresource#viewer@user:user-3584 + resource:someresource#viewer@user:user-3585 + resource:someresource#viewer@user:user-3586 + resource:someresource#viewer@user:user-3587 + resource:someresource#viewer@user:user-3588 + resource:someresource#viewer@user:user-3589 + resource:someresource#viewer@user:user-3590 + resource:someresource#viewer@user:user-3591 + resource:someresource#viewer@user:user-3592 + resource:someresource#viewer@user:user-3593 + resource:someresource#viewer@user:user-3594 + resource:someresource#viewer@user:user-3595 + resource:someresource#viewer@user:user-3596 + resource:someresource#viewer@user:user-3597 + resource:someresource#viewer@user:user-3598 + resource:someresource#viewer@user:user-3599 + resource:someresource#viewer@user:user-3600 + resource:someresource#viewer@user:user-3601 + resource:someresource#viewer@user:user-3602 + resource:someresource#viewer@user:user-3603 + resource:someresource#viewer@user:user-3604 + resource:someresource#viewer@user:user-3605 + resource:someresource#viewer@user:user-3606 + resource:someresource#viewer@user:user-3607 + resource:someresource#viewer@user:user-3608 + resource:someresource#viewer@user:user-3609 + resource:someresource#viewer@user:user-3610 + resource:someresource#viewer@user:user-3611 + resource:someresource#viewer@user:user-3612 + resource:someresource#viewer@user:user-3613 + resource:someresource#viewer@user:user-3614 + resource:someresource#viewer@user:user-3615 + resource:someresource#viewer@user:user-3616 + resource:someresource#viewer@user:user-3617 + resource:someresource#viewer@user:user-3618 + resource:someresource#viewer@user:user-3619 + resource:someresource#viewer@user:user-3620 + resource:someresource#viewer@user:user-3621 + resource:someresource#viewer@user:user-3622 + resource:someresource#viewer@user:user-3623 + resource:someresource#viewer@user:user-3624 + resource:someresource#viewer@user:user-3625 + resource:someresource#viewer@user:user-3626 + resource:someresource#viewer@user:user-3627 + resource:someresource#viewer@user:user-3628 + resource:someresource#viewer@user:user-3629 + resource:someresource#viewer@user:user-3630 + resource:someresource#viewer@user:user-3631 + resource:someresource#viewer@user:user-3632 + resource:someresource#viewer@user:user-3633 + resource:someresource#viewer@user:user-3634 + resource:someresource#viewer@user:user-3635 + resource:someresource#viewer@user:user-3636 + resource:someresource#viewer@user:user-3637 + resource:someresource#viewer@user:user-3638 + resource:someresource#viewer@user:user-3639 + resource:someresource#viewer@user:user-3640 + resource:someresource#viewer@user:user-3641 + resource:someresource#viewer@user:user-3642 + resource:someresource#viewer@user:user-3643 + resource:someresource#viewer@user:user-3644 + resource:someresource#viewer@user:user-3645 + resource:someresource#viewer@user:user-3646 + resource:someresource#viewer@user:user-3647 + resource:someresource#viewer@user:user-3648 + resource:someresource#viewer@user:user-3649 + resource:someresource#viewer@user:user-3650 + resource:someresource#viewer@user:user-3651 + resource:someresource#viewer@user:user-3652 + resource:someresource#viewer@user:user-3653 + resource:someresource#viewer@user:user-3654 + resource:someresource#viewer@user:user-3655 + resource:someresource#viewer@user:user-3656 + resource:someresource#viewer@user:user-3657 + resource:someresource#viewer@user:user-3658 + resource:someresource#viewer@user:user-3659 + resource:someresource#viewer@user:user-3660 + resource:someresource#viewer@user:user-3661 + resource:someresource#viewer@user:user-3662 + resource:someresource#viewer@user:user-3663 + resource:someresource#viewer@user:user-3664 + resource:someresource#viewer@user:user-3665 + resource:someresource#viewer@user:user-3666 + resource:someresource#viewer@user:user-3667 + resource:someresource#viewer@user:user-3668 + resource:someresource#viewer@user:user-3669 + resource:someresource#viewer@user:user-3670 + resource:someresource#viewer@user:user-3671 + resource:someresource#viewer@user:user-3672 + resource:someresource#viewer@user:user-3673 + resource:someresource#viewer@user:user-3674 + resource:someresource#viewer@user:user-3675 + resource:someresource#viewer@user:user-3676 + resource:someresource#viewer@user:user-3677 + resource:someresource#viewer@user:user-3678 + resource:someresource#viewer@user:user-3679 + resource:someresource#viewer@user:user-3680 + resource:someresource#viewer@user:user-3681 + resource:someresource#viewer@user:user-3682 + resource:someresource#viewer@user:user-3683 + resource:someresource#viewer@user:user-3684 + resource:someresource#viewer@user:user-3685 + resource:someresource#viewer@user:user-3686 + resource:someresource#viewer@user:user-3687 + resource:someresource#viewer@user:user-3688 + resource:someresource#viewer@user:user-3689 + resource:someresource#viewer@user:user-3690 + resource:someresource#viewer@user:user-3691 + resource:someresource#viewer@user:user-3692 + resource:someresource#viewer@user:user-3693 + resource:someresource#viewer@user:user-3694 + resource:someresource#viewer@user:user-3695 + resource:someresource#viewer@user:user-3696 + resource:someresource#viewer@user:user-3697 + resource:someresource#viewer@user:user-3698 + resource:someresource#viewer@user:user-3699 + resource:someresource#viewer@user:user-3700 + resource:someresource#viewer@user:user-3701 + resource:someresource#viewer@user:user-3702 + resource:someresource#viewer@user:user-3703 + resource:someresource#viewer@user:user-3704 + resource:someresource#viewer@user:user-3705 + resource:someresource#viewer@user:user-3706 + resource:someresource#viewer@user:user-3707 + resource:someresource#viewer@user:user-3708 + resource:someresource#viewer@user:user-3709 + resource:someresource#viewer@user:user-3710 + resource:someresource#viewer@user:user-3711 + resource:someresource#viewer@user:user-3712 + resource:someresource#viewer@user:user-3713 + resource:someresource#viewer@user:user-3714 + resource:someresource#viewer@user:user-3715 + resource:someresource#viewer@user:user-3716 + resource:someresource#viewer@user:user-3717 + resource:someresource#viewer@user:user-3718 + resource:someresource#viewer@user:user-3719 + resource:someresource#viewer@user:user-3720 + resource:someresource#viewer@user:user-3721 + resource:someresource#viewer@user:user-3722 + resource:someresource#viewer@user:user-3723 + resource:someresource#viewer@user:user-3724 + resource:someresource#viewer@user:user-3725 + resource:someresource#viewer@user:user-3726 + resource:someresource#viewer@user:user-3727 + resource:someresource#viewer@user:user-3728 + resource:someresource#viewer@user:user-3729 + resource:someresource#viewer@user:user-3730 + resource:someresource#viewer@user:user-3731 + resource:someresource#viewer@user:user-3732 + resource:someresource#viewer@user:user-3733 + resource:someresource#viewer@user:user-3734 + resource:someresource#viewer@user:user-3735 + resource:someresource#viewer@user:user-3736 + resource:someresource#viewer@user:user-3737 + resource:someresource#viewer@user:user-3738 + resource:someresource#viewer@user:user-3739 + resource:someresource#viewer@user:user-3740 + resource:someresource#viewer@user:user-3741 + resource:someresource#viewer@user:user-3742 + resource:someresource#viewer@user:user-3743 + resource:someresource#viewer@user:user-3744 + resource:someresource#viewer@user:user-3745 + resource:someresource#viewer@user:user-3746 + resource:someresource#viewer@user:user-3747 + resource:someresource#viewer@user:user-3748 + resource:someresource#viewer@user:user-3749 + resource:someresource#viewer@user:user-3750 + resource:someresource#viewer@user:user-3751 + resource:someresource#viewer@user:user-3752 + resource:someresource#viewer@user:user-3753 + resource:someresource#viewer@user:user-3754 + resource:someresource#viewer@user:user-3755 + resource:someresource#viewer@user:user-3756 + resource:someresource#viewer@user:user-3757 + resource:someresource#viewer@user:user-3758 + resource:someresource#viewer@user:user-3759 + resource:someresource#viewer@user:user-3760 + resource:someresource#viewer@user:user-3761 + resource:someresource#viewer@user:user-3762 + resource:someresource#viewer@user:user-3763 + resource:someresource#viewer@user:user-3764 + resource:someresource#viewer@user:user-3765 + resource:someresource#viewer@user:user-3766 + resource:someresource#viewer@user:user-3767 + resource:someresource#viewer@user:user-3768 + resource:someresource#viewer@user:user-3769 + resource:someresource#viewer@user:user-3770 + resource:someresource#viewer@user:user-3771 + resource:someresource#viewer@user:user-3772 + resource:someresource#viewer@user:user-3773 + resource:someresource#viewer@user:user-3774 + resource:someresource#viewer@user:user-3775 + resource:someresource#viewer@user:user-3776 + resource:someresource#viewer@user:user-3777 + resource:someresource#viewer@user:user-3778 + resource:someresource#viewer@user:user-3779 + resource:someresource#viewer@user:user-3780 + resource:someresource#viewer@user:user-3781 + resource:someresource#viewer@user:user-3782 + resource:someresource#viewer@user:user-3783 + resource:someresource#viewer@user:user-3784 + resource:someresource#viewer@user:user-3785 + resource:someresource#viewer@user:user-3786 + resource:someresource#viewer@user:user-3787 + resource:someresource#viewer@user:user-3788 + resource:someresource#viewer@user:user-3789 + resource:someresource#viewer@user:user-3790 + resource:someresource#viewer@user:user-3791 + resource:someresource#viewer@user:user-3792 + resource:someresource#viewer@user:user-3793 + resource:someresource#viewer@user:user-3794 + resource:someresource#viewer@user:user-3795 + resource:someresource#viewer@user:user-3796 + resource:someresource#viewer@user:user-3797 + resource:someresource#viewer@user:user-3798 + resource:someresource#viewer@user:user-3799 + resource:someresource#viewer@user:user-3800 + resource:someresource#viewer@user:user-3801 + resource:someresource#viewer@user:user-3802 + resource:someresource#viewer@user:user-3803 + resource:someresource#viewer@user:user-3804 + resource:someresource#viewer@user:user-3805 + resource:someresource#viewer@user:user-3806 + resource:someresource#viewer@user:user-3807 + resource:someresource#viewer@user:user-3808 + resource:someresource#viewer@user:user-3809 + resource:someresource#viewer@user:user-3810 + resource:someresource#viewer@user:user-3811 + resource:someresource#viewer@user:user-3812 + resource:someresource#viewer@user:user-3813 + resource:someresource#viewer@user:user-3814 + resource:someresource#viewer@user:user-3815 + resource:someresource#viewer@user:user-3816 + resource:someresource#viewer@user:user-3817 + resource:someresource#viewer@user:user-3818 + resource:someresource#viewer@user:user-3819 + resource:someresource#viewer@user:user-3820 + resource:someresource#viewer@user:user-3821 + resource:someresource#viewer@user:user-3822 + resource:someresource#viewer@user:user-3823 + resource:someresource#viewer@user:user-3824 + resource:someresource#viewer@user:user-3825 + resource:someresource#viewer@user:user-3826 + resource:someresource#viewer@user:user-3827 + resource:someresource#viewer@user:user-3828 + resource:someresource#viewer@user:user-3829 + resource:someresource#viewer@user:user-3830 + resource:someresource#viewer@user:user-3831 + resource:someresource#viewer@user:user-3832 + resource:someresource#viewer@user:user-3833 + resource:someresource#viewer@user:user-3834 + resource:someresource#viewer@user:user-3835 + resource:someresource#viewer@user:user-3836 + resource:someresource#viewer@user:user-3837 + resource:someresource#viewer@user:user-3838 + resource:someresource#viewer@user:user-3839 + resource:someresource#viewer@user:user-3840 + resource:someresource#viewer@user:user-3841 + resource:someresource#viewer@user:user-3842 + resource:someresource#viewer@user:user-3843 + resource:someresource#viewer@user:user-3844 + resource:someresource#viewer@user:user-3845 + resource:someresource#viewer@user:user-3846 + resource:someresource#viewer@user:user-3847 + resource:someresource#viewer@user:user-3848 + resource:someresource#viewer@user:user-3849 + resource:someresource#viewer@user:user-3850 + resource:someresource#viewer@user:user-3851 + resource:someresource#viewer@user:user-3852 + resource:someresource#viewer@user:user-3853 + resource:someresource#viewer@user:user-3854 + resource:someresource#viewer@user:user-3855 + resource:someresource#viewer@user:user-3856 + resource:someresource#viewer@user:user-3857 + resource:someresource#viewer@user:user-3858 + resource:someresource#viewer@user:user-3859 + resource:someresource#viewer@user:user-3860 + resource:someresource#viewer@user:user-3861 + resource:someresource#viewer@user:user-3862 + resource:someresource#viewer@user:user-3863 + resource:someresource#viewer@user:user-3864 + resource:someresource#viewer@user:user-3865 + resource:someresource#viewer@user:user-3866 + resource:someresource#viewer@user:user-3867 + resource:someresource#viewer@user:user-3868 + resource:someresource#viewer@user:user-3869 + resource:someresource#viewer@user:user-3870 + resource:someresource#viewer@user:user-3871 + resource:someresource#viewer@user:user-3872 + resource:someresource#viewer@user:user-3873 + resource:someresource#viewer@user:user-3874 + resource:someresource#viewer@user:user-3875 + resource:someresource#viewer@user:user-3876 + resource:someresource#viewer@user:user-3877 + resource:someresource#viewer@user:user-3878 + resource:someresource#viewer@user:user-3879 + resource:someresource#viewer@user:user-3880 + resource:someresource#viewer@user:user-3881 + resource:someresource#viewer@user:user-3882 + resource:someresource#viewer@user:user-3883 + resource:someresource#viewer@user:user-3884 + resource:someresource#viewer@user:user-3885 + resource:someresource#viewer@user:user-3886 + resource:someresource#viewer@user:user-3887 + resource:someresource#viewer@user:user-3888 + resource:someresource#viewer@user:user-3889 + resource:someresource#viewer@user:user-3890 + resource:someresource#viewer@user:user-3891 + resource:someresource#viewer@user:user-3892 + resource:someresource#viewer@user:user-3893 + resource:someresource#viewer@user:user-3894 + resource:someresource#viewer@user:user-3895 + resource:someresource#viewer@user:user-3896 + resource:someresource#viewer@user:user-3897 + resource:someresource#viewer@user:user-3898 + resource:someresource#viewer@user:user-3899 + resource:someresource#viewer@user:user-3900 + resource:someresource#viewer@user:user-3901 + resource:someresource#viewer@user:user-3902 + resource:someresource#viewer@user:user-3903 + resource:someresource#viewer@user:user-3904 + resource:someresource#viewer@user:user-3905 + resource:someresource#viewer@user:user-3906 + resource:someresource#viewer@user:user-3907 + resource:someresource#viewer@user:user-3908 + resource:someresource#viewer@user:user-3909 + resource:someresource#viewer@user:user-3910 + resource:someresource#viewer@user:user-3911 + resource:someresource#viewer@user:user-3912 + resource:someresource#viewer@user:user-3913 + resource:someresource#viewer@user:user-3914 + resource:someresource#viewer@user:user-3915 + resource:someresource#viewer@user:user-3916 + resource:someresource#viewer@user:user-3917 + resource:someresource#viewer@user:user-3918 + resource:someresource#viewer@user:user-3919 + resource:someresource#viewer@user:user-3920 + resource:someresource#viewer@user:user-3921 + resource:someresource#viewer@user:user-3922 + resource:someresource#viewer@user:user-3923 + resource:someresource#viewer@user:user-3924 + resource:someresource#viewer@user:user-3925 + resource:someresource#viewer@user:user-3926 + resource:someresource#viewer@user:user-3927 + resource:someresource#viewer@user:user-3928 + resource:someresource#viewer@user:user-3929 + resource:someresource#viewer@user:user-3930 + resource:someresource#viewer@user:user-3931 + resource:someresource#viewer@user:user-3932 + resource:someresource#viewer@user:user-3933 + resource:someresource#viewer@user:user-3934 + resource:someresource#viewer@user:user-3935 + resource:someresource#viewer@user:user-3936 + resource:someresource#viewer@user:user-3937 + resource:someresource#viewer@user:user-3938 + resource:someresource#viewer@user:user-3939 + resource:someresource#viewer@user:user-3940 + resource:someresource#viewer@user:user-3941 + resource:someresource#viewer@user:user-3942 + resource:someresource#viewer@user:user-3943 + resource:someresource#viewer@user:user-3944 + resource:someresource#viewer@user:user-3945 + resource:someresource#viewer@user:user-3946 + resource:someresource#viewer@user:user-3947 + resource:someresource#viewer@user:user-3948 + resource:someresource#viewer@user:user-3949 + resource:someresource#viewer@user:user-3950 + resource:someresource#viewer@user:user-3951 + resource:someresource#viewer@user:user-3952 + resource:someresource#viewer@user:user-3953 + resource:someresource#viewer@user:user-3954 + resource:someresource#viewer@user:user-3955 + resource:someresource#viewer@user:user-3956 + resource:someresource#viewer@user:user-3957 + resource:someresource#viewer@user:user-3958 + resource:someresource#viewer@user:user-3959 + resource:someresource#viewer@user:user-3960 + resource:someresource#viewer@user:user-3961 + resource:someresource#viewer@user:user-3962 + resource:someresource#viewer@user:user-3963 + resource:someresource#viewer@user:user-3964 + resource:someresource#viewer@user:user-3965 + resource:someresource#viewer@user:user-3966 + resource:someresource#viewer@user:user-3967 + resource:someresource#viewer@user:user-3968 + resource:someresource#viewer@user:user-3969 + resource:someresource#viewer@user:user-3970 + resource:someresource#viewer@user:user-3971 + resource:someresource#viewer@user:user-3972 + resource:someresource#viewer@user:user-3973 + resource:someresource#viewer@user:user-3974 + resource:someresource#viewer@user:user-3975 + resource:someresource#viewer@user:user-3976 + resource:someresource#viewer@user:user-3977 + resource:someresource#viewer@user:user-3978 + resource:someresource#viewer@user:user-3979 + resource:someresource#viewer@user:user-3980 + resource:someresource#viewer@user:user-3981 + resource:someresource#viewer@user:user-3982 + resource:someresource#viewer@user:user-3983 + resource:someresource#viewer@user:user-3984 + resource:someresource#viewer@user:user-3985 + resource:someresource#viewer@user:user-3986 + resource:someresource#viewer@user:user-3987 + resource:someresource#viewer@user:user-3988 + resource:someresource#viewer@user:user-3989 + resource:someresource#viewer@user:user-3990 + resource:someresource#viewer@user:user-3991 + resource:someresource#viewer@user:user-3992 + resource:someresource#viewer@user:user-3993 + resource:someresource#viewer@user:user-3994 + resource:someresource#viewer@user:user-3995 + resource:someresource#viewer@user:user-3996 + resource:someresource#viewer@user:user-3997 + resource:someresource#viewer@user:user-3998 + resource:someresource#viewer@user:user-3999 + resource:someresource#viewer@user:user-4000 + resource:someresource#viewer@user:user-4001 + resource:someresource#viewer@user:user-4002 + resource:someresource#viewer@user:user-4003 + resource:someresource#viewer@user:user-4004 + resource:someresource#viewer@user:user-4005 + resource:someresource#viewer@user:user-4006 + resource:someresource#viewer@user:user-4007 + resource:someresource#viewer@user:user-4008 + resource:someresource#viewer@user:user-4009 + resource:someresource#viewer@user:user-4010 + resource:someresource#viewer@user:user-4011 + resource:someresource#viewer@user:user-4012 + resource:someresource#viewer@user:user-4013 + resource:someresource#viewer@user:user-4014 + resource:someresource#viewer@user:user-4015 + resource:someresource#viewer@user:user-4016 + resource:someresource#viewer@user:user-4017 + resource:someresource#viewer@user:user-4018 + resource:someresource#viewer@user:user-4019 + resource:someresource#viewer@user:user-4020 + resource:someresource#viewer@user:user-4021 + resource:someresource#viewer@user:user-4022 + resource:someresource#viewer@user:user-4023 + resource:someresource#viewer@user:user-4024 + resource:someresource#viewer@user:user-4025 + resource:someresource#viewer@user:user-4026 + resource:someresource#viewer@user:user-4027 + resource:someresource#viewer@user:user-4028 + resource:someresource#viewer@user:user-4029 + resource:someresource#viewer@user:user-4030 + resource:someresource#viewer@user:user-4031 + resource:someresource#viewer@user:user-4032 + resource:someresource#viewer@user:user-4033 + resource:someresource#viewer@user:user-4034 + resource:someresource#viewer@user:user-4035 + resource:someresource#viewer@user:user-4036 + resource:someresource#viewer@user:user-4037 + resource:someresource#viewer@user:user-4038 + resource:someresource#viewer@user:user-4039 + resource:someresource#viewer@user:user-4040 + resource:someresource#viewer@user:user-4041 + resource:someresource#viewer@user:user-4042 + resource:someresource#viewer@user:user-4043 + resource:someresource#viewer@user:user-4044 + resource:someresource#viewer@user:user-4045 + resource:someresource#viewer@user:user-4046 + resource:someresource#viewer@user:user-4047 + resource:someresource#viewer@user:user-4048 + resource:someresource#viewer@user:user-4049 + resource:someresource#viewer@user:user-4050 + resource:someresource#viewer@user:user-4051 + resource:someresource#viewer@user:user-4052 + resource:someresource#viewer@user:user-4053 + resource:someresource#viewer@user:user-4054 + resource:someresource#viewer@user:user-4055 + resource:someresource#viewer@user:user-4056 + resource:someresource#viewer@user:user-4057 + resource:someresource#viewer@user:user-4058 + resource:someresource#viewer@user:user-4059 + resource:someresource#viewer@user:user-4060 + resource:someresource#viewer@user:user-4061 + resource:someresource#viewer@user:user-4062 + resource:someresource#viewer@user:user-4063 + resource:someresource#viewer@user:user-4064 + resource:someresource#viewer@user:user-4065 + resource:someresource#viewer@user:user-4066 + resource:someresource#viewer@user:user-4067 + resource:someresource#viewer@user:user-4068 + resource:someresource#viewer@user:user-4069 + resource:someresource#viewer@user:user-4070 + resource:someresource#viewer@user:user-4071 + resource:someresource#viewer@user:user-4072 + resource:someresource#viewer@user:user-4073 + resource:someresource#viewer@user:user-4074 + resource:someresource#viewer@user:user-4075 + resource:someresource#viewer@user:user-4076 + resource:someresource#viewer@user:user-4077 + resource:someresource#viewer@user:user-4078 + resource:someresource#viewer@user:user-4079 + resource:someresource#viewer@user:user-4080 + resource:someresource#viewer@user:user-4081 + resource:someresource#viewer@user:user-4082 + resource:someresource#viewer@user:user-4083 + resource:someresource#viewer@user:user-4084 + resource:someresource#viewer@user:user-4085 + resource:someresource#viewer@user:user-4086 + resource:someresource#viewer@user:user-4087 + resource:someresource#viewer@user:user-4088 + resource:someresource#viewer@user:user-4089 + resource:someresource#viewer@user:user-4090 + resource:someresource#viewer@user:user-4091 + resource:someresource#viewer@user:user-4092 + resource:someresource#viewer@user:user-4093 + resource:someresource#viewer@user:user-4094 + resource:someresource#viewer@user:user-4095 + resource:someresource#viewer@user:user-4096 + resource:someresource#viewer@user:user-4097 + resource:someresource#viewer@user:user-4098 + resource:someresource#viewer@user:user-4099 + resource:someresource#viewer@user:user-4100 + resource:someresource#viewer@user:user-4101 + resource:someresource#viewer@user:user-4102 + resource:someresource#viewer@user:user-4103 + resource:someresource#viewer@user:user-4104 + resource:someresource#viewer@user:user-4105 + resource:someresource#viewer@user:user-4106 + resource:someresource#viewer@user:user-4107 + resource:someresource#viewer@user:user-4108 + resource:someresource#viewer@user:user-4109 + resource:someresource#viewer@user:user-4110 + resource:someresource#viewer@user:user-4111 + resource:someresource#viewer@user:user-4112 + resource:someresource#viewer@user:user-4113 + resource:someresource#viewer@user:user-4114 + resource:someresource#viewer@user:user-4115 + resource:someresource#viewer@user:user-4116 + resource:someresource#viewer@user:user-4117 + resource:someresource#viewer@user:user-4118 + resource:someresource#viewer@user:user-4119 + resource:someresource#viewer@user:user-4120 + resource:someresource#viewer@user:user-4121 + resource:someresource#viewer@user:user-4122 + resource:someresource#viewer@user:user-4123 + resource:someresource#viewer@user:user-4124 + resource:someresource#viewer@user:user-4125 + resource:someresource#viewer@user:user-4126 + resource:someresource#viewer@user:user-4127 + resource:someresource#viewer@user:user-4128 + resource:someresource#viewer@user:user-4129 + resource:someresource#viewer@user:user-4130 + resource:someresource#viewer@user:user-4131 + resource:someresource#viewer@user:user-4132 + resource:someresource#viewer@user:user-4133 + resource:someresource#viewer@user:user-4134 + resource:someresource#viewer@user:user-4135 + resource:someresource#viewer@user:user-4136 + resource:someresource#viewer@user:user-4137 + resource:someresource#viewer@user:user-4138 + resource:someresource#viewer@user:user-4139 + resource:someresource#viewer@user:user-4140 + resource:someresource#viewer@user:user-4141 + resource:someresource#viewer@user:user-4142 + resource:someresource#viewer@user:user-4143 + resource:someresource#viewer@user:user-4144 + resource:someresource#viewer@user:user-4145 + resource:someresource#viewer@user:user-4146 + resource:someresource#viewer@user:user-4147 + resource:someresource#viewer@user:user-4148 + resource:someresource#viewer@user:user-4149 + resource:someresource#viewer@user:user-4150 + resource:someresource#viewer@user:user-4151 + resource:someresource#viewer@user:user-4152 + resource:someresource#viewer@user:user-4153 + resource:someresource#viewer@user:user-4154 + resource:someresource#viewer@user:user-4155 + resource:someresource#viewer@user:user-4156 + resource:someresource#viewer@user:user-4157 + resource:someresource#viewer@user:user-4158 + resource:someresource#viewer@user:user-4159 + resource:someresource#viewer@user:user-4160 + resource:someresource#viewer@user:user-4161 + resource:someresource#viewer@user:user-4162 + resource:someresource#viewer@user:user-4163 + resource:someresource#viewer@user:user-4164 + resource:someresource#viewer@user:user-4165 + resource:someresource#viewer@user:user-4166 + resource:someresource#viewer@user:user-4167 + resource:someresource#viewer@user:user-4168 + resource:someresource#viewer@user:user-4169 + resource:someresource#viewer@user:user-4170 + resource:someresource#viewer@user:user-4171 + resource:someresource#viewer@user:user-4172 + resource:someresource#viewer@user:user-4173 + resource:someresource#viewer@user:user-4174 + resource:someresource#viewer@user:user-4175 + resource:someresource#viewer@user:user-4176 + resource:someresource#viewer@user:user-4177 + resource:someresource#viewer@user:user-4178 + resource:someresource#viewer@user:user-4179 + resource:someresource#viewer@user:user-4180 + resource:someresource#viewer@user:user-4181 + resource:someresource#viewer@user:user-4182 + resource:someresource#viewer@user:user-4183 + resource:someresource#viewer@user:user-4184 + resource:someresource#viewer@user:user-4185 + resource:someresource#viewer@user:user-4186 + resource:someresource#viewer@user:user-4187 + resource:someresource#viewer@user:user-4188 + resource:someresource#viewer@user:user-4189 + resource:someresource#viewer@user:user-4190 + resource:someresource#viewer@user:user-4191 + resource:someresource#viewer@user:user-4192 + resource:someresource#viewer@user:user-4193 + resource:someresource#viewer@user:user-4194 + resource:someresource#viewer@user:user-4195 + resource:someresource#viewer@user:user-4196 + resource:someresource#viewer@user:user-4197 + resource:someresource#viewer@user:user-4198 + resource:someresource#viewer@user:user-4199 + resource:someresource#viewer@user:user-4200 + resource:someresource#viewer@user:user-4201 + resource:someresource#viewer@user:user-4202 + resource:someresource#viewer@user:user-4203 + resource:someresource#viewer@user:user-4204 + resource:someresource#viewer@user:user-4205 + resource:someresource#viewer@user:user-4206 + resource:someresource#viewer@user:user-4207 + resource:someresource#viewer@user:user-4208 + resource:someresource#viewer@user:user-4209 + resource:someresource#viewer@user:user-4210 + resource:someresource#viewer@user:user-4211 + resource:someresource#viewer@user:user-4212 + resource:someresource#viewer@user:user-4213 + resource:someresource#viewer@user:user-4214 + resource:someresource#viewer@user:user-4215 + resource:someresource#viewer@user:user-4216 + resource:someresource#viewer@user:user-4217 + resource:someresource#viewer@user:user-4218 + resource:someresource#viewer@user:user-4219 + resource:someresource#viewer@user:user-4220 + resource:someresource#viewer@user:user-4221 + resource:someresource#viewer@user:user-4222 + resource:someresource#viewer@user:user-4223 + resource:someresource#viewer@user:user-4224 + resource:someresource#viewer@user:user-4225 + resource:someresource#viewer@user:user-4226 + resource:someresource#viewer@user:user-4227 + resource:someresource#viewer@user:user-4228 + resource:someresource#viewer@user:user-4229 + resource:someresource#viewer@user:user-4230 + resource:someresource#viewer@user:user-4231 + resource:someresource#viewer@user:user-4232 + resource:someresource#viewer@user:user-4233 + resource:someresource#viewer@user:user-4234 + resource:someresource#viewer@user:user-4235 + resource:someresource#viewer@user:user-4236 + resource:someresource#viewer@user:user-4237 + resource:someresource#viewer@user:user-4238 + resource:someresource#viewer@user:user-4239 + resource:someresource#viewer@user:user-4240 + resource:someresource#viewer@user:user-4241 + resource:someresource#viewer@user:user-4242 + resource:someresource#viewer@user:user-4243 + resource:someresource#viewer@user:user-4244 + resource:someresource#viewer@user:user-4245 + resource:someresource#viewer@user:user-4246 + resource:someresource#viewer@user:user-4247 + resource:someresource#viewer@user:user-4248 + resource:someresource#viewer@user:user-4249 + resource:someresource#viewer@user:user-4250 + resource:someresource#viewer@user:user-4251 + resource:someresource#viewer@user:user-4252 + resource:someresource#viewer@user:user-4253 + resource:someresource#viewer@user:user-4254 + resource:someresource#viewer@user:user-4255 + resource:someresource#viewer@user:user-4256 + resource:someresource#viewer@user:user-4257 + resource:someresource#viewer@user:user-4258 + resource:someresource#viewer@user:user-4259 + resource:someresource#viewer@user:user-4260 + resource:someresource#viewer@user:user-4261 + resource:someresource#viewer@user:user-4262 + resource:someresource#viewer@user:user-4263 + resource:someresource#viewer@user:user-4264 + resource:someresource#viewer@user:user-4265 + resource:someresource#viewer@user:user-4266 + resource:someresource#viewer@user:user-4267 + resource:someresource#viewer@user:user-4268 + resource:someresource#viewer@user:user-4269 + resource:someresource#viewer@user:user-4270 + resource:someresource#viewer@user:user-4271 + resource:someresource#viewer@user:user-4272 + resource:someresource#viewer@user:user-4273 + resource:someresource#viewer@user:user-4274 + resource:someresource#viewer@user:user-4275 + resource:someresource#viewer@user:user-4276 + resource:someresource#viewer@user:user-4277 + resource:someresource#viewer@user:user-4278 + resource:someresource#viewer@user:user-4279 + resource:someresource#viewer@user:user-4280 + resource:someresource#viewer@user:user-4281 + resource:someresource#viewer@user:user-4282 + resource:someresource#viewer@user:user-4283 + resource:someresource#viewer@user:user-4284 + resource:someresource#viewer@user:user-4285 + resource:someresource#viewer@user:user-4286 + resource:someresource#viewer@user:user-4287 + resource:someresource#viewer@user:user-4288 + resource:someresource#viewer@user:user-4289 + resource:someresource#viewer@user:user-4290 + resource:someresource#viewer@user:user-4291 + resource:someresource#viewer@user:user-4292 + resource:someresource#viewer@user:user-4293 + resource:someresource#viewer@user:user-4294 + resource:someresource#viewer@user:user-4295 + resource:someresource#viewer@user:user-4296 + resource:someresource#viewer@user:user-4297 + resource:someresource#viewer@user:user-4298 + resource:someresource#viewer@user:user-4299 + resource:someresource#viewer@user:user-4300 + resource:someresource#viewer@user:user-4301 + resource:someresource#viewer@user:user-4302 + resource:someresource#viewer@user:user-4303 + resource:someresource#viewer@user:user-4304 + resource:someresource#viewer@user:user-4305 + resource:someresource#viewer@user:user-4306 + resource:someresource#viewer@user:user-4307 + resource:someresource#viewer@user:user-4308 + resource:someresource#viewer@user:user-4309 + resource:someresource#viewer@user:user-4310 + resource:someresource#viewer@user:user-4311 + resource:someresource#viewer@user:user-4312 + resource:someresource#viewer@user:user-4313 + resource:someresource#viewer@user:user-4314 + resource:someresource#viewer@user:user-4315 + resource:someresource#viewer@user:user-4316 + resource:someresource#viewer@user:user-4317 + resource:someresource#viewer@user:user-4318 + resource:someresource#viewer@user:user-4319 + resource:someresource#viewer@user:user-4320 + resource:someresource#viewer@user:user-4321 + resource:someresource#viewer@user:user-4322 + resource:someresource#viewer@user:user-4323 + resource:someresource#viewer@user:user-4324 + resource:someresource#viewer@user:user-4325 + resource:someresource#viewer@user:user-4326 + resource:someresource#viewer@user:user-4327 + resource:someresource#viewer@user:user-4328 + resource:someresource#viewer@user:user-4329 + resource:someresource#viewer@user:user-4330 + resource:someresource#viewer@user:user-4331 + resource:someresource#viewer@user:user-4332 + resource:someresource#viewer@user:user-4333 + resource:someresource#viewer@user:user-4334 + resource:someresource#viewer@user:user-4335 + resource:someresource#viewer@user:user-4336 + resource:someresource#viewer@user:user-4337 + resource:someresource#viewer@user:user-4338 + resource:someresource#viewer@user:user-4339 + resource:someresource#viewer@user:user-4340 + resource:someresource#viewer@user:user-4341 + resource:someresource#viewer@user:user-4342 + resource:someresource#viewer@user:user-4343 + resource:someresource#viewer@user:user-4344 + resource:someresource#viewer@user:user-4345 + resource:someresource#viewer@user:user-4346 + resource:someresource#viewer@user:user-4347 + resource:someresource#viewer@user:user-4348 + resource:someresource#viewer@user:user-4349 + resource:someresource#viewer@user:user-4350 + resource:someresource#viewer@user:user-4351 + resource:someresource#viewer@user:user-4352 + resource:someresource#viewer@user:user-4353 + resource:someresource#viewer@user:user-4354 + resource:someresource#viewer@user:user-4355 + resource:someresource#viewer@user:user-4356 + resource:someresource#viewer@user:user-4357 + resource:someresource#viewer@user:user-4358 + resource:someresource#viewer@user:user-4359 + resource:someresource#viewer@user:user-4360 + resource:someresource#viewer@user:user-4361 + resource:someresource#viewer@user:user-4362 + resource:someresource#viewer@user:user-4363 + resource:someresource#viewer@user:user-4364 + resource:someresource#viewer@user:user-4365 + resource:someresource#viewer@user:user-4366 + resource:someresource#viewer@user:user-4367 + resource:someresource#viewer@user:user-4368 + resource:someresource#viewer@user:user-4369 + resource:someresource#viewer@user:user-4370 + resource:someresource#viewer@user:user-4371 + resource:someresource#viewer@user:user-4372 + resource:someresource#viewer@user:user-4373 + resource:someresource#viewer@user:user-4374 + resource:someresource#viewer@user:user-4375 + resource:someresource#viewer@user:user-4376 + resource:someresource#viewer@user:user-4377 + resource:someresource#viewer@user:user-4378 + resource:someresource#viewer@user:user-4379 + resource:someresource#viewer@user:user-4380 + resource:someresource#viewer@user:user-4381 + resource:someresource#viewer@user:user-4382 + resource:someresource#viewer@user:user-4383 + resource:someresource#viewer@user:user-4384 + resource:someresource#viewer@user:user-4385 + resource:someresource#viewer@user:user-4386 + resource:someresource#viewer@user:user-4387 + resource:someresource#viewer@user:user-4388 + resource:someresource#viewer@user:user-4389 + resource:someresource#viewer@user:user-4390 + resource:someresource#viewer@user:user-4391 + resource:someresource#viewer@user:user-4392 + resource:someresource#viewer@user:user-4393 + resource:someresource#viewer@user:user-4394 + resource:someresource#viewer@user:user-4395 + resource:someresource#viewer@user:user-4396 + resource:someresource#viewer@user:user-4397 + resource:someresource#viewer@user:user-4398 + resource:someresource#viewer@user:user-4399 + resource:someresource#viewer@user:user-4400 + resource:someresource#viewer@user:user-4401 + resource:someresource#viewer@user:user-4402 + resource:someresource#viewer@user:user-4403 + resource:someresource#viewer@user:user-4404 + resource:someresource#viewer@user:user-4405 + resource:someresource#viewer@user:user-4406 + resource:someresource#viewer@user:user-4407 + resource:someresource#viewer@user:user-4408 + resource:someresource#viewer@user:user-4409 + resource:someresource#viewer@user:user-4410 + resource:someresource#viewer@user:user-4411 + resource:someresource#viewer@user:user-4412 + resource:someresource#viewer@user:user-4413 + resource:someresource#viewer@user:user-4414 + resource:someresource#viewer@user:user-4415 + resource:someresource#viewer@user:user-4416 + resource:someresource#viewer@user:user-4417 + resource:someresource#viewer@user:user-4418 + resource:someresource#viewer@user:user-4419 + resource:someresource#viewer@user:user-4420 + resource:someresource#viewer@user:user-4421 + resource:someresource#viewer@user:user-4422 + resource:someresource#viewer@user:user-4423 + resource:someresource#viewer@user:user-4424 + resource:someresource#viewer@user:user-4425 + resource:someresource#viewer@user:user-4426 + resource:someresource#viewer@user:user-4427 + resource:someresource#viewer@user:user-4428 + resource:someresource#viewer@user:user-4429 + resource:someresource#viewer@user:user-4430 + resource:someresource#viewer@user:user-4431 + resource:someresource#viewer@user:user-4432 + resource:someresource#viewer@user:user-4433 + resource:someresource#viewer@user:user-4434 + resource:someresource#viewer@user:user-4435 + resource:someresource#viewer@user:user-4436 + resource:someresource#viewer@user:user-4437 + resource:someresource#viewer@user:user-4438 + resource:someresource#viewer@user:user-4439 + resource:someresource#viewer@user:user-4440 + resource:someresource#viewer@user:user-4441 + resource:someresource#viewer@user:user-4442 + resource:someresource#viewer@user:user-4443 + resource:someresource#viewer@user:user-4444 + resource:someresource#viewer@user:user-4445 + resource:someresource#viewer@user:user-4446 + resource:someresource#viewer@user:user-4447 + resource:someresource#viewer@user:user-4448 + resource:someresource#viewer@user:user-4449 + resource:someresource#viewer@user:user-4450 + resource:someresource#viewer@user:user-4451 + resource:someresource#viewer@user:user-4452 + resource:someresource#viewer@user:user-4453 + resource:someresource#viewer@user:user-4454 + resource:someresource#viewer@user:user-4455 + resource:someresource#viewer@user:user-4456 + resource:someresource#viewer@user:user-4457 + resource:someresource#viewer@user:user-4458 + resource:someresource#viewer@user:user-4459 + resource:someresource#viewer@user:user-4460 + resource:someresource#viewer@user:user-4461 + resource:someresource#viewer@user:user-4462 + resource:someresource#viewer@user:user-4463 + resource:someresource#viewer@user:user-4464 + resource:someresource#viewer@user:user-4465 + resource:someresource#viewer@user:user-4466 + resource:someresource#viewer@user:user-4467 + resource:someresource#viewer@user:user-4468 + resource:someresource#viewer@user:user-4469 + resource:someresource#viewer@user:user-4470 + resource:someresource#viewer@user:user-4471 + resource:someresource#viewer@user:user-4472 + resource:someresource#viewer@user:user-4473 + resource:someresource#viewer@user:user-4474 + resource:someresource#viewer@user:user-4475 + resource:someresource#viewer@user:user-4476 + resource:someresource#viewer@user:user-4477 + resource:someresource#viewer@user:user-4478 + resource:someresource#viewer@user:user-4479 + resource:someresource#viewer@user:user-4480 + resource:someresource#viewer@user:user-4481 + resource:someresource#viewer@user:user-4482 + resource:someresource#viewer@user:user-4483 + resource:someresource#viewer@user:user-4484 + resource:someresource#viewer@user:user-4485 + resource:someresource#viewer@user:user-4486 + resource:someresource#viewer@user:user-4487 + resource:someresource#viewer@user:user-4488 + resource:someresource#viewer@user:user-4489 + resource:someresource#viewer@user:user-4490 + resource:someresource#viewer@user:user-4491 + resource:someresource#viewer@user:user-4492 + resource:someresource#viewer@user:user-4493 + resource:someresource#viewer@user:user-4494 + resource:someresource#viewer@user:user-4495 + resource:someresource#viewer@user:user-4496 + resource:someresource#viewer@user:user-4497 + resource:someresource#viewer@user:user-4498 + resource:someresource#viewer@user:user-4499 + resource:someresource#viewer@user:user-4500 + resource:someresource#viewer@user:user-4501 + resource:someresource#viewer@user:user-4502 + resource:someresource#viewer@user:user-4503 + resource:someresource#viewer@user:user-4504 + resource:someresource#viewer@user:user-4505 + resource:someresource#viewer@user:user-4506 + resource:someresource#viewer@user:user-4507 + resource:someresource#viewer@user:user-4508 + resource:someresource#viewer@user:user-4509 + resource:someresource#viewer@user:user-4510 + resource:someresource#viewer@user:user-4511 + resource:someresource#viewer@user:user-4512 + resource:someresource#viewer@user:user-4513 + resource:someresource#viewer@user:user-4514 + resource:someresource#viewer@user:user-4515 + resource:someresource#viewer@user:user-4516 + resource:someresource#viewer@user:user-4517 + resource:someresource#viewer@user:user-4518 + resource:someresource#viewer@user:user-4519 + resource:someresource#viewer@user:user-4520 + resource:someresource#viewer@user:user-4521 + resource:someresource#viewer@user:user-4522 + resource:someresource#viewer@user:user-4523 + resource:someresource#viewer@user:user-4524 + resource:someresource#viewer@user:user-4525 + resource:someresource#viewer@user:user-4526 + resource:someresource#viewer@user:user-4527 + resource:someresource#viewer@user:user-4528 + resource:someresource#viewer@user:user-4529 + resource:someresource#viewer@user:user-4530 + resource:someresource#viewer@user:user-4531 + resource:someresource#viewer@user:user-4532 + resource:someresource#viewer@user:user-4533 + resource:someresource#viewer@user:user-4534 + resource:someresource#viewer@user:user-4535 + resource:someresource#viewer@user:user-4536 + resource:someresource#viewer@user:user-4537 + resource:someresource#viewer@user:user-4538 + resource:someresource#viewer@user:user-4539 + resource:someresource#viewer@user:user-4540 + resource:someresource#viewer@user:user-4541 + resource:someresource#viewer@user:user-4542 + resource:someresource#viewer@user:user-4543 + resource:someresource#viewer@user:user-4544 + resource:someresource#viewer@user:user-4545 + resource:someresource#viewer@user:user-4546 + resource:someresource#viewer@user:user-4547 + resource:someresource#viewer@user:user-4548 + resource:someresource#viewer@user:user-4549 + resource:someresource#viewer@user:user-4550 + resource:someresource#viewer@user:user-4551 + resource:someresource#viewer@user:user-4552 + resource:someresource#viewer@user:user-4553 + resource:someresource#viewer@user:user-4554 + resource:someresource#viewer@user:user-4555 + resource:someresource#viewer@user:user-4556 + resource:someresource#viewer@user:user-4557 + resource:someresource#viewer@user:user-4558 + resource:someresource#viewer@user:user-4559 + resource:someresource#viewer@user:user-4560 + resource:someresource#viewer@user:user-4561 + resource:someresource#viewer@user:user-4562 + resource:someresource#viewer@user:user-4563 + resource:someresource#viewer@user:user-4564 + resource:someresource#viewer@user:user-4565 + resource:someresource#viewer@user:user-4566 + resource:someresource#viewer@user:user-4567 + resource:someresource#viewer@user:user-4568 + resource:someresource#viewer@user:user-4569 + resource:someresource#viewer@user:user-4570 + resource:someresource#viewer@user:user-4571 + resource:someresource#viewer@user:user-4572 + resource:someresource#viewer@user:user-4573 + resource:someresource#viewer@user:user-4574 + resource:someresource#viewer@user:user-4575 + resource:someresource#viewer@user:user-4576 + resource:someresource#viewer@user:user-4577 + resource:someresource#viewer@user:user-4578 + resource:someresource#viewer@user:user-4579 + resource:someresource#viewer@user:user-4580 + resource:someresource#viewer@user:user-4581 + resource:someresource#viewer@user:user-4582 + resource:someresource#viewer@user:user-4583 + resource:someresource#viewer@user:user-4584 + resource:someresource#viewer@user:user-4585 + resource:someresource#viewer@user:user-4586 + resource:someresource#viewer@user:user-4587 + resource:someresource#viewer@user:user-4588 + resource:someresource#viewer@user:user-4589 + resource:someresource#viewer@user:user-4590 + resource:someresource#viewer@user:user-4591 + resource:someresource#viewer@user:user-4592 + resource:someresource#viewer@user:user-4593 + resource:someresource#viewer@user:user-4594 + resource:someresource#viewer@user:user-4595 + resource:someresource#viewer@user:user-4596 + resource:someresource#viewer@user:user-4597 + resource:someresource#viewer@user:user-4598 + resource:someresource#viewer@user:user-4599 + resource:someresource#viewer@user:user-4600 + resource:someresource#viewer@user:user-4601 + resource:someresource#viewer@user:user-4602 + resource:someresource#viewer@user:user-4603 + resource:someresource#viewer@user:user-4604 + resource:someresource#viewer@user:user-4605 + resource:someresource#viewer@user:user-4606 + resource:someresource#viewer@user:user-4607 + resource:someresource#viewer@user:user-4608 + resource:someresource#viewer@user:user-4609 + resource:someresource#viewer@user:user-4610 + resource:someresource#viewer@user:user-4611 + resource:someresource#viewer@user:user-4612 + resource:someresource#viewer@user:user-4613 + resource:someresource#viewer@user:user-4614 + resource:someresource#viewer@user:user-4615 + resource:someresource#viewer@user:user-4616 + resource:someresource#viewer@user:user-4617 + resource:someresource#viewer@user:user-4618 + resource:someresource#viewer@user:user-4619 + resource:someresource#viewer@user:user-4620 + resource:someresource#viewer@user:user-4621 + resource:someresource#viewer@user:user-4622 + resource:someresource#viewer@user:user-4623 + resource:someresource#viewer@user:user-4624 + resource:someresource#viewer@user:user-4625 + resource:someresource#viewer@user:user-4626 + resource:someresource#viewer@user:user-4627 + resource:someresource#viewer@user:user-4628 + resource:someresource#viewer@user:user-4629 + resource:someresource#viewer@user:user-4630 + resource:someresource#viewer@user:user-4631 + resource:someresource#viewer@user:user-4632 + resource:someresource#viewer@user:user-4633 + resource:someresource#viewer@user:user-4634 + resource:someresource#viewer@user:user-4635 + resource:someresource#viewer@user:user-4636 + resource:someresource#viewer@user:user-4637 + resource:someresource#viewer@user:user-4638 + resource:someresource#viewer@user:user-4639 + resource:someresource#viewer@user:user-4640 + resource:someresource#viewer@user:user-4641 + resource:someresource#viewer@user:user-4642 + resource:someresource#viewer@user:user-4643 + resource:someresource#viewer@user:user-4644 + resource:someresource#viewer@user:user-4645 + resource:someresource#viewer@user:user-4646 + resource:someresource#viewer@user:user-4647 + resource:someresource#viewer@user:user-4648 + resource:someresource#viewer@user:user-4649 + resource:someresource#viewer@user:user-4650 + resource:someresource#viewer@user:user-4651 + resource:someresource#viewer@user:user-4652 + resource:someresource#viewer@user:user-4653 + resource:someresource#viewer@user:user-4654 + resource:someresource#viewer@user:user-4655 + resource:someresource#viewer@user:user-4656 + resource:someresource#viewer@user:user-4657 + resource:someresource#viewer@user:user-4658 + resource:someresource#viewer@user:user-4659 + resource:someresource#viewer@user:user-4660 + resource:someresource#viewer@user:user-4661 + resource:someresource#viewer@user:user-4662 + resource:someresource#viewer@user:user-4663 + resource:someresource#viewer@user:user-4664 + resource:someresource#viewer@user:user-4665 + resource:someresource#viewer@user:user-4666 + resource:someresource#viewer@user:user-4667 + resource:someresource#viewer@user:user-4668 + resource:someresource#viewer@user:user-4669 + resource:someresource#viewer@user:user-4670 + resource:someresource#viewer@user:user-4671 + resource:someresource#viewer@user:user-4672 + resource:someresource#viewer@user:user-4673 + resource:someresource#viewer@user:user-4674 + resource:someresource#viewer@user:user-4675 + resource:someresource#viewer@user:user-4676 + resource:someresource#viewer@user:user-4677 + resource:someresource#viewer@user:user-4678 + resource:someresource#viewer@user:user-4679 + resource:someresource#viewer@user:user-4680 + resource:someresource#viewer@user:user-4681 + resource:someresource#viewer@user:user-4682 + resource:someresource#viewer@user:user-4683 + resource:someresource#viewer@user:user-4684 + resource:someresource#viewer@user:user-4685 + resource:someresource#viewer@user:user-4686 + resource:someresource#viewer@user:user-4687 + resource:someresource#viewer@user:user-4688 + resource:someresource#viewer@user:user-4689 + resource:someresource#viewer@user:user-4690 + resource:someresource#viewer@user:user-4691 + resource:someresource#viewer@user:user-4692 + resource:someresource#viewer@user:user-4693 + resource:someresource#viewer@user:user-4694 + resource:someresource#viewer@user:user-4695 + resource:someresource#viewer@user:user-4696 + resource:someresource#viewer@user:user-4697 + resource:someresource#viewer@user:user-4698 + resource:someresource#viewer@user:user-4699 + resource:someresource#viewer@user:user-4700 + resource:someresource#viewer@user:user-4701 + resource:someresource#viewer@user:user-4702 + resource:someresource#viewer@user:user-4703 + resource:someresource#viewer@user:user-4704 + resource:someresource#viewer@user:user-4705 + resource:someresource#viewer@user:user-4706 + resource:someresource#viewer@user:user-4707 + resource:someresource#viewer@user:user-4708 + resource:someresource#viewer@user:user-4709 + resource:someresource#viewer@user:user-4710 + resource:someresource#viewer@user:user-4711 + resource:someresource#viewer@user:user-4712 + resource:someresource#viewer@user:user-4713 + resource:someresource#viewer@user:user-4714 + resource:someresource#viewer@user:user-4715 + resource:someresource#viewer@user:user-4716 + resource:someresource#viewer@user:user-4717 + resource:someresource#viewer@user:user-4718 + resource:someresource#viewer@user:user-4719 + resource:someresource#viewer@user:user-4720 + resource:someresource#viewer@user:user-4721 + resource:someresource#viewer@user:user-4722 + resource:someresource#viewer@user:user-4723 + resource:someresource#viewer@user:user-4724 + resource:someresource#viewer@user:user-4725 + resource:someresource#viewer@user:user-4726 + resource:someresource#viewer@user:user-4727 + resource:someresource#viewer@user:user-4728 + resource:someresource#viewer@user:user-4729 + resource:someresource#viewer@user:user-4730 + resource:someresource#viewer@user:user-4731 + resource:someresource#viewer@user:user-4732 + resource:someresource#viewer@user:user-4733 + resource:someresource#viewer@user:user-4734 + resource:someresource#viewer@user:user-4735 + resource:someresource#viewer@user:user-4736 + resource:someresource#viewer@user:user-4737 + resource:someresource#viewer@user:user-4738 + resource:someresource#viewer@user:user-4739 + resource:someresource#viewer@user:user-4740 + resource:someresource#viewer@user:user-4741 + resource:someresource#viewer@user:user-4742 + resource:someresource#viewer@user:user-4743 + resource:someresource#viewer@user:user-4744 + resource:someresource#viewer@user:user-4745 + resource:someresource#viewer@user:user-4746 + resource:someresource#viewer@user:user-4747 + resource:someresource#viewer@user:user-4748 + resource:someresource#viewer@user:user-4749 + resource:someresource#viewer@user:user-4750 + resource:someresource#viewer@user:user-4751 + resource:someresource#viewer@user:user-4752 + resource:someresource#viewer@user:user-4753 + resource:someresource#viewer@user:user-4754 + resource:someresource#viewer@user:user-4755 + resource:someresource#viewer@user:user-4756 + resource:someresource#viewer@user:user-4757 + resource:someresource#viewer@user:user-4758 + resource:someresource#viewer@user:user-4759 + resource:someresource#viewer@user:user-4760 + resource:someresource#viewer@user:user-4761 + resource:someresource#viewer@user:user-4762 + resource:someresource#viewer@user:user-4763 + resource:someresource#viewer@user:user-4764 + resource:someresource#viewer@user:user-4765 + resource:someresource#viewer@user:user-4766 + resource:someresource#viewer@user:user-4767 + resource:someresource#viewer@user:user-4768 + resource:someresource#viewer@user:user-4769 + resource:someresource#viewer@user:user-4770 + resource:someresource#viewer@user:user-4771 + resource:someresource#viewer@user:user-4772 + resource:someresource#viewer@user:user-4773 + resource:someresource#viewer@user:user-4774 + resource:someresource#viewer@user:user-4775 + resource:someresource#viewer@user:user-4776 + resource:someresource#viewer@user:user-4777 + resource:someresource#viewer@user:user-4778 + resource:someresource#viewer@user:user-4779 + resource:someresource#viewer@user:user-4780 + resource:someresource#viewer@user:user-4781 + resource:someresource#viewer@user:user-4782 + resource:someresource#viewer@user:user-4783 + resource:someresource#viewer@user:user-4784 + resource:someresource#viewer@user:user-4785 + resource:someresource#viewer@user:user-4786 + resource:someresource#viewer@user:user-4787 + resource:someresource#viewer@user:user-4788 + resource:someresource#viewer@user:user-4789 + resource:someresource#viewer@user:user-4790 + resource:someresource#viewer@user:user-4791 + resource:someresource#viewer@user:user-4792 + resource:someresource#viewer@user:user-4793 + resource:someresource#viewer@user:user-4794 + resource:someresource#viewer@user:user-4795 + resource:someresource#viewer@user:user-4796 + resource:someresource#viewer@user:user-4797 + resource:someresource#viewer@user:user-4798 + resource:someresource#viewer@user:user-4799 + resource:someresource#viewer@user:user-4800 + resource:someresource#viewer@user:user-4801 + resource:someresource#viewer@user:user-4802 + resource:someresource#viewer@user:user-4803 + resource:someresource#viewer@user:user-4804 + resource:someresource#viewer@user:user-4805 + resource:someresource#viewer@user:user-4806 + resource:someresource#viewer@user:user-4807 + resource:someresource#viewer@user:user-4808 + resource:someresource#viewer@user:user-4809 + resource:someresource#viewer@user:user-4810 + resource:someresource#viewer@user:user-4811 + resource:someresource#viewer@user:user-4812 + resource:someresource#viewer@user:user-4813 + resource:someresource#viewer@user:user-4814 + resource:someresource#viewer@user:user-4815 + resource:someresource#viewer@user:user-4816 + resource:someresource#viewer@user:user-4817 + resource:someresource#viewer@user:user-4818 + resource:someresource#viewer@user:user-4819 + resource:someresource#viewer@user:user-4820 + resource:someresource#viewer@user:user-4821 + resource:someresource#viewer@user:user-4822 + resource:someresource#viewer@user:user-4823 + resource:someresource#viewer@user:user-4824 + resource:someresource#viewer@user:user-4825 + resource:someresource#viewer@user:user-4826 + resource:someresource#viewer@user:user-4827 + resource:someresource#viewer@user:user-4828 + resource:someresource#viewer@user:user-4829 + resource:someresource#viewer@user:user-4830 + resource:someresource#viewer@user:user-4831 + resource:someresource#viewer@user:user-4832 + resource:someresource#viewer@user:user-4833 + resource:someresource#viewer@user:user-4834 + resource:someresource#viewer@user:user-4835 + resource:someresource#viewer@user:user-4836 + resource:someresource#viewer@user:user-4837 + resource:someresource#viewer@user:user-4838 + resource:someresource#viewer@user:user-4839 + resource:someresource#viewer@user:user-4840 + resource:someresource#viewer@user:user-4841 + resource:someresource#viewer@user:user-4842 + resource:someresource#viewer@user:user-4843 + resource:someresource#viewer@user:user-4844 + resource:someresource#viewer@user:user-4845 + resource:someresource#viewer@user:user-4846 + resource:someresource#viewer@user:user-4847 + resource:someresource#viewer@user:user-4848 + resource:someresource#viewer@user:user-4849 + resource:someresource#viewer@user:user-4850 + resource:someresource#viewer@user:user-4851 + resource:someresource#viewer@user:user-4852 + resource:someresource#viewer@user:user-4853 + resource:someresource#viewer@user:user-4854 + resource:someresource#viewer@user:user-4855 + resource:someresource#viewer@user:user-4856 + resource:someresource#viewer@user:user-4857 + resource:someresource#viewer@user:user-4858 + resource:someresource#viewer@user:user-4859 + resource:someresource#viewer@user:user-4860 + resource:someresource#viewer@user:user-4861 + resource:someresource#viewer@user:user-4862 + resource:someresource#viewer@user:user-4863 + resource:someresource#viewer@user:user-4864 + resource:someresource#viewer@user:user-4865 + resource:someresource#viewer@user:user-4866 + resource:someresource#viewer@user:user-4867 + resource:someresource#viewer@user:user-4868 + resource:someresource#viewer@user:user-4869 + resource:someresource#viewer@user:user-4870 + resource:someresource#viewer@user:user-4871 + resource:someresource#viewer@user:user-4872 + resource:someresource#viewer@user:user-4873 + resource:someresource#viewer@user:user-4874 + resource:someresource#viewer@user:user-4875 + resource:someresource#viewer@user:user-4876 + resource:someresource#viewer@user:user-4877 + resource:someresource#viewer@user:user-4878 + resource:someresource#viewer@user:user-4879 + resource:someresource#viewer@user:user-4880 + resource:someresource#viewer@user:user-4881 + resource:someresource#viewer@user:user-4882 + resource:someresource#viewer@user:user-4883 + resource:someresource#viewer@user:user-4884 + resource:someresource#viewer@user:user-4885 + resource:someresource#viewer@user:user-4886 + resource:someresource#viewer@user:user-4887 + resource:someresource#viewer@user:user-4888 + resource:someresource#viewer@user:user-4889 + resource:someresource#viewer@user:user-4890 + resource:someresource#viewer@user:user-4891 + resource:someresource#viewer@user:user-4892 + resource:someresource#viewer@user:user-4893 + resource:someresource#viewer@user:user-4894 + resource:someresource#viewer@user:user-4895 + resource:someresource#viewer@user:user-4896 + resource:someresource#viewer@user:user-4897 + resource:someresource#viewer@user:user-4898 + resource:someresource#viewer@user:user-4899 + resource:someresource#viewer@user:user-4900 + resource:someresource#viewer@user:user-4901 + resource:someresource#viewer@user:user-4902 + resource:someresource#viewer@user:user-4903 + resource:someresource#viewer@user:user-4904 + resource:someresource#viewer@user:user-4905 + resource:someresource#viewer@user:user-4906 + resource:someresource#viewer@user:user-4907 + resource:someresource#viewer@user:user-4908 + resource:someresource#viewer@user:user-4909 + resource:someresource#viewer@user:user-4910 + resource:someresource#viewer@user:user-4911 + resource:someresource#viewer@user:user-4912 + resource:someresource#viewer@user:user-4913 + resource:someresource#viewer@user:user-4914 + resource:someresource#viewer@user:user-4915 + resource:someresource#viewer@user:user-4916 + resource:someresource#viewer@user:user-4917 + resource:someresource#viewer@user:user-4918 + resource:someresource#viewer@user:user-4919 + resource:someresource#viewer@user:user-4920 + resource:someresource#viewer@user:user-4921 + resource:someresource#viewer@user:user-4922 + resource:someresource#viewer@user:user-4923 + resource:someresource#viewer@user:user-4924 + resource:someresource#viewer@user:user-4925 + resource:someresource#viewer@user:user-4926 + resource:someresource#viewer@user:user-4927 + resource:someresource#viewer@user:user-4928 + resource:someresource#viewer@user:user-4929 + resource:someresource#viewer@user:user-4930 + resource:someresource#viewer@user:user-4931 + resource:someresource#viewer@user:user-4932 + resource:someresource#viewer@user:user-4933 + resource:someresource#viewer@user:user-4934 + resource:someresource#viewer@user:user-4935 + resource:someresource#viewer@user:user-4936 + resource:someresource#viewer@user:user-4937 + resource:someresource#viewer@user:user-4938 + resource:someresource#viewer@user:user-4939 + resource:someresource#viewer@user:user-4940 + resource:someresource#viewer@user:user-4941 + resource:someresource#viewer@user:user-4942 + resource:someresource#viewer@user:user-4943 + resource:someresource#viewer@user:user-4944 + resource:someresource#viewer@user:user-4945 + resource:someresource#viewer@user:user-4946 + resource:someresource#viewer@user:user-4947 + resource:someresource#viewer@user:user-4948 + resource:someresource#viewer@user:user-4949 + resource:someresource#viewer@user:user-4950 + resource:someresource#viewer@user:user-4951 + resource:someresource#viewer@user:user-4952 + resource:someresource#viewer@user:user-4953 + resource:someresource#viewer@user:user-4954 + resource:someresource#viewer@user:user-4955 + resource:someresource#viewer@user:user-4956 + resource:someresource#viewer@user:user-4957 + resource:someresource#viewer@user:user-4958 + resource:someresource#viewer@user:user-4959 + resource:someresource#viewer@user:user-4960 + resource:someresource#viewer@user:user-4961 + resource:someresource#viewer@user:user-4962 + resource:someresource#viewer@user:user-4963 + resource:someresource#viewer@user:user-4964 + resource:someresource#viewer@user:user-4965 + resource:someresource#viewer@user:user-4966 + resource:someresource#viewer@user:user-4967 + resource:someresource#viewer@user:user-4968 + resource:someresource#viewer@user:user-4969 + resource:someresource#viewer@user:user-4970 + resource:someresource#viewer@user:user-4971 + resource:someresource#viewer@user:user-4972 + resource:someresource#viewer@user:user-4973 + resource:someresource#viewer@user:user-4974 + resource:someresource#viewer@user:user-4975 + resource:someresource#viewer@user:user-4976 + resource:someresource#viewer@user:user-4977 + resource:someresource#viewer@user:user-4978 + resource:someresource#viewer@user:user-4979 + resource:someresource#viewer@user:user-4980 + resource:someresource#viewer@user:user-4981 + resource:someresource#viewer@user:user-4982 + resource:someresource#viewer@user:user-4983 + resource:someresource#viewer@user:user-4984 + resource:someresource#viewer@user:user-4985 + resource:someresource#viewer@user:user-4986 + resource:someresource#viewer@user:user-4987 + resource:someresource#viewer@user:user-4988 + resource:someresource#viewer@user:user-4989 + resource:someresource#viewer@user:user-4990 + resource:someresource#viewer@user:user-4991 + resource:someresource#viewer@user:user-4992 + resource:someresource#viewer@user:user-4993 + resource:someresource#viewer@user:user-4994 + resource:someresource#viewer@user:user-4995 + resource:someresource#viewer@user:user-4996 + resource:someresource#viewer@user:user-4997 + resource:someresource#viewer@user:user-4998 + resource:someresource#viewer@user:user-4999 + resource:someresource#viewer@user:user-5000 + resource:someresource#viewer@user:user-5001 + resource:someresource#viewer@user:user-5002 + resource:someresource#viewer@user:user-5003 + resource:someresource#viewer@user:user-5004 + resource:someresource#viewer@user:user-5005 + resource:someresource#viewer@user:user-5006 + resource:someresource#viewer@user:user-5007 + resource:someresource#viewer@user:user-5008 + resource:someresource#viewer@user:user-5009 + resource:someresource#viewer@user:user-5010 + resource:someresource#viewer@user:user-5011 + resource:someresource#viewer@user:user-5012 + resource:someresource#viewer@user:user-5013 + resource:someresource#viewer@user:user-5014 + resource:someresource#viewer@user:user-5015 + resource:someresource#viewer@user:user-5016 + resource:someresource#viewer@user:user-5017 + resource:someresource#viewer@user:user-5018 + resource:someresource#viewer@user:user-5019 + resource:someresource#viewer@user:user-5020 + resource:someresource#viewer@user:user-5021 + resource:someresource#viewer@user:user-5022 + resource:someresource#viewer@user:user-5023 + resource:someresource#viewer@user:user-5024 + resource:someresource#viewer@user:user-5025 + resource:someresource#viewer@user:user-5026 + resource:someresource#viewer@user:user-5027 + resource:someresource#viewer@user:user-5028 + resource:someresource#viewer@user:user-5029 + resource:someresource#viewer@user:user-5030 + resource:someresource#viewer@user:user-5031 + resource:someresource#viewer@user:user-5032 + resource:someresource#viewer@user:user-5033 + resource:someresource#viewer@user:user-5034 + resource:someresource#viewer@user:user-5035 + resource:someresource#viewer@user:user-5036 + resource:someresource#viewer@user:user-5037 + resource:someresource#viewer@user:user-5038 + resource:someresource#viewer@user:user-5039 + resource:someresource#viewer@user:user-5040 + resource:someresource#viewer@user:user-5041 + resource:someresource#viewer@user:user-5042 + resource:someresource#viewer@user:user-5043 + resource:someresource#viewer@user:user-5044 + resource:someresource#viewer@user:user-5045 + resource:someresource#viewer@user:user-5046 + resource:someresource#viewer@user:user-5047 + resource:someresource#viewer@user:user-5048 + resource:someresource#viewer@user:user-5049 + resource:someresource#viewer@user:user-5050 + resource:someresource#viewer@user:user-5051 + resource:someresource#viewer@user:user-5052 + resource:someresource#viewer@user:user-5053 + resource:someresource#viewer@user:user-5054 + resource:someresource#viewer@user:user-5055 + resource:someresource#viewer@user:user-5056 + resource:someresource#viewer@user:user-5057 + resource:someresource#viewer@user:user-5058 + resource:someresource#viewer@user:user-5059 + resource:someresource#viewer@user:user-5060 + resource:someresource#viewer@user:user-5061 + resource:someresource#viewer@user:user-5062 + resource:someresource#viewer@user:user-5063 + resource:someresource#viewer@user:user-5064 + resource:someresource#viewer@user:user-5065 + resource:someresource#viewer@user:user-5066 + resource:someresource#viewer@user:user-5067 + resource:someresource#viewer@user:user-5068 + resource:someresource#viewer@user:user-5069 + resource:someresource#viewer@user:user-5070 + resource:someresource#viewer@user:user-5071 + resource:someresource#viewer@user:user-5072 + resource:someresource#viewer@user:user-5073 + resource:someresource#viewer@user:user-5074 + resource:someresource#viewer@user:user-5075 + resource:someresource#viewer@user:user-5076 + resource:someresource#viewer@user:user-5077 + resource:someresource#viewer@user:user-5078 + resource:someresource#viewer@user:user-5079 + resource:someresource#viewer@user:user-5080 + resource:someresource#viewer@user:user-5081 + resource:someresource#viewer@user:user-5082 + resource:someresource#viewer@user:user-5083 + resource:someresource#viewer@user:user-5084 + resource:someresource#viewer@user:user-5085 + resource:someresource#viewer@user:user-5086 + resource:someresource#viewer@user:user-5087 + resource:someresource#viewer@user:user-5088 + resource:someresource#viewer@user:user-5089 + resource:someresource#viewer@user:user-5090 + resource:someresource#viewer@user:user-5091 + resource:someresource#viewer@user:user-5092 + resource:someresource#viewer@user:user-5093 + resource:someresource#viewer@user:user-5094 + resource:someresource#viewer@user:user-5095 + resource:someresource#viewer@user:user-5096 + resource:someresource#viewer@user:user-5097 + resource:someresource#viewer@user:user-5098 + resource:someresource#viewer@user:user-5099 + resource:someresource#viewer@user:user-5100 + resource:someresource#viewer@user:user-5101 + resource:someresource#viewer@user:user-5102 + resource:someresource#viewer@user:user-5103 + resource:someresource#viewer@user:user-5104 + resource:someresource#viewer@user:user-5105 + resource:someresource#viewer@user:user-5106 + resource:someresource#viewer@user:user-5107 + resource:someresource#viewer@user:user-5108 + resource:someresource#viewer@user:user-5109 + resource:someresource#viewer@user:user-5110 + resource:someresource#viewer@user:user-5111 + resource:someresource#viewer@user:user-5112 + resource:someresource#viewer@user:user-5113 + resource:someresource#viewer@user:user-5114 + resource:someresource#viewer@user:user-5115 + resource:someresource#viewer@user:user-5116 + resource:someresource#viewer@user:user-5117 + resource:someresource#viewer@user:user-5118 + resource:someresource#viewer@user:user-5119 + resource:someresource#viewer@user:user-5120 + resource:someresource#viewer@user:user-5121 + resource:someresource#viewer@user:user-5122 + resource:someresource#viewer@user:user-5123 + resource:someresource#viewer@user:user-5124 + resource:someresource#viewer@user:user-5125 + resource:someresource#viewer@user:user-5126 + resource:someresource#viewer@user:user-5127 + resource:someresource#viewer@user:user-5128 + resource:someresource#viewer@user:user-5129 + resource:someresource#viewer@user:user-5130 + resource:someresource#viewer@user:user-5131 + resource:someresource#viewer@user:user-5132 + resource:someresource#viewer@user:user-5133 + resource:someresource#viewer@user:user-5134 + resource:someresource#viewer@user:user-5135 + resource:someresource#viewer@user:user-5136 + resource:someresource#viewer@user:user-5137 + resource:someresource#viewer@user:user-5138 + resource:someresource#viewer@user:user-5139 + resource:someresource#viewer@user:user-5140 + resource:someresource#viewer@user:user-5141 + resource:someresource#viewer@user:user-5142 + resource:someresource#viewer@user:user-5143 + resource:someresource#viewer@user:user-5144 + resource:someresource#viewer@user:user-5145 + resource:someresource#viewer@user:user-5146 + resource:someresource#viewer@user:user-5147 + resource:someresource#viewer@user:user-5148 + resource:someresource#viewer@user:user-5149 + resource:someresource#viewer@user:user-5150 + resource:someresource#viewer@user:user-5151 + resource:someresource#viewer@user:user-5152 + resource:someresource#viewer@user:user-5153 + resource:someresource#viewer@user:user-5154 + resource:someresource#viewer@user:user-5155 + resource:someresource#viewer@user:user-5156 + resource:someresource#viewer@user:user-5157 + resource:someresource#viewer@user:user-5158 + resource:someresource#viewer@user:user-5159 + resource:someresource#viewer@user:user-5160 + resource:someresource#viewer@user:user-5161 + resource:someresource#viewer@user:user-5162 + resource:someresource#viewer@user:user-5163 + resource:someresource#viewer@user:user-5164 + resource:someresource#viewer@user:user-5165 + resource:someresource#viewer@user:user-5166 + resource:someresource#viewer@user:user-5167 + resource:someresource#viewer@user:user-5168 + resource:someresource#viewer@user:user-5169 + resource:someresource#viewer@user:user-5170 + resource:someresource#viewer@user:user-5171 + resource:someresource#viewer@user:user-5172 + resource:someresource#viewer@user:user-5173 + resource:someresource#viewer@user:user-5174 + resource:someresource#viewer@user:user-5175 + resource:someresource#viewer@user:user-5176 + resource:someresource#viewer@user:user-5177 + resource:someresource#viewer@user:user-5178 + resource:someresource#viewer@user:user-5179 + resource:someresource#viewer@user:user-5180 + resource:someresource#viewer@user:user-5181 + resource:someresource#viewer@user:user-5182 + resource:someresource#viewer@user:user-5183 + resource:someresource#viewer@user:user-5184 + resource:someresource#viewer@user:user-5185 + resource:someresource#viewer@user:user-5186 + resource:someresource#viewer@user:user-5187 + resource:someresource#viewer@user:user-5188 + resource:someresource#viewer@user:user-5189 + resource:someresource#viewer@user:user-5190 + resource:someresource#viewer@user:user-5191 + resource:someresource#viewer@user:user-5192 + resource:someresource#viewer@user:user-5193 + resource:someresource#viewer@user:user-5194 + resource:someresource#viewer@user:user-5195 + resource:someresource#viewer@user:user-5196 + resource:someresource#viewer@user:user-5197 + resource:someresource#viewer@user:user-5198 + resource:someresource#viewer@user:user-5199 + resource:someresource#viewer@user:user-5200 + resource:someresource#viewer@user:user-5201 + resource:someresource#viewer@user:user-5202 + resource:someresource#viewer@user:user-5203 + resource:someresource#viewer@user:user-5204 + resource:someresource#viewer@user:user-5205 + resource:someresource#viewer@user:user-5206 + resource:someresource#viewer@user:user-5207 + resource:someresource#viewer@user:user-5208 + resource:someresource#viewer@user:user-5209 + resource:someresource#viewer@user:user-5210 + resource:someresource#viewer@user:user-5211 + resource:someresource#viewer@user:user-5212 + resource:someresource#viewer@user:user-5213 + resource:someresource#viewer@user:user-5214 + resource:someresource#viewer@user:user-5215 + resource:someresource#viewer@user:user-5216 + resource:someresource#viewer@user:user-5217 + resource:someresource#viewer@user:user-5218 + resource:someresource#viewer@user:user-5219 + resource:someresource#viewer@user:user-5220 + resource:someresource#viewer@user:user-5221 + resource:someresource#viewer@user:user-5222 + resource:someresource#viewer@user:user-5223 + resource:someresource#viewer@user:user-5224 + resource:someresource#viewer@user:user-5225 + resource:someresource#viewer@user:user-5226 + resource:someresource#viewer@user:user-5227 + resource:someresource#viewer@user:user-5228 + resource:someresource#viewer@user:user-5229 + resource:someresource#viewer@user:user-5230 + resource:someresource#viewer@user:user-5231 + resource:someresource#viewer@user:user-5232 + resource:someresource#viewer@user:user-5233 + resource:someresource#viewer@user:user-5234 + resource:someresource#viewer@user:user-5235 + resource:someresource#viewer@user:user-5236 + resource:someresource#viewer@user:user-5237 + resource:someresource#viewer@user:user-5238 + resource:someresource#viewer@user:user-5239 + resource:someresource#viewer@user:user-5240 + resource:someresource#viewer@user:user-5241 + resource:someresource#viewer@user:user-5242 + resource:someresource#viewer@user:user-5243 + resource:someresource#viewer@user:user-5244 + resource:someresource#viewer@user:user-5245 + resource:someresource#viewer@user:user-5246 + resource:someresource#viewer@user:user-5247 + resource:someresource#viewer@user:user-5248 + resource:someresource#viewer@user:user-5249 + resource:someresource#viewer@user:user-5250 + resource:someresource#viewer@user:user-5251 + resource:someresource#viewer@user:user-5252 + resource:someresource#viewer@user:user-5253 + resource:someresource#viewer@user:user-5254 + resource:someresource#viewer@user:user-5255 + resource:someresource#viewer@user:user-5256 + resource:someresource#viewer@user:user-5257 + resource:someresource#viewer@user:user-5258 + resource:someresource#viewer@user:user-5259 + resource:someresource#viewer@user:user-5260 + resource:someresource#viewer@user:user-5261 + resource:someresource#viewer@user:user-5262 + resource:someresource#viewer@user:user-5263 + resource:someresource#viewer@user:user-5264 + resource:someresource#viewer@user:user-5265 + resource:someresource#viewer@user:user-5266 + resource:someresource#viewer@user:user-5267 + resource:someresource#viewer@user:user-5268 + resource:someresource#viewer@user:user-5269 + resource:someresource#viewer@user:user-5270 + resource:someresource#viewer@user:user-5271 + resource:someresource#viewer@user:user-5272 + resource:someresource#viewer@user:user-5273 + resource:someresource#viewer@user:user-5274 + resource:someresource#viewer@user:user-5275 + resource:someresource#viewer@user:user-5276 + resource:someresource#viewer@user:user-5277 + resource:someresource#viewer@user:user-5278 + resource:someresource#viewer@user:user-5279 + resource:someresource#viewer@user:user-5280 + resource:someresource#viewer@user:user-5281 + resource:someresource#viewer@user:user-5282 + resource:someresource#viewer@user:user-5283 + resource:someresource#viewer@user:user-5284 + resource:someresource#viewer@user:user-5285 + resource:someresource#viewer@user:user-5286 + resource:someresource#viewer@user:user-5287 + resource:someresource#viewer@user:user-5288 + resource:someresource#viewer@user:user-5289 + resource:someresource#viewer@user:user-5290 + resource:someresource#viewer@user:user-5291 + resource:someresource#viewer@user:user-5292 + resource:someresource#viewer@user:user-5293 + resource:someresource#viewer@user:user-5294 + resource:someresource#viewer@user:user-5295 + resource:someresource#viewer@user:user-5296 + resource:someresource#viewer@user:user-5297 + resource:someresource#viewer@user:user-5298 + resource:someresource#viewer@user:user-5299 + resource:someresource#viewer@user:user-5300 + resource:someresource#viewer@user:user-5301 + resource:someresource#viewer@user:user-5302 + resource:someresource#viewer@user:user-5303 + resource:someresource#viewer@user:user-5304 + resource:someresource#viewer@user:user-5305 + resource:someresource#viewer@user:user-5306 + resource:someresource#viewer@user:user-5307 + resource:someresource#viewer@user:user-5308 + resource:someresource#viewer@user:user-5309 + resource:someresource#viewer@user:user-5310 + resource:someresource#viewer@user:user-5311 + resource:someresource#viewer@user:user-5312 + resource:someresource#viewer@user:user-5313 + resource:someresource#viewer@user:user-5314 + resource:someresource#viewer@user:user-5315 + resource:someresource#viewer@user:user-5316 + resource:someresource#viewer@user:user-5317 + resource:someresource#viewer@user:user-5318 + resource:someresource#viewer@user:user-5319 + resource:someresource#viewer@user:user-5320 + resource:someresource#viewer@user:user-5321 + resource:someresource#viewer@user:user-5322 + resource:someresource#viewer@user:user-5323 + resource:someresource#viewer@user:user-5324 + resource:someresource#viewer@user:user-5325 + resource:someresource#viewer@user:user-5326 + resource:someresource#viewer@user:user-5327 + resource:someresource#viewer@user:user-5328 + resource:someresource#viewer@user:user-5329 + resource:someresource#viewer@user:user-5330 + resource:someresource#viewer@user:user-5331 + resource:someresource#viewer@user:user-5332 + resource:someresource#viewer@user:user-5333 + resource:someresource#viewer@user:user-5334 + resource:someresource#viewer@user:user-5335 + resource:someresource#viewer@user:user-5336 + resource:someresource#viewer@user:user-5337 + resource:someresource#viewer@user:user-5338 + resource:someresource#viewer@user:user-5339 + resource:someresource#viewer@user:user-5340 + resource:someresource#viewer@user:user-5341 + resource:someresource#viewer@user:user-5342 + resource:someresource#viewer@user:user-5343 + resource:someresource#viewer@user:user-5344 + resource:someresource#viewer@user:user-5345 + resource:someresource#viewer@user:user-5346 + resource:someresource#viewer@user:user-5347 + resource:someresource#viewer@user:user-5348 + resource:someresource#viewer@user:user-5349 + resource:someresource#viewer@user:user-5350 + resource:someresource#viewer@user:user-5351 + resource:someresource#viewer@user:user-5352 + resource:someresource#viewer@user:user-5353 + resource:someresource#viewer@user:user-5354 + resource:someresource#viewer@user:user-5355 + resource:someresource#viewer@user:user-5356 + resource:someresource#viewer@user:user-5357 + resource:someresource#viewer@user:user-5358 + resource:someresource#viewer@user:user-5359 + resource:someresource#viewer@user:user-5360 + resource:someresource#viewer@user:user-5361 + resource:someresource#viewer@user:user-5362 + resource:someresource#viewer@user:user-5363 + resource:someresource#viewer@user:user-5364 + resource:someresource#viewer@user:user-5365 + resource:someresource#viewer@user:user-5366 + resource:someresource#viewer@user:user-5367 + resource:someresource#viewer@user:user-5368 + resource:someresource#viewer@user:user-5369 + resource:someresource#viewer@user:user-5370 + resource:someresource#viewer@user:user-5371 + resource:someresource#viewer@user:user-5372 + resource:someresource#viewer@user:user-5373 + resource:someresource#viewer@user:user-5374 + resource:someresource#viewer@user:user-5375 + resource:someresource#viewer@user:user-5376 + resource:someresource#viewer@user:user-5377 + resource:someresource#viewer@user:user-5378 + resource:someresource#viewer@user:user-5379 + resource:someresource#viewer@user:user-5380 + resource:someresource#viewer@user:user-5381 + resource:someresource#viewer@user:user-5382 + resource:someresource#viewer@user:user-5383 + resource:someresource#viewer@user:user-5384 + resource:someresource#viewer@user:user-5385 + resource:someresource#viewer@user:user-5386 + resource:someresource#viewer@user:user-5387 + resource:someresource#viewer@user:user-5388 + resource:someresource#viewer@user:user-5389 + resource:someresource#viewer@user:user-5390 + resource:someresource#viewer@user:user-5391 + resource:someresource#viewer@user:user-5392 + resource:someresource#viewer@user:user-5393 + resource:someresource#viewer@user:user-5394 + resource:someresource#viewer@user:user-5395 + resource:someresource#viewer@user:user-5396 + resource:someresource#viewer@user:user-5397 + resource:someresource#viewer@user:user-5398 + resource:someresource#viewer@user:user-5399 + resource:someresource#viewer@user:user-5400 + resource:someresource#viewer@user:user-5401 + resource:someresource#viewer@user:user-5402 + resource:someresource#viewer@user:user-5403 + resource:someresource#viewer@user:user-5404 + resource:someresource#viewer@user:user-5405 + resource:someresource#viewer@user:user-5406 + resource:someresource#viewer@user:user-5407 + resource:someresource#viewer@user:user-5408 + resource:someresource#viewer@user:user-5409 + resource:someresource#viewer@user:user-5410 + resource:someresource#viewer@user:user-5411 + resource:someresource#viewer@user:user-5412 + resource:someresource#viewer@user:user-5413 + resource:someresource#viewer@user:user-5414 + resource:someresource#viewer@user:user-5415 + resource:someresource#viewer@user:user-5416 + resource:someresource#viewer@user:user-5417 + resource:someresource#viewer@user:user-5418 + resource:someresource#viewer@user:user-5419 + resource:someresource#viewer@user:user-5420 + resource:someresource#viewer@user:user-5421 + resource:someresource#viewer@user:user-5422 + resource:someresource#viewer@user:user-5423 + resource:someresource#viewer@user:user-5424 + resource:someresource#viewer@user:user-5425 + resource:someresource#viewer@user:user-5426 + resource:someresource#viewer@user:user-5427 + resource:someresource#viewer@user:user-5428 + resource:someresource#viewer@user:user-5429 + resource:someresource#viewer@user:user-5430 + resource:someresource#viewer@user:user-5431 + resource:someresource#viewer@user:user-5432 + resource:someresource#viewer@user:user-5433 + resource:someresource#viewer@user:user-5434 + resource:someresource#viewer@user:user-5435 + resource:someresource#viewer@user:user-5436 + resource:someresource#viewer@user:user-5437 + resource:someresource#viewer@user:user-5438 + resource:someresource#viewer@user:user-5439 + resource:someresource#viewer@user:user-5440 + resource:someresource#viewer@user:user-5441 + resource:someresource#viewer@user:user-5442 + resource:someresource#viewer@user:user-5443 + resource:someresource#viewer@user:user-5444 + resource:someresource#viewer@user:user-5445 + resource:someresource#viewer@user:user-5446 + resource:someresource#viewer@user:user-5447 + resource:someresource#viewer@user:user-5448 + resource:someresource#viewer@user:user-5449 + resource:someresource#viewer@user:user-5450 + resource:someresource#viewer@user:user-5451 + resource:someresource#viewer@user:user-5452 + resource:someresource#viewer@user:user-5453 + resource:someresource#viewer@user:user-5454 + resource:someresource#viewer@user:user-5455 + resource:someresource#viewer@user:user-5456 + resource:someresource#viewer@user:user-5457 + resource:someresource#viewer@user:user-5458 + resource:someresource#viewer@user:user-5459 + resource:someresource#viewer@user:user-5460 + resource:someresource#viewer@user:user-5461 + resource:someresource#viewer@user:user-5462 + resource:someresource#viewer@user:user-5463 + resource:someresource#viewer@user:user-5464 + resource:someresource#viewer@user:user-5465 + resource:someresource#viewer@user:user-5466 + resource:someresource#viewer@user:user-5467 + resource:someresource#viewer@user:user-5468 + resource:someresource#viewer@user:user-5469 + resource:someresource#viewer@user:user-5470 + resource:someresource#viewer@user:user-5471 + resource:someresource#viewer@user:user-5472 + resource:someresource#viewer@user:user-5473 + resource:someresource#viewer@user:user-5474 + resource:someresource#viewer@user:user-5475 + resource:someresource#viewer@user:user-5476 + resource:someresource#viewer@user:user-5477 + resource:someresource#viewer@user:user-5478 + resource:someresource#viewer@user:user-5479 + resource:someresource#viewer@user:user-5480 + resource:someresource#viewer@user:user-5481 + resource:someresource#viewer@user:user-5482 + resource:someresource#viewer@user:user-5483 + resource:someresource#viewer@user:user-5484 + resource:someresource#viewer@user:user-5485 + resource:someresource#viewer@user:user-5486 + resource:someresource#viewer@user:user-5487 + resource:someresource#viewer@user:user-5488 + resource:someresource#viewer@user:user-5489 + resource:someresource#viewer@user:user-5490 + resource:someresource#viewer@user:user-5491 + resource:someresource#viewer@user:user-5492 + resource:someresource#viewer@user:user-5493 + resource:someresource#viewer@user:user-5494 + resource:someresource#viewer@user:user-5495 + resource:someresource#viewer@user:user-5496 + resource:someresource#viewer@user:user-5497 + resource:someresource#viewer@user:user-5498 + resource:someresource#viewer@user:user-5499 + resource:someresource#viewer@user:user-5500 + resource:someresource#viewer@user:user-5501 + resource:someresource#viewer@user:user-5502 + resource:someresource#viewer@user:user-5503 + resource:someresource#viewer@user:user-5504 + resource:someresource#viewer@user:user-5505 + resource:someresource#viewer@user:user-5506 + resource:someresource#viewer@user:user-5507 + resource:someresource#viewer@user:user-5508 + resource:someresource#viewer@user:user-5509 + resource:someresource#viewer@user:user-5510 + resource:someresource#viewer@user:user-5511 + resource:someresource#viewer@user:user-5512 + resource:someresource#viewer@user:user-5513 + resource:someresource#viewer@user:user-5514 + resource:someresource#viewer@user:user-5515 + resource:someresource#viewer@user:user-5516 + resource:someresource#viewer@user:user-5517 + resource:someresource#viewer@user:user-5518 + resource:someresource#viewer@user:user-5519 + resource:someresource#viewer@user:user-5520 + resource:someresource#viewer@user:user-5521 + resource:someresource#viewer@user:user-5522 + resource:someresource#viewer@user:user-5523 + resource:someresource#viewer@user:user-5524 + resource:someresource#viewer@user:user-5525 + resource:someresource#viewer@user:user-5526 + resource:someresource#viewer@user:user-5527 + resource:someresource#viewer@user:user-5528 + resource:someresource#viewer@user:user-5529 + resource:someresource#viewer@user:user-5530 + resource:someresource#viewer@user:user-5531 + resource:someresource#viewer@user:user-5532 + resource:someresource#viewer@user:user-5533 + resource:someresource#viewer@user:user-5534 + resource:someresource#viewer@user:user-5535 + resource:someresource#viewer@user:user-5536 + resource:someresource#viewer@user:user-5537 + resource:someresource#viewer@user:user-5538 + resource:someresource#viewer@user:user-5539 + resource:someresource#viewer@user:user-5540 + resource:someresource#viewer@user:user-5541 + resource:someresource#viewer@user:user-5542 + resource:someresource#viewer@user:user-5543 + resource:someresource#viewer@user:user-5544 + resource:someresource#viewer@user:user-5545 + resource:someresource#viewer@user:user-5546 + resource:someresource#viewer@user:user-5547 + resource:someresource#viewer@user:user-5548 + resource:someresource#viewer@user:user-5549 + resource:someresource#viewer@user:user-5550 + resource:someresource#viewer@user:user-5551 + resource:someresource#viewer@user:user-5552 + resource:someresource#viewer@user:user-5553 + resource:someresource#viewer@user:user-5554 + resource:someresource#viewer@user:user-5555 + resource:someresource#viewer@user:user-5556 + resource:someresource#viewer@user:user-5557 + resource:someresource#viewer@user:user-5558 + resource:someresource#viewer@user:user-5559 + resource:someresource#viewer@user:user-5560 + resource:someresource#viewer@user:user-5561 + resource:someresource#viewer@user:user-5562 + resource:someresource#viewer@user:user-5563 + resource:someresource#viewer@user:user-5564 + resource:someresource#viewer@user:user-5565 + resource:someresource#viewer@user:user-5566 + resource:someresource#viewer@user:user-5567 + resource:someresource#viewer@user:user-5568 + resource:someresource#viewer@user:user-5569 + resource:someresource#viewer@user:user-5570 + resource:someresource#viewer@user:user-5571 + resource:someresource#viewer@user:user-5572 + resource:someresource#viewer@user:user-5573 + resource:someresource#viewer@user:user-5574 + resource:someresource#viewer@user:user-5575 + resource:someresource#viewer@user:user-5576 + resource:someresource#viewer@user:user-5577 + resource:someresource#viewer@user:user-5578 + resource:someresource#viewer@user:user-5579 + resource:someresource#viewer@user:user-5580 + resource:someresource#viewer@user:user-5581 + resource:someresource#viewer@user:user-5582 + resource:someresource#viewer@user:user-5583 + resource:someresource#viewer@user:user-5584 + resource:someresource#viewer@user:user-5585 + resource:someresource#viewer@user:user-5586 + resource:someresource#viewer@user:user-5587 + resource:someresource#viewer@user:user-5588 + resource:someresource#viewer@user:user-5589 + resource:someresource#viewer@user:user-5590 + resource:someresource#viewer@user:user-5591 + resource:someresource#viewer@user:user-5592 + resource:someresource#viewer@user:user-5593 + resource:someresource#viewer@user:user-5594 + resource:someresource#viewer@user:user-5595 + resource:someresource#viewer@user:user-5596 + resource:someresource#viewer@user:user-5597 + resource:someresource#viewer@user:user-5598 + resource:someresource#viewer@user:user-5599 + resource:someresource#viewer@user:user-5600 + resource:someresource#viewer@user:user-5601 + resource:someresource#viewer@user:user-5602 + resource:someresource#viewer@user:user-5603 + resource:someresource#viewer@user:user-5604 + resource:someresource#viewer@user:user-5605 + resource:someresource#viewer@user:user-5606 + resource:someresource#viewer@user:user-5607 + resource:someresource#viewer@user:user-5608 + resource:someresource#viewer@user:user-5609 + resource:someresource#viewer@user:user-5610 + resource:someresource#viewer@user:user-5611 + resource:someresource#viewer@user:user-5612 + resource:someresource#viewer@user:user-5613 + resource:someresource#viewer@user:user-5614 + resource:someresource#viewer@user:user-5615 + resource:someresource#viewer@user:user-5616 + resource:someresource#viewer@user:user-5617 + resource:someresource#viewer@user:user-5618 + resource:someresource#viewer@user:user-5619 + resource:someresource#viewer@user:user-5620 + resource:someresource#viewer@user:user-5621 + resource:someresource#viewer@user:user-5622 + resource:someresource#viewer@user:user-5623 + resource:someresource#viewer@user:user-5624 + resource:someresource#viewer@user:user-5625 + resource:someresource#viewer@user:user-5626 + resource:someresource#viewer@user:user-5627 + resource:someresource#viewer@user:user-5628 + resource:someresource#viewer@user:user-5629 + resource:someresource#viewer@user:user-5630 + resource:someresource#viewer@user:user-5631 + resource:someresource#viewer@user:user-5632 + resource:someresource#viewer@user:user-5633 + resource:someresource#viewer@user:user-5634 + resource:someresource#viewer@user:user-5635 + resource:someresource#viewer@user:user-5636 + resource:someresource#viewer@user:user-5637 + resource:someresource#viewer@user:user-5638 + resource:someresource#viewer@user:user-5639 + resource:someresource#viewer@user:user-5640 + resource:someresource#viewer@user:user-5641 + resource:someresource#viewer@user:user-5642 + resource:someresource#viewer@user:user-5643 + resource:someresource#viewer@user:user-5644 + resource:someresource#viewer@user:user-5645 + resource:someresource#viewer@user:user-5646 + resource:someresource#viewer@user:user-5647 + resource:someresource#viewer@user:user-5648 + resource:someresource#viewer@user:user-5649 + resource:someresource#viewer@user:user-5650 + resource:someresource#viewer@user:user-5651 + resource:someresource#viewer@user:user-5652 + resource:someresource#viewer@user:user-5653 + resource:someresource#viewer@user:user-5654 + resource:someresource#viewer@user:user-5655 + resource:someresource#viewer@user:user-5656 + resource:someresource#viewer@user:user-5657 + resource:someresource#viewer@user:user-5658 + resource:someresource#viewer@user:user-5659 + resource:someresource#viewer@user:user-5660 + resource:someresource#viewer@user:user-5661 + resource:someresource#viewer@user:user-5662 + resource:someresource#viewer@user:user-5663 + resource:someresource#viewer@user:user-5664 + resource:someresource#viewer@user:user-5665 + resource:someresource#viewer@user:user-5666 + resource:someresource#viewer@user:user-5667 + resource:someresource#viewer@user:user-5668 + resource:someresource#viewer@user:user-5669 + resource:someresource#viewer@user:user-5670 + resource:someresource#viewer@user:user-5671 + resource:someresource#viewer@user:user-5672 + resource:someresource#viewer@user:user-5673 + resource:someresource#viewer@user:user-5674 + resource:someresource#viewer@user:user-5675 + resource:someresource#viewer@user:user-5676 + resource:someresource#viewer@user:user-5677 + resource:someresource#viewer@user:user-5678 + resource:someresource#viewer@user:user-5679 + resource:someresource#viewer@user:user-5680 + resource:someresource#viewer@user:user-5681 + resource:someresource#viewer@user:user-5682 + resource:someresource#viewer@user:user-5683 + resource:someresource#viewer@user:user-5684 + resource:someresource#viewer@user:user-5685 + resource:someresource#viewer@user:user-5686 + resource:someresource#viewer@user:user-5687 + resource:someresource#viewer@user:user-5688 + resource:someresource#viewer@user:user-5689 + resource:someresource#viewer@user:user-5690 + resource:someresource#viewer@user:user-5691 + resource:someresource#viewer@user:user-5692 + resource:someresource#viewer@user:user-5693 + resource:someresource#viewer@user:user-5694 + resource:someresource#viewer@user:user-5695 + resource:someresource#viewer@user:user-5696 + resource:someresource#viewer@user:user-5697 + resource:someresource#viewer@user:user-5698 + resource:someresource#viewer@user:user-5699 + resource:someresource#viewer@user:user-5700 + resource:someresource#viewer@user:user-5701 + resource:someresource#viewer@user:user-5702 + resource:someresource#viewer@user:user-5703 + resource:someresource#viewer@user:user-5704 + resource:someresource#viewer@user:user-5705 + resource:someresource#viewer@user:user-5706 + resource:someresource#viewer@user:user-5707 + resource:someresource#viewer@user:user-5708 + resource:someresource#viewer@user:user-5709 + resource:someresource#viewer@user:user-5710 + resource:someresource#viewer@user:user-5711 + resource:someresource#viewer@user:user-5712 + resource:someresource#viewer@user:user-5713 + resource:someresource#viewer@user:user-5714 + resource:someresource#viewer@user:user-5715 + resource:someresource#viewer@user:user-5716 + resource:someresource#viewer@user:user-5717 + resource:someresource#viewer@user:user-5718 + resource:someresource#viewer@user:user-5719 + resource:someresource#viewer@user:user-5720 + resource:someresource#viewer@user:user-5721 + resource:someresource#viewer@user:user-5722 + resource:someresource#viewer@user:user-5723 + resource:someresource#viewer@user:user-5724 + resource:someresource#viewer@user:user-5725 + resource:someresource#viewer@user:user-5726 + resource:someresource#viewer@user:user-5727 + resource:someresource#viewer@user:user-5728 + resource:someresource#viewer@user:user-5729 + resource:someresource#viewer@user:user-5730 + resource:someresource#viewer@user:user-5731 + resource:someresource#viewer@user:user-5732 + resource:someresource#viewer@user:user-5733 + resource:someresource#viewer@user:user-5734 + resource:someresource#viewer@user:user-5735 + resource:someresource#viewer@user:user-5736 + resource:someresource#viewer@user:user-5737 + resource:someresource#viewer@user:user-5738 + resource:someresource#viewer@user:user-5739 + resource:someresource#viewer@user:user-5740 + resource:someresource#viewer@user:user-5741 + resource:someresource#viewer@user:user-5742 + resource:someresource#viewer@user:user-5743 + resource:someresource#viewer@user:user-5744 + resource:someresource#viewer@user:user-5745 + resource:someresource#viewer@user:user-5746 + resource:someresource#viewer@user:user-5747 + resource:someresource#viewer@user:user-5748 + resource:someresource#viewer@user:user-5749 + resource:someresource#viewer@user:user-5750 + resource:someresource#viewer@user:user-5751 + resource:someresource#viewer@user:user-5752 + resource:someresource#viewer@user:user-5753 + resource:someresource#viewer@user:user-5754 + resource:someresource#viewer@user:user-5755 + resource:someresource#viewer@user:user-5756 + resource:someresource#viewer@user:user-5757 + resource:someresource#viewer@user:user-5758 + resource:someresource#viewer@user:user-5759 + resource:someresource#viewer@user:user-5760 + resource:someresource#viewer@user:user-5761 + resource:someresource#viewer@user:user-5762 + resource:someresource#viewer@user:user-5763 + resource:someresource#viewer@user:user-5764 + resource:someresource#viewer@user:user-5765 + resource:someresource#viewer@user:user-5766 + resource:someresource#viewer@user:user-5767 + resource:someresource#viewer@user:user-5768 + resource:someresource#viewer@user:user-5769 + resource:someresource#viewer@user:user-5770 + resource:someresource#viewer@user:user-5771 + resource:someresource#viewer@user:user-5772 + resource:someresource#viewer@user:user-5773 + resource:someresource#viewer@user:user-5774 + resource:someresource#viewer@user:user-5775 + resource:someresource#viewer@user:user-5776 + resource:someresource#viewer@user:user-5777 + resource:someresource#viewer@user:user-5778 + resource:someresource#viewer@user:user-5779 + resource:someresource#viewer@user:user-5780 + resource:someresource#viewer@user:user-5781 + resource:someresource#viewer@user:user-5782 + resource:someresource#viewer@user:user-5783 + resource:someresource#viewer@user:user-5784 + resource:someresource#viewer@user:user-5785 + resource:someresource#viewer@user:user-5786 + resource:someresource#viewer@user:user-5787 + resource:someresource#viewer@user:user-5788 + resource:someresource#viewer@user:user-5789 + resource:someresource#viewer@user:user-5790 + resource:someresource#viewer@user:user-5791 + resource:someresource#viewer@user:user-5792 + resource:someresource#viewer@user:user-5793 + resource:someresource#viewer@user:user-5794 + resource:someresource#viewer@user:user-5795 + resource:someresource#viewer@user:user-5796 + resource:someresource#viewer@user:user-5797 + resource:someresource#viewer@user:user-5798 + resource:someresource#viewer@user:user-5799 + resource:someresource#viewer@user:user-5800 + resource:someresource#viewer@user:user-5801 + resource:someresource#viewer@user:user-5802 + resource:someresource#viewer@user:user-5803 + resource:someresource#viewer@user:user-5804 + resource:someresource#viewer@user:user-5805 + resource:someresource#viewer@user:user-5806 + resource:someresource#viewer@user:user-5807 + resource:someresource#viewer@user:user-5808 + resource:someresource#viewer@user:user-5809 + resource:someresource#viewer@user:user-5810 + resource:someresource#viewer@user:user-5811 + resource:someresource#viewer@user:user-5812 + resource:someresource#viewer@user:user-5813 + resource:someresource#viewer@user:user-5814 + resource:someresource#viewer@user:user-5815 + resource:someresource#viewer@user:user-5816 + resource:someresource#viewer@user:user-5817 + resource:someresource#viewer@user:user-5818 + resource:someresource#viewer@user:user-5819 + resource:someresource#viewer@user:user-5820 + resource:someresource#viewer@user:user-5821 + resource:someresource#viewer@user:user-5822 + resource:someresource#viewer@user:user-5823 + resource:someresource#viewer@user:user-5824 + resource:someresource#viewer@user:user-5825 + resource:someresource#viewer@user:user-5826 + resource:someresource#viewer@user:user-5827 + resource:someresource#viewer@user:user-5828 + resource:someresource#viewer@user:user-5829 + resource:someresource#viewer@user:user-5830 + resource:someresource#viewer@user:user-5831 + resource:someresource#viewer@user:user-5832 + resource:someresource#viewer@user:user-5833 + resource:someresource#viewer@user:user-5834 + resource:someresource#viewer@user:user-5835 + resource:someresource#viewer@user:user-5836 + resource:someresource#viewer@user:user-5837 + resource:someresource#viewer@user:user-5838 + resource:someresource#viewer@user:user-5839 + resource:someresource#viewer@user:user-5840 + resource:someresource#viewer@user:user-5841 + resource:someresource#viewer@user:user-5842 + resource:someresource#viewer@user:user-5843 + resource:someresource#viewer@user:user-5844 + resource:someresource#viewer@user:user-5845 + resource:someresource#viewer@user:user-5846 + resource:someresource#viewer@user:user-5847 + resource:someresource#viewer@user:user-5848 + resource:someresource#viewer@user:user-5849 + resource:someresource#viewer@user:user-5850 + resource:someresource#viewer@user:user-5851 + resource:someresource#viewer@user:user-5852 + resource:someresource#viewer@user:user-5853 + resource:someresource#viewer@user:user-5854 + resource:someresource#viewer@user:user-5855 + resource:someresource#viewer@user:user-5856 + resource:someresource#viewer@user:user-5857 + resource:someresource#viewer@user:user-5858 + resource:someresource#viewer@user:user-5859 + resource:someresource#viewer@user:user-5860 + resource:someresource#viewer@user:user-5861 + resource:someresource#viewer@user:user-5862 + resource:someresource#viewer@user:user-5863 + resource:someresource#viewer@user:user-5864 + resource:someresource#viewer@user:user-5865 + resource:someresource#viewer@user:user-5866 + resource:someresource#viewer@user:user-5867 + resource:someresource#viewer@user:user-5868 + resource:someresource#viewer@user:user-5869 + resource:someresource#viewer@user:user-5870 + resource:someresource#viewer@user:user-5871 + resource:someresource#viewer@user:user-5872 + resource:someresource#viewer@user:user-5873 + resource:someresource#viewer@user:user-5874 + resource:someresource#viewer@user:user-5875 + resource:someresource#viewer@user:user-5876 + resource:someresource#viewer@user:user-5877 + resource:someresource#viewer@user:user-5878 + resource:someresource#viewer@user:user-5879 + resource:someresource#viewer@user:user-5880 + resource:someresource#viewer@user:user-5881 + resource:someresource#viewer@user:user-5882 + resource:someresource#viewer@user:user-5883 + resource:someresource#viewer@user:user-5884 + resource:someresource#viewer@user:user-5885 + resource:someresource#viewer@user:user-5886 + resource:someresource#viewer@user:user-5887 + resource:someresource#viewer@user:user-5888 + resource:someresource#viewer@user:user-5889 + resource:someresource#viewer@user:user-5890 + resource:someresource#viewer@user:user-5891 + resource:someresource#viewer@user:user-5892 + resource:someresource#viewer@user:user-5893 + resource:someresource#viewer@user:user-5894 + resource:someresource#viewer@user:user-5895 + resource:someresource#viewer@user:user-5896 + resource:someresource#viewer@user:user-5897 + resource:someresource#viewer@user:user-5898 + resource:someresource#viewer@user:user-5899 + resource:someresource#viewer@user:user-5900 + resource:someresource#viewer@user:user-5901 + resource:someresource#viewer@user:user-5902 + resource:someresource#viewer@user:user-5903 + resource:someresource#viewer@user:user-5904 + resource:someresource#viewer@user:user-5905 + resource:someresource#viewer@user:user-5906 + resource:someresource#viewer@user:user-5907 + resource:someresource#viewer@user:user-5908 + resource:someresource#viewer@user:user-5909 + resource:someresource#viewer@user:user-5910 + resource:someresource#viewer@user:user-5911 + resource:someresource#viewer@user:user-5912 + resource:someresource#viewer@user:user-5913 + resource:someresource#viewer@user:user-5914 + resource:someresource#viewer@user:user-5915 + resource:someresource#viewer@user:user-5916 + resource:someresource#viewer@user:user-5917 + resource:someresource#viewer@user:user-5918 + resource:someresource#viewer@user:user-5919 + resource:someresource#viewer@user:user-5920 + resource:someresource#viewer@user:user-5921 + resource:someresource#viewer@user:user-5922 + resource:someresource#viewer@user:user-5923 + resource:someresource#viewer@user:user-5924 + resource:someresource#viewer@user:user-5925 + resource:someresource#viewer@user:user-5926 + resource:someresource#viewer@user:user-5927 + resource:someresource#viewer@user:user-5928 + resource:someresource#viewer@user:user-5929 + resource:someresource#viewer@user:user-5930 + resource:someresource#viewer@user:user-5931 + resource:someresource#viewer@user:user-5932 + resource:someresource#viewer@user:user-5933 + resource:someresource#viewer@user:user-5934 + resource:someresource#viewer@user:user-5935 + resource:someresource#viewer@user:user-5936 + resource:someresource#viewer@user:user-5937 + resource:someresource#viewer@user:user-5938 + resource:someresource#viewer@user:user-5939 + resource:someresource#viewer@user:user-5940 + resource:someresource#viewer@user:user-5941 + resource:someresource#viewer@user:user-5942 + resource:someresource#viewer@user:user-5943 + resource:someresource#viewer@user:user-5944 + resource:someresource#viewer@user:user-5945 + resource:someresource#viewer@user:user-5946 + resource:someresource#viewer@user:user-5947 + resource:someresource#viewer@user:user-5948 + resource:someresource#viewer@user:user-5949 + resource:someresource#viewer@user:user-5950 + resource:someresource#viewer@user:user-5951 + resource:someresource#viewer@user:user-5952 + resource:someresource#viewer@user:user-5953 + resource:someresource#viewer@user:user-5954 + resource:someresource#viewer@user:user-5955 + resource:someresource#viewer@user:user-5956 + resource:someresource#viewer@user:user-5957 + resource:someresource#viewer@user:user-5958 + resource:someresource#viewer@user:user-5959 + resource:someresource#viewer@user:user-5960 + resource:someresource#viewer@user:user-5961 + resource:someresource#viewer@user:user-5962 + resource:someresource#viewer@user:user-5963 + resource:someresource#viewer@user:user-5964 + resource:someresource#viewer@user:user-5965 + resource:someresource#viewer@user:user-5966 + resource:someresource#viewer@user:user-5967 + resource:someresource#viewer@user:user-5968 + resource:someresource#viewer@user:user-5969 + resource:someresource#viewer@user:user-5970 + resource:someresource#viewer@user:user-5971 + resource:someresource#viewer@user:user-5972 + resource:someresource#viewer@user:user-5973 + resource:someresource#viewer@user:user-5974 + resource:someresource#viewer@user:user-5975 + resource:someresource#viewer@user:user-5976 + resource:someresource#viewer@user:user-5977 + resource:someresource#viewer@user:user-5978 + resource:someresource#viewer@user:user-5979 + resource:someresource#viewer@user:user-5980 + resource:someresource#viewer@user:user-5981 + resource:someresource#viewer@user:user-5982 + resource:someresource#viewer@user:user-5983 + resource:someresource#viewer@user:user-5984 + resource:someresource#viewer@user:user-5985 + resource:someresource#viewer@user:user-5986 + resource:someresource#viewer@user:user-5987 + resource:someresource#viewer@user:user-5988 + resource:someresource#viewer@user:user-5989 + resource:someresource#viewer@user:user-5990 + resource:someresource#viewer@user:user-5991 + resource:someresource#viewer@user:user-5992 + resource:someresource#viewer@user:user-5993 + resource:someresource#viewer@user:user-5994 + resource:someresource#viewer@user:user-5995 + resource:someresource#viewer@user:user-5996 + resource:someresource#viewer@user:user-5997 + resource:someresource#viewer@user:user-5998 + resource:someresource#viewer@user:user-5999 + resource:someresource#viewer@user:user-6000 + resource:someresource#viewer@user:user-6001 + resource:someresource#viewer@user:user-6002 + resource:someresource#viewer@user:user-6003 + resource:someresource#viewer@user:user-6004 + resource:someresource#viewer@user:user-6005 + resource:someresource#viewer@user:user-6006 + resource:someresource#viewer@user:user-6007 + resource:someresource#viewer@user:user-6008 + resource:someresource#viewer@user:user-6009 + resource:someresource#viewer@user:user-6010 + resource:someresource#viewer@user:user-6011 + resource:someresource#viewer@user:user-6012 + resource:someresource#viewer@user:user-6013 + resource:someresource#viewer@user:user-6014 + resource:someresource#viewer@user:user-6015 + resource:someresource#viewer@user:user-6016 + resource:someresource#viewer@user:user-6017 + resource:someresource#viewer@user:user-6018 + resource:someresource#viewer@user:user-6019 + resource:someresource#viewer@user:user-6020 + resource:someresource#viewer@user:user-6021 + resource:someresource#viewer@user:user-6022 + resource:someresource#viewer@user:user-6023 + resource:someresource#viewer@user:user-6024 + resource:someresource#viewer@user:user-6025 + resource:someresource#viewer@user:user-6026 + resource:someresource#viewer@user:user-6027 + resource:someresource#viewer@user:user-6028 + resource:someresource#viewer@user:user-6029 + resource:someresource#viewer@user:user-6030 + resource:someresource#viewer@user:user-6031 + resource:someresource#viewer@user:user-6032 + resource:someresource#viewer@user:user-6033 + resource:someresource#viewer@user:user-6034 + resource:someresource#viewer@user:user-6035 + resource:someresource#viewer@user:user-6036 + resource:someresource#viewer@user:user-6037 + resource:someresource#viewer@user:user-6038 + resource:someresource#viewer@user:user-6039 + resource:someresource#viewer@user:user-6040 + resource:someresource#viewer@user:user-6041 + resource:someresource#viewer@user:user-6042 + resource:someresource#viewer@user:user-6043 + resource:someresource#viewer@user:user-6044 + resource:someresource#viewer@user:user-6045 + resource:someresource#viewer@user:user-6046 + resource:someresource#viewer@user:user-6047 + resource:someresource#viewer@user:user-6048 + resource:someresource#viewer@user:user-6049 + resource:someresource#viewer@user:user-6050 + resource:someresource#viewer@user:user-6051 + resource:someresource#viewer@user:user-6052 + resource:someresource#viewer@user:user-6053 + resource:someresource#viewer@user:user-6054 + resource:someresource#viewer@user:user-6055 + resource:someresource#viewer@user:user-6056 + resource:someresource#viewer@user:user-6057 + resource:someresource#viewer@user:user-6058 + resource:someresource#viewer@user:user-6059 + resource:someresource#viewer@user:user-6060 + resource:someresource#viewer@user:user-6061 + resource:someresource#viewer@user:user-6062 + resource:someresource#viewer@user:user-6063 + resource:someresource#viewer@user:user-6064 + resource:someresource#viewer@user:user-6065 + resource:someresource#viewer@user:user-6066 + resource:someresource#viewer@user:user-6067 + resource:someresource#viewer@user:user-6068 + resource:someresource#viewer@user:user-6069 + resource:someresource#viewer@user:user-6070 + resource:someresource#viewer@user:user-6071 + resource:someresource#viewer@user:user-6072 + resource:someresource#viewer@user:user-6073 + resource:someresource#viewer@user:user-6074 + resource:someresource#viewer@user:user-6075 + resource:someresource#viewer@user:user-6076 + resource:someresource#viewer@user:user-6077 + resource:someresource#viewer@user:user-6078 + resource:someresource#viewer@user:user-6079 + resource:someresource#viewer@user:user-6080 + resource:someresource#viewer@user:user-6081 + resource:someresource#viewer@user:user-6082 + resource:someresource#viewer@user:user-6083 + resource:someresource#viewer@user:user-6084 + resource:someresource#viewer@user:user-6085 + resource:someresource#viewer@user:user-6086 + resource:someresource#viewer@user:user-6087 + resource:someresource#viewer@user:user-6088 + resource:someresource#viewer@user:user-6089 + resource:someresource#viewer@user:user-6090 + resource:someresource#viewer@user:user-6091 + resource:someresource#viewer@user:user-6092 + resource:someresource#viewer@user:user-6093 + resource:someresource#viewer@user:user-6094 + resource:someresource#viewer@user:user-6095 + resource:someresource#viewer@user:user-6096 + resource:someresource#viewer@user:user-6097 + resource:someresource#viewer@user:user-6098 + resource:someresource#viewer@user:user-6099 + resource:someresource#viewer@user:user-6100 + resource:someresource#viewer@user:user-6101 + resource:someresource#viewer@user:user-6102 + resource:someresource#viewer@user:user-6103 + resource:someresource#viewer@user:user-6104 + resource:someresource#viewer@user:user-6105 + resource:someresource#viewer@user:user-6106 + resource:someresource#viewer@user:user-6107 + resource:someresource#viewer@user:user-6108 + resource:someresource#viewer@user:user-6109 + resource:someresource#viewer@user:user-6110 + resource:someresource#viewer@user:user-6111 + resource:someresource#viewer@user:user-6112 + resource:someresource#viewer@user:user-6113 + resource:someresource#viewer@user:user-6114 + resource:someresource#viewer@user:user-6115 + resource:someresource#viewer@user:user-6116 + resource:someresource#viewer@user:user-6117 + resource:someresource#viewer@user:user-6118 + resource:someresource#viewer@user:user-6119 + resource:someresource#viewer@user:user-6120 + resource:someresource#viewer@user:user-6121 + resource:someresource#viewer@user:user-6122 + resource:someresource#viewer@user:user-6123 + resource:someresource#viewer@user:user-6124 + resource:someresource#viewer@user:user-6125 + resource:someresource#viewer@user:user-6126 + resource:someresource#viewer@user:user-6127 + resource:someresource#viewer@user:user-6128 + resource:someresource#viewer@user:user-6129 + resource:someresource#viewer@user:user-6130 + resource:someresource#viewer@user:user-6131 + resource:someresource#viewer@user:user-6132 + resource:someresource#viewer@user:user-6133 + resource:someresource#viewer@user:user-6134 + resource:someresource#viewer@user:user-6135 + resource:someresource#viewer@user:user-6136 + resource:someresource#viewer@user:user-6137 + resource:someresource#viewer@user:user-6138 + resource:someresource#viewer@user:user-6139 + resource:someresource#viewer@user:user-6140 + resource:someresource#viewer@user:user-6141 + resource:someresource#viewer@user:user-6142 + resource:someresource#viewer@user:user-6143 + resource:someresource#viewer@user:user-6144 + resource:someresource#viewer@user:user-6145 + resource:someresource#viewer@user:user-6146 + resource:someresource#viewer@user:user-6147 + resource:someresource#viewer@user:user-6148 + resource:someresource#viewer@user:user-6149 + resource:someresource#viewer@user:user-6150 + resource:someresource#viewer@user:user-6151 + resource:someresource#viewer@user:user-6152 + resource:someresource#viewer@user:user-6153 + resource:someresource#viewer@user:user-6154 + resource:someresource#viewer@user:user-6155 + resource:someresource#viewer@user:user-6156 + resource:someresource#viewer@user:user-6157 + resource:someresource#viewer@user:user-6158 + resource:someresource#viewer@user:user-6159 + resource:someresource#viewer@user:user-6160 + resource:someresource#viewer@user:user-6161 + resource:someresource#viewer@user:user-6162 + resource:someresource#viewer@user:user-6163 + resource:someresource#viewer@user:user-6164 + resource:someresource#viewer@user:user-6165 + resource:someresource#viewer@user:user-6166 + resource:someresource#viewer@user:user-6167 + resource:someresource#viewer@user:user-6168 + resource:someresource#viewer@user:user-6169 + resource:someresource#viewer@user:user-6170 + resource:someresource#viewer@user:user-6171 + resource:someresource#viewer@user:user-6172 + resource:someresource#viewer@user:user-6173 + resource:someresource#viewer@user:user-6174 + resource:someresource#viewer@user:user-6175 + resource:someresource#viewer@user:user-6176 + resource:someresource#viewer@user:user-6177 + resource:someresource#viewer@user:user-6178 + resource:someresource#viewer@user:user-6179 + resource:someresource#viewer@user:user-6180 + resource:someresource#viewer@user:user-6181 + resource:someresource#viewer@user:user-6182 + resource:someresource#viewer@user:user-6183 + resource:someresource#viewer@user:user-6184 + resource:someresource#viewer@user:user-6185 + resource:someresource#viewer@user:user-6186 + resource:someresource#viewer@user:user-6187 + resource:someresource#viewer@user:user-6188 + resource:someresource#viewer@user:user-6189 + resource:someresource#viewer@user:user-6190 + resource:someresource#viewer@user:user-6191 + resource:someresource#viewer@user:user-6192 + resource:someresource#viewer@user:user-6193 + resource:someresource#viewer@user:user-6194 + resource:someresource#viewer@user:user-6195 + resource:someresource#viewer@user:user-6196 + resource:someresource#viewer@user:user-6197 + resource:someresource#viewer@user:user-6198 + resource:someresource#viewer@user:user-6199 + resource:someresource#viewer@user:user-6200 + resource:someresource#viewer@user:user-6201 + resource:someresource#viewer@user:user-6202 + resource:someresource#viewer@user:user-6203 + resource:someresource#viewer@user:user-6204 + resource:someresource#viewer@user:user-6205 + resource:someresource#viewer@user:user-6206 + resource:someresource#viewer@user:user-6207 + resource:someresource#viewer@user:user-6208 + resource:someresource#viewer@user:user-6209 + resource:someresource#viewer@user:user-6210 + resource:someresource#viewer@user:user-6211 + resource:someresource#viewer@user:user-6212 + resource:someresource#viewer@user:user-6213 + resource:someresource#viewer@user:user-6214 + resource:someresource#viewer@user:user-6215 + resource:someresource#viewer@user:user-6216 + resource:someresource#viewer@user:user-6217 + resource:someresource#viewer@user:user-6218 + resource:someresource#viewer@user:user-6219 + resource:someresource#viewer@user:user-6220 + resource:someresource#viewer@user:user-6221 + resource:someresource#viewer@user:user-6222 + resource:someresource#viewer@user:user-6223 + resource:someresource#viewer@user:user-6224 + resource:someresource#viewer@user:user-6225 + resource:someresource#viewer@user:user-6226 + resource:someresource#viewer@user:user-6227 + resource:someresource#viewer@user:user-6228 + resource:someresource#viewer@user:user-6229 + resource:someresource#viewer@user:user-6230 + resource:someresource#viewer@user:user-6231 + resource:someresource#viewer@user:user-6232 + resource:someresource#viewer@user:user-6233 + resource:someresource#viewer@user:user-6234 + resource:someresource#viewer@user:user-6235 + resource:someresource#viewer@user:user-6236 + resource:someresource#viewer@user:user-6237 + resource:someresource#viewer@user:user-6238 + resource:someresource#viewer@user:user-6239 + resource:someresource#viewer@user:user-6240 + resource:someresource#viewer@user:user-6241 + resource:someresource#viewer@user:user-6242 + resource:someresource#viewer@user:user-6243 + resource:someresource#viewer@user:user-6244 + resource:someresource#viewer@user:user-6245 + resource:someresource#viewer@user:user-6246 + resource:someresource#viewer@user:user-6247 + resource:someresource#viewer@user:user-6248 + resource:someresource#viewer@user:user-6249 + resource:someresource#viewer@user:user-6250 + resource:someresource#viewer@user:user-6251 + resource:someresource#viewer@user:user-6252 + resource:someresource#viewer@user:user-6253 + resource:someresource#viewer@user:user-6254 + resource:someresource#viewer@user:user-6255 + resource:someresource#viewer@user:user-6256 + resource:someresource#viewer@user:user-6257 + resource:someresource#viewer@user:user-6258 + resource:someresource#viewer@user:user-6259 + resource:someresource#viewer@user:user-6260 + resource:someresource#viewer@user:user-6261 + resource:someresource#viewer@user:user-6262 + resource:someresource#viewer@user:user-6263 + resource:someresource#viewer@user:user-6264 + resource:someresource#viewer@user:user-6265 + resource:someresource#viewer@user:user-6266 + resource:someresource#viewer@user:user-6267 + resource:someresource#viewer@user:user-6268 + resource:someresource#viewer@user:user-6269 + resource:someresource#viewer@user:user-6270 + resource:someresource#viewer@user:user-6271 + resource:someresource#viewer@user:user-6272 + resource:someresource#viewer@user:user-6273 + resource:someresource#viewer@user:user-6274 + resource:someresource#viewer@user:user-6275 + resource:someresource#viewer@user:user-6276 + resource:someresource#viewer@user:user-6277 + resource:someresource#viewer@user:user-6278 + resource:someresource#viewer@user:user-6279 + resource:someresource#viewer@user:user-6280 + resource:someresource#viewer@user:user-6281 + resource:someresource#viewer@user:user-6282 + resource:someresource#viewer@user:user-6283 + resource:someresource#viewer@user:user-6284 + resource:someresource#viewer@user:user-6285 + resource:someresource#viewer@user:user-6286 + resource:someresource#viewer@user:user-6287 + resource:someresource#viewer@user:user-6288 + resource:someresource#viewer@user:user-6289 + resource:someresource#viewer@user:user-6290 + resource:someresource#viewer@user:user-6291 + resource:someresource#viewer@user:user-6292 + resource:someresource#viewer@user:user-6293 + resource:someresource#viewer@user:user-6294 + resource:someresource#viewer@user:user-6295 + resource:someresource#viewer@user:user-6296 + resource:someresource#viewer@user:user-6297 + resource:someresource#viewer@user:user-6298 + resource:someresource#viewer@user:user-6299 + resource:someresource#viewer@user:user-6300 + resource:someresource#viewer@user:user-6301 + resource:someresource#viewer@user:user-6302 + resource:someresource#viewer@user:user-6303 + resource:someresource#viewer@user:user-6304 + resource:someresource#viewer@user:user-6305 + resource:someresource#viewer@user:user-6306 + resource:someresource#viewer@user:user-6307 + resource:someresource#viewer@user:user-6308 + resource:someresource#viewer@user:user-6309 + resource:someresource#viewer@user:user-6310 + resource:someresource#viewer@user:user-6311 + resource:someresource#viewer@user:user-6312 + resource:someresource#viewer@user:user-6313 + resource:someresource#viewer@user:user-6314 + resource:someresource#viewer@user:user-6315 + resource:someresource#viewer@user:user-6316 + resource:someresource#viewer@user:user-6317 + resource:someresource#viewer@user:user-6318 + resource:someresource#viewer@user:user-6319 + resource:someresource#viewer@user:user-6320 + resource:someresource#viewer@user:user-6321 + resource:someresource#viewer@user:user-6322 + resource:someresource#viewer@user:user-6323 + resource:someresource#viewer@user:user-6324 + resource:someresource#viewer@user:user-6325 + resource:someresource#viewer@user:user-6326 + resource:someresource#viewer@user:user-6327 + resource:someresource#viewer@user:user-6328 + resource:someresource#viewer@user:user-6329 + resource:someresource#viewer@user:user-6330 + resource:someresource#viewer@user:user-6331 + resource:someresource#viewer@user:user-6332 + resource:someresource#viewer@user:user-6333 + resource:someresource#viewer@user:user-6334 + resource:someresource#viewer@user:user-6335 + resource:someresource#viewer@user:user-6336 + resource:someresource#viewer@user:user-6337 + resource:someresource#viewer@user:user-6338 + resource:someresource#viewer@user:user-6339 + resource:someresource#viewer@user:user-6340 + resource:someresource#viewer@user:user-6341 + resource:someresource#viewer@user:user-6342 + resource:someresource#viewer@user:user-6343 + resource:someresource#viewer@user:user-6344 + resource:someresource#viewer@user:user-6345 + resource:someresource#viewer@user:user-6346 + resource:someresource#viewer@user:user-6347 + resource:someresource#viewer@user:user-6348 + resource:someresource#viewer@user:user-6349 + resource:someresource#viewer@user:user-6350 + resource:someresource#viewer@user:user-6351 + resource:someresource#viewer@user:user-6352 + resource:someresource#viewer@user:user-6353 + resource:someresource#viewer@user:user-6354 + resource:someresource#viewer@user:user-6355 + resource:someresource#viewer@user:user-6356 + resource:someresource#viewer@user:user-6357 + resource:someresource#viewer@user:user-6358 + resource:someresource#viewer@user:user-6359 + resource:someresource#viewer@user:user-6360 + resource:someresource#viewer@user:user-6361 + resource:someresource#viewer@user:user-6362 + resource:someresource#viewer@user:user-6363 + resource:someresource#viewer@user:user-6364 + resource:someresource#viewer@user:user-6365 + resource:someresource#viewer@user:user-6366 + resource:someresource#viewer@user:user-6367 + resource:someresource#viewer@user:user-6368 + resource:someresource#viewer@user:user-6369 + resource:someresource#viewer@user:user-6370 + resource:someresource#viewer@user:user-6371 + resource:someresource#viewer@user:user-6372 + resource:someresource#viewer@user:user-6373 + resource:someresource#viewer@user:user-6374 + resource:someresource#viewer@user:user-6375 + resource:someresource#viewer@user:user-6376 + resource:someresource#viewer@user:user-6377 + resource:someresource#viewer@user:user-6378 + resource:someresource#viewer@user:user-6379 + resource:someresource#viewer@user:user-6380 + resource:someresource#viewer@user:user-6381 + resource:someresource#viewer@user:user-6382 + resource:someresource#viewer@user:user-6383 + resource:someresource#viewer@user:user-6384 + resource:someresource#viewer@user:user-6385 + resource:someresource#viewer@user:user-6386 + resource:someresource#viewer@user:user-6387 + resource:someresource#viewer@user:user-6388 + resource:someresource#viewer@user:user-6389 + resource:someresource#viewer@user:user-6390 + resource:someresource#viewer@user:user-6391 + resource:someresource#viewer@user:user-6392 + resource:someresource#viewer@user:user-6393 + resource:someresource#viewer@user:user-6394 + resource:someresource#viewer@user:user-6395 + resource:someresource#viewer@user:user-6396 + resource:someresource#viewer@user:user-6397 + resource:someresource#viewer@user:user-6398 + resource:someresource#viewer@user:user-6399 + resource:someresource#viewer@user:user-6400 + resource:someresource#viewer@user:user-6401 + resource:someresource#viewer@user:user-6402 + resource:someresource#viewer@user:user-6403 + resource:someresource#viewer@user:user-6404 + resource:someresource#viewer@user:user-6405 + resource:someresource#viewer@user:user-6406 + resource:someresource#viewer@user:user-6407 + resource:someresource#viewer@user:user-6408 + resource:someresource#viewer@user:user-6409 + resource:someresource#viewer@user:user-6410 + resource:someresource#viewer@user:user-6411 + resource:someresource#viewer@user:user-6412 + resource:someresource#viewer@user:user-6413 + resource:someresource#viewer@user:user-6414 + resource:someresource#viewer@user:user-6415 + resource:someresource#viewer@user:user-6416 + resource:someresource#viewer@user:user-6417 + resource:someresource#viewer@user:user-6418 + resource:someresource#viewer@user:user-6419 + resource:someresource#viewer@user:user-6420 + resource:someresource#viewer@user:user-6421 + resource:someresource#viewer@user:user-6422 + resource:someresource#viewer@user:user-6423 + resource:someresource#viewer@user:user-6424 + resource:someresource#viewer@user:user-6425 + resource:someresource#viewer@user:user-6426 + resource:someresource#viewer@user:user-6427 + resource:someresource#viewer@user:user-6428 + resource:someresource#viewer@user:user-6429 + resource:someresource#viewer@user:user-6430 + resource:someresource#viewer@user:user-6431 + resource:someresource#viewer@user:user-6432 + resource:someresource#viewer@user:user-6433 + resource:someresource#viewer@user:user-6434 + resource:someresource#viewer@user:user-6435 + resource:someresource#viewer@user:user-6436 + resource:someresource#viewer@user:user-6437 + resource:someresource#viewer@user:user-6438 + resource:someresource#viewer@user:user-6439 + resource:someresource#viewer@user:user-6440 + resource:someresource#viewer@user:user-6441 + resource:someresource#viewer@user:user-6442 + resource:someresource#viewer@user:user-6443 + resource:someresource#viewer@user:user-6444 + resource:someresource#viewer@user:user-6445 + resource:someresource#viewer@user:user-6446 + resource:someresource#viewer@user:user-6447 + resource:someresource#viewer@user:user-6448 + resource:someresource#viewer@user:user-6449 + resource:someresource#viewer@user:user-6450 + resource:someresource#viewer@user:user-6451 + resource:someresource#viewer@user:user-6452 + resource:someresource#viewer@user:user-6453 + resource:someresource#viewer@user:user-6454 + resource:someresource#viewer@user:user-6455 + resource:someresource#viewer@user:user-6456 + resource:someresource#viewer@user:user-6457 + resource:someresource#viewer@user:user-6458 + resource:someresource#viewer@user:user-6459 + resource:someresource#viewer@user:user-6460 + resource:someresource#viewer@user:user-6461 + resource:someresource#viewer@user:user-6462 + resource:someresource#viewer@user:user-6463 + resource:someresource#viewer@user:user-6464 + resource:someresource#viewer@user:user-6465 + resource:someresource#viewer@user:user-6466 + resource:someresource#viewer@user:user-6467 + resource:someresource#viewer@user:user-6468 + resource:someresource#viewer@user:user-6469 + resource:someresource#viewer@user:user-6470 + resource:someresource#viewer@user:user-6471 + resource:someresource#viewer@user:user-6472 + resource:someresource#viewer@user:user-6473 + resource:someresource#viewer@user:user-6474 + resource:someresource#viewer@user:user-6475 + resource:someresource#viewer@user:user-6476 + resource:someresource#viewer@user:user-6477 + resource:someresource#viewer@user:user-6478 + resource:someresource#viewer@user:user-6479 + resource:someresource#viewer@user:user-6480 + resource:someresource#viewer@user:user-6481 + resource:someresource#viewer@user:user-6482 + resource:someresource#viewer@user:user-6483 + resource:someresource#viewer@user:user-6484 + resource:someresource#viewer@user:user-6485 + resource:someresource#viewer@user:user-6486 + resource:someresource#viewer@user:user-6487 + resource:someresource#viewer@user:user-6488 + resource:someresource#viewer@user:user-6489 + resource:someresource#viewer@user:user-6490 + resource:someresource#viewer@user:user-6491 + resource:someresource#viewer@user:user-6492 + resource:someresource#viewer@user:user-6493 + resource:someresource#viewer@user:user-6494 + resource:someresource#viewer@user:user-6495 + resource:someresource#viewer@user:user-6496 + resource:someresource#viewer@user:user-6497 + resource:someresource#viewer@user:user-6498 + resource:someresource#viewer@user:user-6499 + resource:someresource#viewer@user:user-6500 + resource:someresource#viewer@user:user-6501 + resource:someresource#viewer@user:user-6502 + resource:someresource#viewer@user:user-6503 + resource:someresource#viewer@user:user-6504 + resource:someresource#viewer@user:user-6505 + resource:someresource#viewer@user:user-6506 + resource:someresource#viewer@user:user-6507 + resource:someresource#viewer@user:user-6508 + resource:someresource#viewer@user:user-6509 + resource:someresource#viewer@user:user-6510 + resource:someresource#viewer@user:user-6511 + resource:someresource#viewer@user:user-6512 + resource:someresource#viewer@user:user-6513 + resource:someresource#viewer@user:user-6514 + resource:someresource#viewer@user:user-6515 + resource:someresource#viewer@user:user-6516 + resource:someresource#viewer@user:user-6517 + resource:someresource#viewer@user:user-6518 + resource:someresource#viewer@user:user-6519 + resource:someresource#viewer@user:user-6520 + resource:someresource#viewer@user:user-6521 + resource:someresource#viewer@user:user-6522 + resource:someresource#viewer@user:user-6523 + resource:someresource#viewer@user:user-6524 + resource:someresource#viewer@user:user-6525 + resource:someresource#viewer@user:user-6526 + resource:someresource#viewer@user:user-6527 + resource:someresource#viewer@user:user-6528 + resource:someresource#viewer@user:user-6529 + resource:someresource#viewer@user:user-6530 + resource:someresource#viewer@user:user-6531 + resource:someresource#viewer@user:user-6532 + resource:someresource#viewer@user:user-6533 + resource:someresource#viewer@user:user-6534 + resource:someresource#viewer@user:user-6535 + resource:someresource#viewer@user:user-6536 + resource:someresource#viewer@user:user-6537 + resource:someresource#viewer@user:user-6538 + resource:someresource#viewer@user:user-6539 + resource:someresource#viewer@user:user-6540 + resource:someresource#viewer@user:user-6541 + resource:someresource#viewer@user:user-6542 + resource:someresource#viewer@user:user-6543 + resource:someresource#viewer@user:user-6544 + resource:someresource#viewer@user:user-6545 + resource:someresource#viewer@user:user-6546 + resource:someresource#viewer@user:user-6547 + resource:someresource#viewer@user:user-6548 + resource:someresource#viewer@user:user-6549 + resource:someresource#viewer@user:user-6550 + resource:someresource#viewer@user:user-6551 + resource:someresource#viewer@user:user-6552 + resource:someresource#viewer@user:user-6553 + resource:someresource#viewer@user:user-6554 + resource:someresource#viewer@user:user-6555 + resource:someresource#viewer@user:user-6556 + resource:someresource#viewer@user:user-6557 + resource:someresource#viewer@user:user-6558 + resource:someresource#viewer@user:user-6559 + resource:someresource#viewer@user:user-6560 + resource:someresource#viewer@user:user-6561 + resource:someresource#viewer@user:user-6562 + resource:someresource#viewer@user:user-6563 + resource:someresource#viewer@user:user-6564 + resource:someresource#viewer@user:user-6565 + resource:someresource#viewer@user:user-6566 + resource:someresource#viewer@user:user-6567 + resource:someresource#viewer@user:user-6568 + resource:someresource#viewer@user:user-6569 + resource:someresource#viewer@user:user-6570 + resource:someresource#viewer@user:user-6571 + resource:someresource#viewer@user:user-6572 + resource:someresource#viewer@user:user-6573 + resource:someresource#viewer@user:user-6574 + resource:someresource#viewer@user:user-6575 + resource:someresource#viewer@user:user-6576 + resource:someresource#viewer@user:user-6577 + resource:someresource#viewer@user:user-6578 + resource:someresource#viewer@user:user-6579 + resource:someresource#viewer@user:user-6580 + resource:someresource#viewer@user:user-6581 + resource:someresource#viewer@user:user-6582 + resource:someresource#viewer@user:user-6583 + resource:someresource#viewer@user:user-6584 + resource:someresource#viewer@user:user-6585 + resource:someresource#viewer@user:user-6586 + resource:someresource#viewer@user:user-6587 + resource:someresource#viewer@user:user-6588 + resource:someresource#viewer@user:user-6589 + resource:someresource#viewer@user:user-6590 + resource:someresource#viewer@user:user-6591 + resource:someresource#viewer@user:user-6592 + resource:someresource#viewer@user:user-6593 + resource:someresource#viewer@user:user-6594 + resource:someresource#viewer@user:user-6595 + resource:someresource#viewer@user:user-6596 + resource:someresource#viewer@user:user-6597 + resource:someresource#viewer@user:user-6598 + resource:someresource#viewer@user:user-6599 + resource:someresource#viewer@user:user-6600 + resource:someresource#viewer@user:user-6601 + resource:someresource#viewer@user:user-6602 + resource:someresource#viewer@user:user-6603 + resource:someresource#viewer@user:user-6604 + resource:someresource#viewer@user:user-6605 + resource:someresource#viewer@user:user-6606 + resource:someresource#viewer@user:user-6607 + resource:someresource#viewer@user:user-6608 + resource:someresource#viewer@user:user-6609 + resource:someresource#viewer@user:user-6610 + resource:someresource#viewer@user:user-6611 + resource:someresource#viewer@user:user-6612 + resource:someresource#viewer@user:user-6613 + resource:someresource#viewer@user:user-6614 + resource:someresource#viewer@user:user-6615 + resource:someresource#viewer@user:user-6616 + resource:someresource#viewer@user:user-6617 + resource:someresource#viewer@user:user-6618 + resource:someresource#viewer@user:user-6619 + resource:someresource#viewer@user:user-6620 + resource:someresource#viewer@user:user-6621 + resource:someresource#viewer@user:user-6622 + resource:someresource#viewer@user:user-6623 + resource:someresource#viewer@user:user-6624 + resource:someresource#viewer@user:user-6625 + resource:someresource#viewer@user:user-6626 + resource:someresource#viewer@user:user-6627 + resource:someresource#viewer@user:user-6628 + resource:someresource#viewer@user:user-6629 + resource:someresource#viewer@user:user-6630 + resource:someresource#viewer@user:user-6631 + resource:someresource#viewer@user:user-6632 + resource:someresource#viewer@user:user-6633 + resource:someresource#viewer@user:user-6634 + resource:someresource#viewer@user:user-6635 + resource:someresource#viewer@user:user-6636 + resource:someresource#viewer@user:user-6637 + resource:someresource#viewer@user:user-6638 + resource:someresource#viewer@user:user-6639 + resource:someresource#viewer@user:user-6640 + resource:someresource#viewer@user:user-6641 + resource:someresource#viewer@user:user-6642 + resource:someresource#viewer@user:user-6643 + resource:someresource#viewer@user:user-6644 + resource:someresource#viewer@user:user-6645 + resource:someresource#viewer@user:user-6646 + resource:someresource#viewer@user:user-6647 + resource:someresource#viewer@user:user-6648 + resource:someresource#viewer@user:user-6649 + resource:someresource#viewer@user:user-6650 + resource:someresource#viewer@user:user-6651 + resource:someresource#viewer@user:user-6652 + resource:someresource#viewer@user:user-6653 + resource:someresource#viewer@user:user-6654 + resource:someresource#viewer@user:user-6655 + resource:someresource#viewer@user:user-6656 + resource:someresource#viewer@user:user-6657 + resource:someresource#viewer@user:user-6658 + resource:someresource#viewer@user:user-6659 + resource:someresource#viewer@user:user-6660 + resource:someresource#viewer@user:user-6661 + resource:someresource#viewer@user:user-6662 + resource:someresource#viewer@user:user-6663 + resource:someresource#viewer@user:user-6664 + resource:someresource#viewer@user:user-6665 + resource:someresource#viewer@user:user-6666 + resource:someresource#viewer@user:user-6667 + resource:someresource#viewer@user:user-6668 + resource:someresource#viewer@user:user-6669 + resource:someresource#viewer@user:user-6670 + resource:someresource#viewer@user:user-6671 + resource:someresource#viewer@user:user-6672 + resource:someresource#viewer@user:user-6673 + resource:someresource#viewer@user:user-6674 + resource:someresource#viewer@user:user-6675 + resource:someresource#viewer@user:user-6676 + resource:someresource#viewer@user:user-6677 + resource:someresource#viewer@user:user-6678 + resource:someresource#viewer@user:user-6679 + resource:someresource#viewer@user:user-6680 + resource:someresource#viewer@user:user-6681 + resource:someresource#viewer@user:user-6682 + resource:someresource#viewer@user:user-6683 + resource:someresource#viewer@user:user-6684 + resource:someresource#viewer@user:user-6685 + resource:someresource#viewer@user:user-6686 + resource:someresource#viewer@user:user-6687 + resource:someresource#viewer@user:user-6688 + resource:someresource#viewer@user:user-6689 + resource:someresource#viewer@user:user-6690 + resource:someresource#viewer@user:user-6691 + resource:someresource#viewer@user:user-6692 + resource:someresource#viewer@user:user-6693 + resource:someresource#viewer@user:user-6694 + resource:someresource#viewer@user:user-6695 + resource:someresource#viewer@user:user-6696 + resource:someresource#viewer@user:user-6697 + resource:someresource#viewer@user:user-6698 + resource:someresource#viewer@user:user-6699 + resource:someresource#viewer@user:user-6700 + resource:someresource#viewer@user:user-6701 + resource:someresource#viewer@user:user-6702 + resource:someresource#viewer@user:user-6703 + resource:someresource#viewer@user:user-6704 + resource:someresource#viewer@user:user-6705 + resource:someresource#viewer@user:user-6706 + resource:someresource#viewer@user:user-6707 + resource:someresource#viewer@user:user-6708 + resource:someresource#viewer@user:user-6709 + resource:someresource#viewer@user:user-6710 + resource:someresource#viewer@user:user-6711 + resource:someresource#viewer@user:user-6712 + resource:someresource#viewer@user:user-6713 + resource:someresource#viewer@user:user-6714 + resource:someresource#viewer@user:user-6715 + resource:someresource#viewer@user:user-6716 + resource:someresource#viewer@user:user-6717 + resource:someresource#viewer@user:user-6718 + resource:someresource#viewer@user:user-6719 + resource:someresource#viewer@user:user-6720 + resource:someresource#viewer@user:user-6721 + resource:someresource#viewer@user:user-6722 + resource:someresource#viewer@user:user-6723 + resource:someresource#viewer@user:user-6724 + resource:someresource#viewer@user:user-6725 + resource:someresource#viewer@user:user-6726 + resource:someresource#viewer@user:user-6727 + resource:someresource#viewer@user:user-6728 + resource:someresource#viewer@user:user-6729 + resource:someresource#viewer@user:user-6730 + resource:someresource#viewer@user:user-6731 + resource:someresource#viewer@user:user-6732 + resource:someresource#viewer@user:user-6733 + resource:someresource#viewer@user:user-6734 + resource:someresource#viewer@user:user-6735 + resource:someresource#viewer@user:user-6736 + resource:someresource#viewer@user:user-6737 + resource:someresource#viewer@user:user-6738 + resource:someresource#viewer@user:user-6739 + resource:someresource#viewer@user:user-6740 + resource:someresource#viewer@user:user-6741 + resource:someresource#viewer@user:user-6742 + resource:someresource#viewer@user:user-6743 + resource:someresource#viewer@user:user-6744 + resource:someresource#viewer@user:user-6745 + resource:someresource#viewer@user:user-6746 + resource:someresource#viewer@user:user-6747 + resource:someresource#viewer@user:user-6748 + resource:someresource#viewer@user:user-6749 + resource:someresource#viewer@user:user-6750 + resource:someresource#viewer@user:user-6751 + resource:someresource#viewer@user:user-6752 + resource:someresource#viewer@user:user-6753 + resource:someresource#viewer@user:user-6754 + resource:someresource#viewer@user:user-6755 + resource:someresource#viewer@user:user-6756 + resource:someresource#viewer@user:user-6757 + resource:someresource#viewer@user:user-6758 + resource:someresource#viewer@user:user-6759 + resource:someresource#viewer@user:user-6760 + resource:someresource#viewer@user:user-6761 + resource:someresource#viewer@user:user-6762 + resource:someresource#viewer@user:user-6763 + resource:someresource#viewer@user:user-6764 + resource:someresource#viewer@user:user-6765 + resource:someresource#viewer@user:user-6766 + resource:someresource#viewer@user:user-6767 + resource:someresource#viewer@user:user-6768 + resource:someresource#viewer@user:user-6769 + resource:someresource#viewer@user:user-6770 + resource:someresource#viewer@user:user-6771 + resource:someresource#viewer@user:user-6772 + resource:someresource#viewer@user:user-6773 + resource:someresource#viewer@user:user-6774 + resource:someresource#viewer@user:user-6775 + resource:someresource#viewer@user:user-6776 + resource:someresource#viewer@user:user-6777 + resource:someresource#viewer@user:user-6778 + resource:someresource#viewer@user:user-6779 + resource:someresource#viewer@user:user-6780 + resource:someresource#viewer@user:user-6781 + resource:someresource#viewer@user:user-6782 + resource:someresource#viewer@user:user-6783 + resource:someresource#viewer@user:user-6784 + resource:someresource#viewer@user:user-6785 + resource:someresource#viewer@user:user-6786 + resource:someresource#viewer@user:user-6787 + resource:someresource#viewer@user:user-6788 + resource:someresource#viewer@user:user-6789 + resource:someresource#viewer@user:user-6790 + resource:someresource#viewer@user:user-6791 + resource:someresource#viewer@user:user-6792 + resource:someresource#viewer@user:user-6793 + resource:someresource#viewer@user:user-6794 + resource:someresource#viewer@user:user-6795 + resource:someresource#viewer@user:user-6796 + resource:someresource#viewer@user:user-6797 + resource:someresource#viewer@user:user-6798 + resource:someresource#viewer@user:user-6799 + resource:someresource#viewer@user:user-6800 + resource:someresource#viewer@user:user-6801 + resource:someresource#viewer@user:user-6802 + resource:someresource#viewer@user:user-6803 + resource:someresource#viewer@user:user-6804 + resource:someresource#viewer@user:user-6805 + resource:someresource#viewer@user:user-6806 + resource:someresource#viewer@user:user-6807 + resource:someresource#viewer@user:user-6808 + resource:someresource#viewer@user:user-6809 + resource:someresource#viewer@user:user-6810 + resource:someresource#viewer@user:user-6811 + resource:someresource#viewer@user:user-6812 + resource:someresource#viewer@user:user-6813 + resource:someresource#viewer@user:user-6814 + resource:someresource#viewer@user:user-6815 + resource:someresource#viewer@user:user-6816 + resource:someresource#viewer@user:user-6817 + resource:someresource#viewer@user:user-6818 + resource:someresource#viewer@user:user-6819 + resource:someresource#viewer@user:user-6820 + resource:someresource#viewer@user:user-6821 + resource:someresource#viewer@user:user-6822 + resource:someresource#viewer@user:user-6823 + resource:someresource#viewer@user:user-6824 + resource:someresource#viewer@user:user-6825 + resource:someresource#viewer@user:user-6826 + resource:someresource#viewer@user:user-6827 + resource:someresource#viewer@user:user-6828 + resource:someresource#viewer@user:user-6829 + resource:someresource#viewer@user:user-6830 + resource:someresource#viewer@user:user-6831 + resource:someresource#viewer@user:user-6832 + resource:someresource#viewer@user:user-6833 + resource:someresource#viewer@user:user-6834 + resource:someresource#viewer@user:user-6835 + resource:someresource#viewer@user:user-6836 + resource:someresource#viewer@user:user-6837 + resource:someresource#viewer@user:user-6838 + resource:someresource#viewer@user:user-6839 + resource:someresource#viewer@user:user-6840 + resource:someresource#viewer@user:user-6841 + resource:someresource#viewer@user:user-6842 + resource:someresource#viewer@user:user-6843 + resource:someresource#viewer@user:user-6844 + resource:someresource#viewer@user:user-6845 + resource:someresource#viewer@user:user-6846 + resource:someresource#viewer@user:user-6847 + resource:someresource#viewer@user:user-6848 + resource:someresource#viewer@user:user-6849 + resource:someresource#viewer@user:user-6850 + resource:someresource#viewer@user:user-6851 + resource:someresource#viewer@user:user-6852 + resource:someresource#viewer@user:user-6853 + resource:someresource#viewer@user:user-6854 + resource:someresource#viewer@user:user-6855 + resource:someresource#viewer@user:user-6856 + resource:someresource#viewer@user:user-6857 + resource:someresource#viewer@user:user-6858 + resource:someresource#viewer@user:user-6859 + resource:someresource#viewer@user:user-6860 + resource:someresource#viewer@user:user-6861 + resource:someresource#viewer@user:user-6862 + resource:someresource#viewer@user:user-6863 + resource:someresource#viewer@user:user-6864 + resource:someresource#viewer@user:user-6865 + resource:someresource#viewer@user:user-6866 + resource:someresource#viewer@user:user-6867 + resource:someresource#viewer@user:user-6868 + resource:someresource#viewer@user:user-6869 + resource:someresource#viewer@user:user-6870 + resource:someresource#viewer@user:user-6871 + resource:someresource#viewer@user:user-6872 + resource:someresource#viewer@user:user-6873 + resource:someresource#viewer@user:user-6874 + resource:someresource#viewer@user:user-6875 + resource:someresource#viewer@user:user-6876 + resource:someresource#viewer@user:user-6877 + resource:someresource#viewer@user:user-6878 + resource:someresource#viewer@user:user-6879 + resource:someresource#viewer@user:user-6880 + resource:someresource#viewer@user:user-6881 + resource:someresource#viewer@user:user-6882 + resource:someresource#viewer@user:user-6883 + resource:someresource#viewer@user:user-6884 + resource:someresource#viewer@user:user-6885 + resource:someresource#viewer@user:user-6886 + resource:someresource#viewer@user:user-6887 + resource:someresource#viewer@user:user-6888 + resource:someresource#viewer@user:user-6889 + resource:someresource#viewer@user:user-6890 + resource:someresource#viewer@user:user-6891 + resource:someresource#viewer@user:user-6892 + resource:someresource#viewer@user:user-6893 + resource:someresource#viewer@user:user-6894 + resource:someresource#viewer@user:user-6895 + resource:someresource#viewer@user:user-6896 + resource:someresource#viewer@user:user-6897 + resource:someresource#viewer@user:user-6898 + resource:someresource#viewer@user:user-6899 + resource:someresource#viewer@user:user-6900 + resource:someresource#viewer@user:user-6901 + resource:someresource#viewer@user:user-6902 + resource:someresource#viewer@user:user-6903 + resource:someresource#viewer@user:user-6904 + resource:someresource#viewer@user:user-6905 + resource:someresource#viewer@user:user-6906 + resource:someresource#viewer@user:user-6907 + resource:someresource#viewer@user:user-6908 + resource:someresource#viewer@user:user-6909 + resource:someresource#viewer@user:user-6910 + resource:someresource#viewer@user:user-6911 + resource:someresource#viewer@user:user-6912 + resource:someresource#viewer@user:user-6913 + resource:someresource#viewer@user:user-6914 + resource:someresource#viewer@user:user-6915 + resource:someresource#viewer@user:user-6916 + resource:someresource#viewer@user:user-6917 + resource:someresource#viewer@user:user-6918 + resource:someresource#viewer@user:user-6919 + resource:someresource#viewer@user:user-6920 + resource:someresource#viewer@user:user-6921 + resource:someresource#viewer@user:user-6922 + resource:someresource#viewer@user:user-6923 + resource:someresource#viewer@user:user-6924 + resource:someresource#viewer@user:user-6925 + resource:someresource#viewer@user:user-6926 + resource:someresource#viewer@user:user-6927 + resource:someresource#viewer@user:user-6928 + resource:someresource#viewer@user:user-6929 + resource:someresource#viewer@user:user-6930 + resource:someresource#viewer@user:user-6931 + resource:someresource#viewer@user:user-6932 + resource:someresource#viewer@user:user-6933 + resource:someresource#viewer@user:user-6934 + resource:someresource#viewer@user:user-6935 + resource:someresource#viewer@user:user-6936 + resource:someresource#viewer@user:user-6937 + resource:someresource#viewer@user:user-6938 + resource:someresource#viewer@user:user-6939 + resource:someresource#viewer@user:user-6940 + resource:someresource#viewer@user:user-6941 + resource:someresource#viewer@user:user-6942 + resource:someresource#viewer@user:user-6943 + resource:someresource#viewer@user:user-6944 + resource:someresource#viewer@user:user-6945 + resource:someresource#viewer@user:user-6946 + resource:someresource#viewer@user:user-6947 + resource:someresource#viewer@user:user-6948 + resource:someresource#viewer@user:user-6949 + resource:someresource#viewer@user:user-6950 + resource:someresource#viewer@user:user-6951 + resource:someresource#viewer@user:user-6952 + resource:someresource#viewer@user:user-6953 + resource:someresource#viewer@user:user-6954 + resource:someresource#viewer@user:user-6955 + resource:someresource#viewer@user:user-6956 + resource:someresource#viewer@user:user-6957 + resource:someresource#viewer@user:user-6958 + resource:someresource#viewer@user:user-6959 + resource:someresource#viewer@user:user-6960 + resource:someresource#viewer@user:user-6961 + resource:someresource#viewer@user:user-6962 + resource:someresource#viewer@user:user-6963 + resource:someresource#viewer@user:user-6964 + resource:someresource#viewer@user:user-6965 + resource:someresource#viewer@user:user-6966 + resource:someresource#viewer@user:user-6967 + resource:someresource#viewer@user:user-6968 + resource:someresource#viewer@user:user-6969 + resource:someresource#viewer@user:user-6970 + resource:someresource#viewer@user:user-6971 + resource:someresource#viewer@user:user-6972 + resource:someresource#viewer@user:user-6973 + resource:someresource#viewer@user:user-6974 + resource:someresource#viewer@user:user-6975 + resource:someresource#viewer@user:user-6976 + resource:someresource#viewer@user:user-6977 + resource:someresource#viewer@user:user-6978 + resource:someresource#viewer@user:user-6979 + resource:someresource#viewer@user:user-6980 + resource:someresource#viewer@user:user-6981 + resource:someresource#viewer@user:user-6982 + resource:someresource#viewer@user:user-6983 + resource:someresource#viewer@user:user-6984 + resource:someresource#viewer@user:user-6985 + resource:someresource#viewer@user:user-6986 + resource:someresource#viewer@user:user-6987 + resource:someresource#viewer@user:user-6988 + resource:someresource#viewer@user:user-6989 + resource:someresource#viewer@user:user-6990 + resource:someresource#viewer@user:user-6991 + resource:someresource#viewer@user:user-6992 + resource:someresource#viewer@user:user-6993 + resource:someresource#viewer@user:user-6994 + resource:someresource#viewer@user:user-6995 + resource:someresource#viewer@user:user-6996 + resource:someresource#viewer@user:user-6997 + resource:someresource#viewer@user:user-6998 + resource:someresource#viewer@user:user-6999 + resource:someresource#viewer@user:user-7000 + resource:someresource#viewer@user:user-7001 + resource:someresource#viewer@user:user-7002 + resource:someresource#viewer@user:user-7003 + resource:someresource#viewer@user:user-7004 + resource:someresource#viewer@user:user-7005 + resource:someresource#viewer@user:user-7006 + resource:someresource#viewer@user:user-7007 + resource:someresource#viewer@user:user-7008 + resource:someresource#viewer@user:user-7009 + resource:someresource#viewer@user:user-7010 + resource:someresource#viewer@user:user-7011 + resource:someresource#viewer@user:user-7012 + resource:someresource#viewer@user:user-7013 + resource:someresource#viewer@user:user-7014 + resource:someresource#viewer@user:user-7015 + resource:someresource#viewer@user:user-7016 + resource:someresource#viewer@user:user-7017 + resource:someresource#viewer@user:user-7018 + resource:someresource#viewer@user:user-7019 + resource:someresource#viewer@user:user-7020 + resource:someresource#viewer@user:user-7021 + resource:someresource#viewer@user:user-7022 + resource:someresource#viewer@user:user-7023 + resource:someresource#viewer@user:user-7024 + resource:someresource#viewer@user:user-7025 + resource:someresource#viewer@user:user-7026 + resource:someresource#viewer@user:user-7027 + resource:someresource#viewer@user:user-7028 + resource:someresource#viewer@user:user-7029 + resource:someresource#viewer@user:user-7030 + resource:someresource#viewer@user:user-7031 + resource:someresource#viewer@user:user-7032 + resource:someresource#viewer@user:user-7033 + resource:someresource#viewer@user:user-7034 + resource:someresource#viewer@user:user-7035 + resource:someresource#viewer@user:user-7036 + resource:someresource#viewer@user:user-7037 + resource:someresource#viewer@user:user-7038 + resource:someresource#viewer@user:user-7039 + resource:someresource#viewer@user:user-7040 + resource:someresource#viewer@user:user-7041 + resource:someresource#viewer@user:user-7042 + resource:someresource#viewer@user:user-7043 + resource:someresource#viewer@user:user-7044 + resource:someresource#viewer@user:user-7045 + resource:someresource#viewer@user:user-7046 + resource:someresource#viewer@user:user-7047 + resource:someresource#viewer@user:user-7048 + resource:someresource#viewer@user:user-7049 + resource:someresource#viewer@user:user-7050 + resource:someresource#viewer@user:user-7051 + resource:someresource#viewer@user:user-7052 + resource:someresource#viewer@user:user-7053 + resource:someresource#viewer@user:user-7054 + resource:someresource#viewer@user:user-7055 + resource:someresource#viewer@user:user-7056 + resource:someresource#viewer@user:user-7057 + resource:someresource#viewer@user:user-7058 + resource:someresource#viewer@user:user-7059 + resource:someresource#viewer@user:user-7060 + resource:someresource#viewer@user:user-7061 + resource:someresource#viewer@user:user-7062 + resource:someresource#viewer@user:user-7063 + resource:someresource#viewer@user:user-7064 + resource:someresource#viewer@user:user-7065 + resource:someresource#viewer@user:user-7066 + resource:someresource#viewer@user:user-7067 + resource:someresource#viewer@user:user-7068 + resource:someresource#viewer@user:user-7069 + resource:someresource#viewer@user:user-7070 + resource:someresource#viewer@user:user-7071 + resource:someresource#viewer@user:user-7072 + resource:someresource#viewer@user:user-7073 + resource:someresource#viewer@user:user-7074 + resource:someresource#viewer@user:user-7075 + resource:someresource#viewer@user:user-7076 + resource:someresource#viewer@user:user-7077 + resource:someresource#viewer@user:user-7078 + resource:someresource#viewer@user:user-7079 + resource:someresource#viewer@user:user-7080 + resource:someresource#viewer@user:user-7081 + resource:someresource#viewer@user:user-7082 + resource:someresource#viewer@user:user-7083 + resource:someresource#viewer@user:user-7084 + resource:someresource#viewer@user:user-7085 + resource:someresource#viewer@user:user-7086 + resource:someresource#viewer@user:user-7087 + resource:someresource#viewer@user:user-7088 + resource:someresource#viewer@user:user-7089 + resource:someresource#viewer@user:user-7090 + resource:someresource#viewer@user:user-7091 + resource:someresource#viewer@user:user-7092 + resource:someresource#viewer@user:user-7093 + resource:someresource#viewer@user:user-7094 + resource:someresource#viewer@user:user-7095 + resource:someresource#viewer@user:user-7096 + resource:someresource#viewer@user:user-7097 + resource:someresource#viewer@user:user-7098 + resource:someresource#viewer@user:user-7099 + resource:someresource#viewer@user:user-7100 + resource:someresource#viewer@user:user-7101 + resource:someresource#viewer@user:user-7102 + resource:someresource#viewer@user:user-7103 + resource:someresource#viewer@user:user-7104 + resource:someresource#viewer@user:user-7105 + resource:someresource#viewer@user:user-7106 + resource:someresource#viewer@user:user-7107 + resource:someresource#viewer@user:user-7108 + resource:someresource#viewer@user:user-7109 + resource:someresource#viewer@user:user-7110 + resource:someresource#viewer@user:user-7111 + resource:someresource#viewer@user:user-7112 + resource:someresource#viewer@user:user-7113 + resource:someresource#viewer@user:user-7114 + resource:someresource#viewer@user:user-7115 + resource:someresource#viewer@user:user-7116 + resource:someresource#viewer@user:user-7117 + resource:someresource#viewer@user:user-7118 + resource:someresource#viewer@user:user-7119 + resource:someresource#viewer@user:user-7120 + resource:someresource#viewer@user:user-7121 + resource:someresource#viewer@user:user-7122 + resource:someresource#viewer@user:user-7123 + resource:someresource#viewer@user:user-7124 + resource:someresource#viewer@user:user-7125 + resource:someresource#viewer@user:user-7126 + resource:someresource#viewer@user:user-7127 + resource:someresource#viewer@user:user-7128 + resource:someresource#viewer@user:user-7129 + resource:someresource#viewer@user:user-7130 + resource:someresource#viewer@user:user-7131 + resource:someresource#viewer@user:user-7132 + resource:someresource#viewer@user:user-7133 + resource:someresource#viewer@user:user-7134 + resource:someresource#viewer@user:user-7135 + resource:someresource#viewer@user:user-7136 + resource:someresource#viewer@user:user-7137 + resource:someresource#viewer@user:user-7138 + resource:someresource#viewer@user:user-7139 + resource:someresource#viewer@user:user-7140 + resource:someresource#viewer@user:user-7141 + resource:someresource#viewer@user:user-7142 + resource:someresource#viewer@user:user-7143 + resource:someresource#viewer@user:user-7144 + resource:someresource#viewer@user:user-7145 + resource:someresource#viewer@user:user-7146 + resource:someresource#viewer@user:user-7147 + resource:someresource#viewer@user:user-7148 + resource:someresource#viewer@user:user-7149 + resource:someresource#viewer@user:user-7150 + resource:someresource#viewer@user:user-7151 + resource:someresource#viewer@user:user-7152 + resource:someresource#viewer@user:user-7153 + resource:someresource#viewer@user:user-7154 + resource:someresource#viewer@user:user-7155 + resource:someresource#viewer@user:user-7156 + resource:someresource#viewer@user:user-7157 + resource:someresource#viewer@user:user-7158 + resource:someresource#viewer@user:user-7159 + resource:someresource#viewer@user:user-7160 + resource:someresource#viewer@user:user-7161 + resource:someresource#viewer@user:user-7162 + resource:someresource#viewer@user:user-7163 + resource:someresource#viewer@user:user-7164 + resource:someresource#viewer@user:user-7165 + resource:someresource#viewer@user:user-7166 + resource:someresource#viewer@user:user-7167 + resource:someresource#viewer@user:user-7168 + resource:someresource#viewer@user:user-7169 + resource:someresource#viewer@user:user-7170 + resource:someresource#viewer@user:user-7171 + resource:someresource#viewer@user:user-7172 + resource:someresource#viewer@user:user-7173 + resource:someresource#viewer@user:user-7174 + resource:someresource#viewer@user:user-7175 + resource:someresource#viewer@user:user-7176 + resource:someresource#viewer@user:user-7177 + resource:someresource#viewer@user:user-7178 + resource:someresource#viewer@user:user-7179 + resource:someresource#viewer@user:user-7180 + resource:someresource#viewer@user:user-7181 + resource:someresource#viewer@user:user-7182 + resource:someresource#viewer@user:user-7183 + resource:someresource#viewer@user:user-7184 + resource:someresource#viewer@user:user-7185 + resource:someresource#viewer@user:user-7186 + resource:someresource#viewer@user:user-7187 + resource:someresource#viewer@user:user-7188 + resource:someresource#viewer@user:user-7189 + resource:someresource#viewer@user:user-7190 + resource:someresource#viewer@user:user-7191 + resource:someresource#viewer@user:user-7192 + resource:someresource#viewer@user:user-7193 + resource:someresource#viewer@user:user-7194 + resource:someresource#viewer@user:user-7195 + resource:someresource#viewer@user:user-7196 + resource:someresource#viewer@user:user-7197 + resource:someresource#viewer@user:user-7198 + resource:someresource#viewer@user:user-7199 + resource:someresource#viewer@user:user-7200 + resource:someresource#viewer@user:user-7201 + resource:someresource#viewer@user:user-7202 + resource:someresource#viewer@user:user-7203 + resource:someresource#viewer@user:user-7204 + resource:someresource#viewer@user:user-7205 + resource:someresource#viewer@user:user-7206 + resource:someresource#viewer@user:user-7207 + resource:someresource#viewer@user:user-7208 + resource:someresource#viewer@user:user-7209 + resource:someresource#viewer@user:user-7210 + resource:someresource#viewer@user:user-7211 + resource:someresource#viewer@user:user-7212 + resource:someresource#viewer@user:user-7213 + resource:someresource#viewer@user:user-7214 + resource:someresource#viewer@user:user-7215 + resource:someresource#viewer@user:user-7216 + resource:someresource#viewer@user:user-7217 + resource:someresource#viewer@user:user-7218 + resource:someresource#viewer@user:user-7219 + resource:someresource#viewer@user:user-7220 + resource:someresource#viewer@user:user-7221 + resource:someresource#viewer@user:user-7222 + resource:someresource#viewer@user:user-7223 + resource:someresource#viewer@user:user-7224 + resource:someresource#viewer@user:user-7225 + resource:someresource#viewer@user:user-7226 + resource:someresource#viewer@user:user-7227 + resource:someresource#viewer@user:user-7228 + resource:someresource#viewer@user:user-7229 + resource:someresource#viewer@user:user-7230 + resource:someresource#viewer@user:user-7231 + resource:someresource#viewer@user:user-7232 + resource:someresource#viewer@user:user-7233 + resource:someresource#viewer@user:user-7234 + resource:someresource#viewer@user:user-7235 + resource:someresource#viewer@user:user-7236 + resource:someresource#viewer@user:user-7237 + resource:someresource#viewer@user:user-7238 + resource:someresource#viewer@user:user-7239 + resource:someresource#viewer@user:user-7240 + resource:someresource#viewer@user:user-7241 + resource:someresource#viewer@user:user-7242 + resource:someresource#viewer@user:user-7243 + resource:someresource#viewer@user:user-7244 + resource:someresource#viewer@user:user-7245 + resource:someresource#viewer@user:user-7246 + resource:someresource#viewer@user:user-7247 + resource:someresource#viewer@user:user-7248 + resource:someresource#viewer@user:user-7249 + resource:someresource#viewer@user:user-7250 + resource:someresource#viewer@user:user-7251 + resource:someresource#viewer@user:user-7252 + resource:someresource#viewer@user:user-7253 + resource:someresource#viewer@user:user-7254 + resource:someresource#viewer@user:user-7255 + resource:someresource#viewer@user:user-7256 + resource:someresource#viewer@user:user-7257 + resource:someresource#viewer@user:user-7258 + resource:someresource#viewer@user:user-7259 + resource:someresource#viewer@user:user-7260 + resource:someresource#viewer@user:user-7261 + resource:someresource#viewer@user:user-7262 + resource:someresource#viewer@user:user-7263 + resource:someresource#viewer@user:user-7264 + resource:someresource#viewer@user:user-7265 + resource:someresource#viewer@user:user-7266 + resource:someresource#viewer@user:user-7267 + resource:someresource#viewer@user:user-7268 + resource:someresource#viewer@user:user-7269 + resource:someresource#viewer@user:user-7270 + resource:someresource#viewer@user:user-7271 + resource:someresource#viewer@user:user-7272 + resource:someresource#viewer@user:user-7273 + resource:someresource#viewer@user:user-7274 + resource:someresource#viewer@user:user-7275 + resource:someresource#viewer@user:user-7276 + resource:someresource#viewer@user:user-7277 + resource:someresource#viewer@user:user-7278 + resource:someresource#viewer@user:user-7279 + resource:someresource#viewer@user:user-7280 + resource:someresource#viewer@user:user-7281 + resource:someresource#viewer@user:user-7282 + resource:someresource#viewer@user:user-7283 + resource:someresource#viewer@user:user-7284 + resource:someresource#viewer@user:user-7285 + resource:someresource#viewer@user:user-7286 + resource:someresource#viewer@user:user-7287 + resource:someresource#viewer@user:user-7288 + resource:someresource#viewer@user:user-7289 + resource:someresource#viewer@user:user-7290 + resource:someresource#viewer@user:user-7291 + resource:someresource#viewer@user:user-7292 + resource:someresource#viewer@user:user-7293 + resource:someresource#viewer@user:user-7294 + resource:someresource#viewer@user:user-7295 + resource:someresource#viewer@user:user-7296 + resource:someresource#viewer@user:user-7297 + resource:someresource#viewer@user:user-7298 + resource:someresource#viewer@user:user-7299 + resource:someresource#viewer@user:user-7300 + resource:someresource#viewer@user:user-7301 + resource:someresource#viewer@user:user-7302 + resource:someresource#viewer@user:user-7303 + resource:someresource#viewer@user:user-7304 + resource:someresource#viewer@user:user-7305 + resource:someresource#viewer@user:user-7306 + resource:someresource#viewer@user:user-7307 + resource:someresource#viewer@user:user-7308 + resource:someresource#viewer@user:user-7309 + resource:someresource#viewer@user:user-7310 + resource:someresource#viewer@user:user-7311 + resource:someresource#viewer@user:user-7312 + resource:someresource#viewer@user:user-7313 + resource:someresource#viewer@user:user-7314 + resource:someresource#viewer@user:user-7315 + resource:someresource#viewer@user:user-7316 + resource:someresource#viewer@user:user-7317 + resource:someresource#viewer@user:user-7318 + resource:someresource#viewer@user:user-7319 + resource:someresource#viewer@user:user-7320 + resource:someresource#viewer@user:user-7321 + resource:someresource#viewer@user:user-7322 + resource:someresource#viewer@user:user-7323 + resource:someresource#viewer@user:user-7324 + resource:someresource#viewer@user:user-7325 + resource:someresource#viewer@user:user-7326 + resource:someresource#viewer@user:user-7327 + resource:someresource#viewer@user:user-7328 + resource:someresource#viewer@user:user-7329 + resource:someresource#viewer@user:user-7330 + resource:someresource#viewer@user:user-7331 + resource:someresource#viewer@user:user-7332 + resource:someresource#viewer@user:user-7333 + resource:someresource#viewer@user:user-7334 + resource:someresource#viewer@user:user-7335 + resource:someresource#viewer@user:user-7336 + resource:someresource#viewer@user:user-7337 + resource:someresource#viewer@user:user-7338 + resource:someresource#viewer@user:user-7339 + resource:someresource#viewer@user:user-7340 + resource:someresource#viewer@user:user-7341 + resource:someresource#viewer@user:user-7342 + resource:someresource#viewer@user:user-7343 + resource:someresource#viewer@user:user-7344 + resource:someresource#viewer@user:user-7345 + resource:someresource#viewer@user:user-7346 + resource:someresource#viewer@user:user-7347 + resource:someresource#viewer@user:user-7348 + resource:someresource#viewer@user:user-7349 + resource:someresource#viewer@user:user-7350 + resource:someresource#viewer@user:user-7351 + resource:someresource#viewer@user:user-7352 + resource:someresource#viewer@user:user-7353 + resource:someresource#viewer@user:user-7354 + resource:someresource#viewer@user:user-7355 + resource:someresource#viewer@user:user-7356 + resource:someresource#viewer@user:user-7357 + resource:someresource#viewer@user:user-7358 + resource:someresource#viewer@user:user-7359 + resource:someresource#viewer@user:user-7360 + resource:someresource#viewer@user:user-7361 + resource:someresource#viewer@user:user-7362 + resource:someresource#viewer@user:user-7363 + resource:someresource#viewer@user:user-7364 + resource:someresource#viewer@user:user-7365 + resource:someresource#viewer@user:user-7366 + resource:someresource#viewer@user:user-7367 + resource:someresource#viewer@user:user-7368 + resource:someresource#viewer@user:user-7369 + resource:someresource#viewer@user:user-7370 + resource:someresource#viewer@user:user-7371 + resource:someresource#viewer@user:user-7372 + resource:someresource#viewer@user:user-7373 + resource:someresource#viewer@user:user-7374 + resource:someresource#viewer@user:user-7375 + resource:someresource#viewer@user:user-7376 + resource:someresource#viewer@user:user-7377 + resource:someresource#viewer@user:user-7378 + resource:someresource#viewer@user:user-7379 + resource:someresource#viewer@user:user-7380 + resource:someresource#viewer@user:user-7381 + resource:someresource#viewer@user:user-7382 + resource:someresource#viewer@user:user-7383 + resource:someresource#viewer@user:user-7384 + resource:someresource#viewer@user:user-7385 + resource:someresource#viewer@user:user-7386 + resource:someresource#viewer@user:user-7387 + resource:someresource#viewer@user:user-7388 + resource:someresource#viewer@user:user-7389 + resource:someresource#viewer@user:user-7390 + resource:someresource#viewer@user:user-7391 + resource:someresource#viewer@user:user-7392 + resource:someresource#viewer@user:user-7393 + resource:someresource#viewer@user:user-7394 + resource:someresource#viewer@user:user-7395 + resource:someresource#viewer@user:user-7396 + resource:someresource#viewer@user:user-7397 + resource:someresource#viewer@user:user-7398 + resource:someresource#viewer@user:user-7399 + resource:someresource#viewer@user:user-7400 + resource:someresource#viewer@user:user-7401 + resource:someresource#viewer@user:user-7402 + resource:someresource#viewer@user:user-7403 + resource:someresource#viewer@user:user-7404 + resource:someresource#viewer@user:user-7405 + resource:someresource#viewer@user:user-7406 + resource:someresource#viewer@user:user-7407 + resource:someresource#viewer@user:user-7408 + resource:someresource#viewer@user:user-7409 + resource:someresource#viewer@user:user-7410 + resource:someresource#viewer@user:user-7411 + resource:someresource#viewer@user:user-7412 + resource:someresource#viewer@user:user-7413 + resource:someresource#viewer@user:user-7414 + resource:someresource#viewer@user:user-7415 + resource:someresource#viewer@user:user-7416 + resource:someresource#viewer@user:user-7417 + resource:someresource#viewer@user:user-7418 + resource:someresource#viewer@user:user-7419 + resource:someresource#viewer@user:user-7420 + resource:someresource#viewer@user:user-7421 + resource:someresource#viewer@user:user-7422 + resource:someresource#viewer@user:user-7423 + resource:someresource#viewer@user:user-7424 + resource:someresource#viewer@user:user-7425 + resource:someresource#viewer@user:user-7426 + resource:someresource#viewer@user:user-7427 + resource:someresource#viewer@user:user-7428 + resource:someresource#viewer@user:user-7429 + resource:someresource#viewer@user:user-7430 + resource:someresource#viewer@user:user-7431 + resource:someresource#viewer@user:user-7432 + resource:someresource#viewer@user:user-7433 + resource:someresource#viewer@user:user-7434 + resource:someresource#viewer@user:user-7435 + resource:someresource#viewer@user:user-7436 + resource:someresource#viewer@user:user-7437 + resource:someresource#viewer@user:user-7438 + resource:someresource#viewer@user:user-7439 + resource:someresource#viewer@user:user-7440 + resource:someresource#viewer@user:user-7441 + resource:someresource#viewer@user:user-7442 + resource:someresource#viewer@user:user-7443 + resource:someresource#viewer@user:user-7444 + resource:someresource#viewer@user:user-7445 + resource:someresource#viewer@user:user-7446 + resource:someresource#viewer@user:user-7447 + resource:someresource#viewer@user:user-7448 + resource:someresource#viewer@user:user-7449 + resource:someresource#viewer@user:user-7450 + resource:someresource#viewer@user:user-7451 + resource:someresource#viewer@user:user-7452 + resource:someresource#viewer@user:user-7453 + resource:someresource#viewer@user:user-7454 + resource:someresource#viewer@user:user-7455 + resource:someresource#viewer@user:user-7456 + resource:someresource#viewer@user:user-7457 + resource:someresource#viewer@user:user-7458 + resource:someresource#viewer@user:user-7459 + resource:someresource#viewer@user:user-7460 + resource:someresource#viewer@user:user-7461 + resource:someresource#viewer@user:user-7462 + resource:someresource#viewer@user:user-7463 + resource:someresource#viewer@user:user-7464 + resource:someresource#viewer@user:user-7465 + resource:someresource#viewer@user:user-7466 + resource:someresource#viewer@user:user-7467 + resource:someresource#viewer@user:user-7468 + resource:someresource#viewer@user:user-7469 + resource:someresource#viewer@user:user-7470 + resource:someresource#viewer@user:user-7471 + resource:someresource#viewer@user:user-7472 + resource:someresource#viewer@user:user-7473 + resource:someresource#viewer@user:user-7474 + resource:someresource#viewer@user:user-7475 + resource:someresource#viewer@user:user-7476 + resource:someresource#viewer@user:user-7477 + resource:someresource#viewer@user:user-7478 + resource:someresource#viewer@user:user-7479 + resource:someresource#viewer@user:user-7480 + resource:someresource#viewer@user:user-7481 + resource:someresource#viewer@user:user-7482 + resource:someresource#viewer@user:user-7483 + resource:someresource#viewer@user:user-7484 + resource:someresource#viewer@user:user-7485 + resource:someresource#viewer@user:user-7486 + resource:someresource#viewer@user:user-7487 + resource:someresource#viewer@user:user-7488 + resource:someresource#viewer@user:user-7489 + resource:someresource#viewer@user:user-7490 + resource:someresource#viewer@user:user-7491 + resource:someresource#viewer@user:user-7492 + resource:someresource#viewer@user:user-7493 + resource:someresource#viewer@user:user-7494 + resource:someresource#viewer@user:user-7495 + resource:someresource#viewer@user:user-7496 + resource:someresource#viewer@user:user-7497 + resource:someresource#viewer@user:user-7498 + resource:someresource#viewer@user:user-7499 + resource:someresource#viewer@user:user-7500 + resource:someresource#viewer@user:user-7501 + resource:someresource#viewer@user:user-7502 + resource:someresource#viewer@user:user-7503 + resource:someresource#viewer@user:user-7504 + resource:someresource#viewer@user:user-7505 + resource:someresource#viewer@user:user-7506 + resource:someresource#viewer@user:user-7507 + resource:someresource#viewer@user:user-7508 + resource:someresource#viewer@user:user-7509 + resource:someresource#viewer@user:user-7510 + resource:someresource#viewer@user:user-7511 + resource:someresource#viewer@user:user-7512 + resource:someresource#viewer@user:user-7513 + resource:someresource#viewer@user:user-7514 + resource:someresource#viewer@user:user-7515 + resource:someresource#viewer@user:user-7516 + resource:someresource#viewer@user:user-7517 + resource:someresource#viewer@user:user-7518 + resource:someresource#viewer@user:user-7519 + resource:someresource#viewer@user:user-7520 + resource:someresource#viewer@user:user-7521 + resource:someresource#viewer@user:user-7522 + resource:someresource#viewer@user:user-7523 + resource:someresource#viewer@user:user-7524 + resource:someresource#viewer@user:user-7525 + resource:someresource#viewer@user:user-7526 + resource:someresource#viewer@user:user-7527 + resource:someresource#viewer@user:user-7528 + resource:someresource#viewer@user:user-7529 + resource:someresource#viewer@user:user-7530 + resource:someresource#viewer@user:user-7531 + resource:someresource#viewer@user:user-7532 + resource:someresource#viewer@user:user-7533 + resource:someresource#viewer@user:user-7534 + resource:someresource#viewer@user:user-7535 + resource:someresource#viewer@user:user-7536 + resource:someresource#viewer@user:user-7537 + resource:someresource#viewer@user:user-7538 + resource:someresource#viewer@user:user-7539 + resource:someresource#viewer@user:user-7540 + resource:someresource#viewer@user:user-7541 + resource:someresource#viewer@user:user-7542 + resource:someresource#viewer@user:user-7543 + resource:someresource#viewer@user:user-7544 + resource:someresource#viewer@user:user-7545 + resource:someresource#viewer@user:user-7546 + resource:someresource#viewer@user:user-7547 + resource:someresource#viewer@user:user-7548 + resource:someresource#viewer@user:user-7549 + resource:someresource#viewer@user:user-7550 + resource:someresource#viewer@user:user-7551 + resource:someresource#viewer@user:user-7552 + resource:someresource#viewer@user:user-7553 + resource:someresource#viewer@user:user-7554 + resource:someresource#viewer@user:user-7555 + resource:someresource#viewer@user:user-7556 + resource:someresource#viewer@user:user-7557 + resource:someresource#viewer@user:user-7558 + resource:someresource#viewer@user:user-7559 + resource:someresource#viewer@user:user-7560 + resource:someresource#viewer@user:user-7561 + resource:someresource#viewer@user:user-7562 + resource:someresource#viewer@user:user-7563 + resource:someresource#viewer@user:user-7564 + resource:someresource#viewer@user:user-7565 + resource:someresource#viewer@user:user-7566 + resource:someresource#viewer@user:user-7567 + resource:someresource#viewer@user:user-7568 + resource:someresource#viewer@user:user-7569 + resource:someresource#viewer@user:user-7570 + resource:someresource#viewer@user:user-7571 + resource:someresource#viewer@user:user-7572 + resource:someresource#viewer@user:user-7573 + resource:someresource#viewer@user:user-7574 + resource:someresource#viewer@user:user-7575 + resource:someresource#viewer@user:user-7576 + resource:someresource#viewer@user:user-7577 + resource:someresource#viewer@user:user-7578 + resource:someresource#viewer@user:user-7579 + resource:someresource#viewer@user:user-7580 + resource:someresource#viewer@user:user-7581 + resource:someresource#viewer@user:user-7582 + resource:someresource#viewer@user:user-7583 + resource:someresource#viewer@user:user-7584 + resource:someresource#viewer@user:user-7585 + resource:someresource#viewer@user:user-7586 + resource:someresource#viewer@user:user-7587 + resource:someresource#viewer@user:user-7588 + resource:someresource#viewer@user:user-7589 + resource:someresource#viewer@user:user-7590 + resource:someresource#viewer@user:user-7591 + resource:someresource#viewer@user:user-7592 + resource:someresource#viewer@user:user-7593 + resource:someresource#viewer@user:user-7594 + resource:someresource#viewer@user:user-7595 + resource:someresource#viewer@user:user-7596 + resource:someresource#viewer@user:user-7597 + resource:someresource#viewer@user:user-7598 + resource:someresource#viewer@user:user-7599 + resource:someresource#viewer@user:user-7600 + resource:someresource#viewer@user:user-7601 + resource:someresource#viewer@user:user-7602 + resource:someresource#viewer@user:user-7603 + resource:someresource#viewer@user:user-7604 + resource:someresource#viewer@user:user-7605 + resource:someresource#viewer@user:user-7606 + resource:someresource#viewer@user:user-7607 + resource:someresource#viewer@user:user-7608 + resource:someresource#viewer@user:user-7609 + resource:someresource#viewer@user:user-7610 + resource:someresource#viewer@user:user-7611 + resource:someresource#viewer@user:user-7612 + resource:someresource#viewer@user:user-7613 + resource:someresource#viewer@user:user-7614 + resource:someresource#viewer@user:user-7615 + resource:someresource#viewer@user:user-7616 + resource:someresource#viewer@user:user-7617 + resource:someresource#viewer@user:user-7618 + resource:someresource#viewer@user:user-7619 + resource:someresource#viewer@user:user-7620 + resource:someresource#viewer@user:user-7621 + resource:someresource#viewer@user:user-7622 + resource:someresource#viewer@user:user-7623 + resource:someresource#viewer@user:user-7624 + resource:someresource#viewer@user:user-7625 + resource:someresource#viewer@user:user-7626 + resource:someresource#viewer@user:user-7627 + resource:someresource#viewer@user:user-7628 + resource:someresource#viewer@user:user-7629 + resource:someresource#viewer@user:user-7630 + resource:someresource#viewer@user:user-7631 + resource:someresource#viewer@user:user-7632 + resource:someresource#viewer@user:user-7633 + resource:someresource#viewer@user:user-7634 + resource:someresource#viewer@user:user-7635 + resource:someresource#viewer@user:user-7636 + resource:someresource#viewer@user:user-7637 + resource:someresource#viewer@user:user-7638 + resource:someresource#viewer@user:user-7639 + resource:someresource#viewer@user:user-7640 + resource:someresource#viewer@user:user-7641 + resource:someresource#viewer@user:user-7642 + resource:someresource#viewer@user:user-7643 + resource:someresource#viewer@user:user-7644 + resource:someresource#viewer@user:user-7645 + resource:someresource#viewer@user:user-7646 + resource:someresource#viewer@user:user-7647 + resource:someresource#viewer@user:user-7648 + resource:someresource#viewer@user:user-7649 + resource:someresource#viewer@user:user-7650 + resource:someresource#viewer@user:user-7651 + resource:someresource#viewer@user:user-7652 + resource:someresource#viewer@user:user-7653 + resource:someresource#viewer@user:user-7654 + resource:someresource#viewer@user:user-7655 + resource:someresource#viewer@user:user-7656 + resource:someresource#viewer@user:user-7657 + resource:someresource#viewer@user:user-7658 + resource:someresource#viewer@user:user-7659 + resource:someresource#viewer@user:user-7660 + resource:someresource#viewer@user:user-7661 + resource:someresource#viewer@user:user-7662 + resource:someresource#viewer@user:user-7663 + resource:someresource#viewer@user:user-7664 + resource:someresource#viewer@user:user-7665 + resource:someresource#viewer@user:user-7666 + resource:someresource#viewer@user:user-7667 + resource:someresource#viewer@user:user-7668 + resource:someresource#viewer@user:user-7669 + resource:someresource#viewer@user:user-7670 + resource:someresource#viewer@user:user-7671 + resource:someresource#viewer@user:user-7672 + resource:someresource#viewer@user:user-7673 + resource:someresource#viewer@user:user-7674 + resource:someresource#viewer@user:user-7675 + resource:someresource#viewer@user:user-7676 + resource:someresource#viewer@user:user-7677 + resource:someresource#viewer@user:user-7678 + resource:someresource#viewer@user:user-7679 + resource:someresource#viewer@user:user-7680 + resource:someresource#viewer@user:user-7681 + resource:someresource#viewer@user:user-7682 + resource:someresource#viewer@user:user-7683 + resource:someresource#viewer@user:user-7684 + resource:someresource#viewer@user:user-7685 + resource:someresource#viewer@user:user-7686 + resource:someresource#viewer@user:user-7687 + resource:someresource#viewer@user:user-7688 + resource:someresource#viewer@user:user-7689 + resource:someresource#viewer@user:user-7690 + resource:someresource#viewer@user:user-7691 + resource:someresource#viewer@user:user-7692 + resource:someresource#viewer@user:user-7693 + resource:someresource#viewer@user:user-7694 + resource:someresource#viewer@user:user-7695 + resource:someresource#viewer@user:user-7696 + resource:someresource#viewer@user:user-7697 + resource:someresource#viewer@user:user-7698 + resource:someresource#viewer@user:user-7699 + resource:someresource#viewer@user:user-7700 + resource:someresource#viewer@user:user-7701 + resource:someresource#viewer@user:user-7702 + resource:someresource#viewer@user:user-7703 + resource:someresource#viewer@user:user-7704 + resource:someresource#viewer@user:user-7705 + resource:someresource#viewer@user:user-7706 + resource:someresource#viewer@user:user-7707 + resource:someresource#viewer@user:user-7708 + resource:someresource#viewer@user:user-7709 + resource:someresource#viewer@user:user-7710 + resource:someresource#viewer@user:user-7711 + resource:someresource#viewer@user:user-7712 + resource:someresource#viewer@user:user-7713 + resource:someresource#viewer@user:user-7714 + resource:someresource#viewer@user:user-7715 + resource:someresource#viewer@user:user-7716 + resource:someresource#viewer@user:user-7717 + resource:someresource#viewer@user:user-7718 + resource:someresource#viewer@user:user-7719 + resource:someresource#viewer@user:user-7720 + resource:someresource#viewer@user:user-7721 + resource:someresource#viewer@user:user-7722 + resource:someresource#viewer@user:user-7723 + resource:someresource#viewer@user:user-7724 + resource:someresource#viewer@user:user-7725 + resource:someresource#viewer@user:user-7726 + resource:someresource#viewer@user:user-7727 + resource:someresource#viewer@user:user-7728 + resource:someresource#viewer@user:user-7729 + resource:someresource#viewer@user:user-7730 + resource:someresource#viewer@user:user-7731 + resource:someresource#viewer@user:user-7732 + resource:someresource#viewer@user:user-7733 + resource:someresource#viewer@user:user-7734 + resource:someresource#viewer@user:user-7735 + resource:someresource#viewer@user:user-7736 + resource:someresource#viewer@user:user-7737 + resource:someresource#viewer@user:user-7738 + resource:someresource#viewer@user:user-7739 + resource:someresource#viewer@user:user-7740 + resource:someresource#viewer@user:user-7741 + resource:someresource#viewer@user:user-7742 + resource:someresource#viewer@user:user-7743 + resource:someresource#viewer@user:user-7744 + resource:someresource#viewer@user:user-7745 + resource:someresource#viewer@user:user-7746 + resource:someresource#viewer@user:user-7747 + resource:someresource#viewer@user:user-7748 + resource:someresource#viewer@user:user-7749 + resource:someresource#viewer@user:user-7750 + resource:someresource#viewer@user:user-7751 + resource:someresource#viewer@user:user-7752 + resource:someresource#viewer@user:user-7753 + resource:someresource#viewer@user:user-7754 + resource:someresource#viewer@user:user-7755 + resource:someresource#viewer@user:user-7756 + resource:someresource#viewer@user:user-7757 + resource:someresource#viewer@user:user-7758 + resource:someresource#viewer@user:user-7759 + resource:someresource#viewer@user:user-7760 + resource:someresource#viewer@user:user-7761 + resource:someresource#viewer@user:user-7762 + resource:someresource#viewer@user:user-7763 + resource:someresource#viewer@user:user-7764 + resource:someresource#viewer@user:user-7765 + resource:someresource#viewer@user:user-7766 + resource:someresource#viewer@user:user-7767 + resource:someresource#viewer@user:user-7768 + resource:someresource#viewer@user:user-7769 + resource:someresource#viewer@user:user-7770 + resource:someresource#viewer@user:user-7771 + resource:someresource#viewer@user:user-7772 + resource:someresource#viewer@user:user-7773 + resource:someresource#viewer@user:user-7774 + resource:someresource#viewer@user:user-7775 + resource:someresource#viewer@user:user-7776 + resource:someresource#viewer@user:user-7777 + resource:someresource#viewer@user:user-7778 + resource:someresource#viewer@user:user-7779 + resource:someresource#viewer@user:user-7780 + resource:someresource#viewer@user:user-7781 + resource:someresource#viewer@user:user-7782 + resource:someresource#viewer@user:user-7783 + resource:someresource#viewer@user:user-7784 + resource:someresource#viewer@user:user-7785 + resource:someresource#viewer@user:user-7786 + resource:someresource#viewer@user:user-7787 + resource:someresource#viewer@user:user-7788 + resource:someresource#viewer@user:user-7789 + resource:someresource#viewer@user:user-7790 + resource:someresource#viewer@user:user-7791 + resource:someresource#viewer@user:user-7792 + resource:someresource#viewer@user:user-7793 + resource:someresource#viewer@user:user-7794 + resource:someresource#viewer@user:user-7795 + resource:someresource#viewer@user:user-7796 + resource:someresource#viewer@user:user-7797 + resource:someresource#viewer@user:user-7798 + resource:someresource#viewer@user:user-7799 + resource:someresource#viewer@user:user-7800 + resource:someresource#viewer@user:user-7801 + resource:someresource#viewer@user:user-7802 + resource:someresource#viewer@user:user-7803 + resource:someresource#viewer@user:user-7804 + resource:someresource#viewer@user:user-7805 + resource:someresource#viewer@user:user-7806 + resource:someresource#viewer@user:user-7807 + resource:someresource#viewer@user:user-7808 + resource:someresource#viewer@user:user-7809 + resource:someresource#viewer@user:user-7810 + resource:someresource#viewer@user:user-7811 + resource:someresource#viewer@user:user-7812 + resource:someresource#viewer@user:user-7813 + resource:someresource#viewer@user:user-7814 + resource:someresource#viewer@user:user-7815 + resource:someresource#viewer@user:user-7816 + resource:someresource#viewer@user:user-7817 + resource:someresource#viewer@user:user-7818 + resource:someresource#viewer@user:user-7819 + resource:someresource#viewer@user:user-7820 + resource:someresource#viewer@user:user-7821 + resource:someresource#viewer@user:user-7822 + resource:someresource#viewer@user:user-7823 + resource:someresource#viewer@user:user-7824 + resource:someresource#viewer@user:user-7825 + resource:someresource#viewer@user:user-7826 + resource:someresource#viewer@user:user-7827 + resource:someresource#viewer@user:user-7828 + resource:someresource#viewer@user:user-7829 + resource:someresource#viewer@user:user-7830 + resource:someresource#viewer@user:user-7831 + resource:someresource#viewer@user:user-7832 + resource:someresource#viewer@user:user-7833 + resource:someresource#viewer@user:user-7834 + resource:someresource#viewer@user:user-7835 + resource:someresource#viewer@user:user-7836 + resource:someresource#viewer@user:user-7837 + resource:someresource#viewer@user:user-7838 + resource:someresource#viewer@user:user-7839 + resource:someresource#viewer@user:user-7840 + resource:someresource#viewer@user:user-7841 + resource:someresource#viewer@user:user-7842 + resource:someresource#viewer@user:user-7843 + resource:someresource#viewer@user:user-7844 + resource:someresource#viewer@user:user-7845 + resource:someresource#viewer@user:user-7846 + resource:someresource#viewer@user:user-7847 + resource:someresource#viewer@user:user-7848 + resource:someresource#viewer@user:user-7849 + resource:someresource#viewer@user:user-7850 + resource:someresource#viewer@user:user-7851 + resource:someresource#viewer@user:user-7852 + resource:someresource#viewer@user:user-7853 + resource:someresource#viewer@user:user-7854 + resource:someresource#viewer@user:user-7855 + resource:someresource#viewer@user:user-7856 + resource:someresource#viewer@user:user-7857 + resource:someresource#viewer@user:user-7858 + resource:someresource#viewer@user:user-7859 + resource:someresource#viewer@user:user-7860 + resource:someresource#viewer@user:user-7861 + resource:someresource#viewer@user:user-7862 + resource:someresource#viewer@user:user-7863 + resource:someresource#viewer@user:user-7864 + resource:someresource#viewer@user:user-7865 + resource:someresource#viewer@user:user-7866 + resource:someresource#viewer@user:user-7867 + resource:someresource#viewer@user:user-7868 + resource:someresource#viewer@user:user-7869 + resource:someresource#viewer@user:user-7870 + resource:someresource#viewer@user:user-7871 + resource:someresource#viewer@user:user-7872 + resource:someresource#viewer@user:user-7873 + resource:someresource#viewer@user:user-7874 + resource:someresource#viewer@user:user-7875 + resource:someresource#viewer@user:user-7876 + resource:someresource#viewer@user:user-7877 + resource:someresource#viewer@user:user-7878 + resource:someresource#viewer@user:user-7879 + resource:someresource#viewer@user:user-7880 + resource:someresource#viewer@user:user-7881 + resource:someresource#viewer@user:user-7882 + resource:someresource#viewer@user:user-7883 + resource:someresource#viewer@user:user-7884 + resource:someresource#viewer@user:user-7885 + resource:someresource#viewer@user:user-7886 + resource:someresource#viewer@user:user-7887 + resource:someresource#viewer@user:user-7888 + resource:someresource#viewer@user:user-7889 + resource:someresource#viewer@user:user-7890 + resource:someresource#viewer@user:user-7891 + resource:someresource#viewer@user:user-7892 + resource:someresource#viewer@user:user-7893 + resource:someresource#viewer@user:user-7894 + resource:someresource#viewer@user:user-7895 + resource:someresource#viewer@user:user-7896 + resource:someresource#viewer@user:user-7897 + resource:someresource#viewer@user:user-7898 + resource:someresource#viewer@user:user-7899 + resource:someresource#viewer@user:user-7900 + resource:someresource#viewer@user:user-7901 + resource:someresource#viewer@user:user-7902 + resource:someresource#viewer@user:user-7903 + resource:someresource#viewer@user:user-7904 + resource:someresource#viewer@user:user-7905 + resource:someresource#viewer@user:user-7906 + resource:someresource#viewer@user:user-7907 + resource:someresource#viewer@user:user-7908 + resource:someresource#viewer@user:user-7909 + resource:someresource#viewer@user:user-7910 + resource:someresource#viewer@user:user-7911 + resource:someresource#viewer@user:user-7912 + resource:someresource#viewer@user:user-7913 + resource:someresource#viewer@user:user-7914 + resource:someresource#viewer@user:user-7915 + resource:someresource#viewer@user:user-7916 + resource:someresource#viewer@user:user-7917 + resource:someresource#viewer@user:user-7918 + resource:someresource#viewer@user:user-7919 + resource:someresource#viewer@user:user-7920 + resource:someresource#viewer@user:user-7921 + resource:someresource#viewer@user:user-7922 + resource:someresource#viewer@user:user-7923 + resource:someresource#viewer@user:user-7924 + resource:someresource#viewer@user:user-7925 + resource:someresource#viewer@user:user-7926 + resource:someresource#viewer@user:user-7927 + resource:someresource#viewer@user:user-7928 + resource:someresource#viewer@user:user-7929 + resource:someresource#viewer@user:user-7930 + resource:someresource#viewer@user:user-7931 + resource:someresource#viewer@user:user-7932 + resource:someresource#viewer@user:user-7933 + resource:someresource#viewer@user:user-7934 + resource:someresource#viewer@user:user-7935 + resource:someresource#viewer@user:user-7936 + resource:someresource#viewer@user:user-7937 + resource:someresource#viewer@user:user-7938 + resource:someresource#viewer@user:user-7939 + resource:someresource#viewer@user:user-7940 + resource:someresource#viewer@user:user-7941 + resource:someresource#viewer@user:user-7942 + resource:someresource#viewer@user:user-7943 + resource:someresource#viewer@user:user-7944 + resource:someresource#viewer@user:user-7945 + resource:someresource#viewer@user:user-7946 + resource:someresource#viewer@user:user-7947 + resource:someresource#viewer@user:user-7948 + resource:someresource#viewer@user:user-7949 + resource:someresource#viewer@user:user-7950 + resource:someresource#viewer@user:user-7951 + resource:someresource#viewer@user:user-7952 + resource:someresource#viewer@user:user-7953 + resource:someresource#viewer@user:user-7954 + resource:someresource#viewer@user:user-7955 + resource:someresource#viewer@user:user-7956 + resource:someresource#viewer@user:user-7957 + resource:someresource#viewer@user:user-7958 + resource:someresource#viewer@user:user-7959 + resource:someresource#viewer@user:user-7960 + resource:someresource#viewer@user:user-7961 + resource:someresource#viewer@user:user-7962 + resource:someresource#viewer@user:user-7963 + resource:someresource#viewer@user:user-7964 + resource:someresource#viewer@user:user-7965 + resource:someresource#viewer@user:user-7966 + resource:someresource#viewer@user:user-7967 + resource:someresource#viewer@user:user-7968 + resource:someresource#viewer@user:user-7969 + resource:someresource#viewer@user:user-7970 + resource:someresource#viewer@user:user-7971 + resource:someresource#viewer@user:user-7972 + resource:someresource#viewer@user:user-7973 + resource:someresource#viewer@user:user-7974 + resource:someresource#viewer@user:user-7975 + resource:someresource#viewer@user:user-7976 + resource:someresource#viewer@user:user-7977 + resource:someresource#viewer@user:user-7978 + resource:someresource#viewer@user:user-7979 + resource:someresource#viewer@user:user-7980 + resource:someresource#viewer@user:user-7981 + resource:someresource#viewer@user:user-7982 + resource:someresource#viewer@user:user-7983 + resource:someresource#viewer@user:user-7984 + resource:someresource#viewer@user:user-7985 + resource:someresource#viewer@user:user-7986 + resource:someresource#viewer@user:user-7987 + resource:someresource#viewer@user:user-7988 + resource:someresource#viewer@user:user-7989 + resource:someresource#viewer@user:user-7990 + resource:someresource#viewer@user:user-7991 + resource:someresource#viewer@user:user-7992 + resource:someresource#viewer@user:user-7993 + resource:someresource#viewer@user:user-7994 + resource:someresource#viewer@user:user-7995 + resource:someresource#viewer@user:user-7996 + resource:someresource#viewer@user:user-7997 + resource:someresource#viewer@user:user-7998 + resource:someresource#viewer@user:user-7999 + resource:someresource#viewer@user:user-8000 + resource:someresource#viewer@user:user-8001 + resource:someresource#viewer@user:user-8002 + resource:someresource#viewer@user:user-8003 + resource:someresource#viewer@user:user-8004 + resource:someresource#viewer@user:user-8005 + resource:someresource#viewer@user:user-8006 + resource:someresource#viewer@user:user-8007 + resource:someresource#viewer@user:user-8008 + resource:someresource#viewer@user:user-8009 + resource:someresource#viewer@user:user-8010 + resource:someresource#viewer@user:user-8011 + resource:someresource#viewer@user:user-8012 + resource:someresource#viewer@user:user-8013 + resource:someresource#viewer@user:user-8014 + resource:someresource#viewer@user:user-8015 + resource:someresource#viewer@user:user-8016 + resource:someresource#viewer@user:user-8017 + resource:someresource#viewer@user:user-8018 + resource:someresource#viewer@user:user-8019 + resource:someresource#viewer@user:user-8020 + resource:someresource#viewer@user:user-8021 + resource:someresource#viewer@user:user-8022 + resource:someresource#viewer@user:user-8023 + resource:someresource#viewer@user:user-8024 + resource:someresource#viewer@user:user-8025 + resource:someresource#viewer@user:user-8026 + resource:someresource#viewer@user:user-8027 + resource:someresource#viewer@user:user-8028 + resource:someresource#viewer@user:user-8029 + resource:someresource#viewer@user:user-8030 + resource:someresource#viewer@user:user-8031 + resource:someresource#viewer@user:user-8032 + resource:someresource#viewer@user:user-8033 + resource:someresource#viewer@user:user-8034 + resource:someresource#viewer@user:user-8035 + resource:someresource#viewer@user:user-8036 + resource:someresource#viewer@user:user-8037 + resource:someresource#viewer@user:user-8038 + resource:someresource#viewer@user:user-8039 + resource:someresource#viewer@user:user-8040 + resource:someresource#viewer@user:user-8041 + resource:someresource#viewer@user:user-8042 + resource:someresource#viewer@user:user-8043 + resource:someresource#viewer@user:user-8044 + resource:someresource#viewer@user:user-8045 + resource:someresource#viewer@user:user-8046 + resource:someresource#viewer@user:user-8047 + resource:someresource#viewer@user:user-8048 + resource:someresource#viewer@user:user-8049 + resource:someresource#viewer@user:user-8050 + resource:someresource#viewer@user:user-8051 + resource:someresource#viewer@user:user-8052 + resource:someresource#viewer@user:user-8053 + resource:someresource#viewer@user:user-8054 + resource:someresource#viewer@user:user-8055 + resource:someresource#viewer@user:user-8056 + resource:someresource#viewer@user:user-8057 + resource:someresource#viewer@user:user-8058 + resource:someresource#viewer@user:user-8059 + resource:someresource#viewer@user:user-8060 + resource:someresource#viewer@user:user-8061 + resource:someresource#viewer@user:user-8062 + resource:someresource#viewer@user:user-8063 + resource:someresource#viewer@user:user-8064 + resource:someresource#viewer@user:user-8065 + resource:someresource#viewer@user:user-8066 + resource:someresource#viewer@user:user-8067 + resource:someresource#viewer@user:user-8068 + resource:someresource#viewer@user:user-8069 + resource:someresource#viewer@user:user-8070 + resource:someresource#viewer@user:user-8071 + resource:someresource#viewer@user:user-8072 + resource:someresource#viewer@user:user-8073 + resource:someresource#viewer@user:user-8074 + resource:someresource#viewer@user:user-8075 + resource:someresource#viewer@user:user-8076 + resource:someresource#viewer@user:user-8077 + resource:someresource#viewer@user:user-8078 + resource:someresource#viewer@user:user-8079 + resource:someresource#viewer@user:user-8080 + resource:someresource#viewer@user:user-8081 + resource:someresource#viewer@user:user-8082 + resource:someresource#viewer@user:user-8083 + resource:someresource#viewer@user:user-8084 + resource:someresource#viewer@user:user-8085 + resource:someresource#viewer@user:user-8086 + resource:someresource#viewer@user:user-8087 + resource:someresource#viewer@user:user-8088 + resource:someresource#viewer@user:user-8089 + resource:someresource#viewer@user:user-8090 + resource:someresource#viewer@user:user-8091 + resource:someresource#viewer@user:user-8092 + resource:someresource#viewer@user:user-8093 + resource:someresource#viewer@user:user-8094 + resource:someresource#viewer@user:user-8095 + resource:someresource#viewer@user:user-8096 + resource:someresource#viewer@user:user-8097 + resource:someresource#viewer@user:user-8098 + resource:someresource#viewer@user:user-8099 + resource:someresource#viewer@user:user-8100 + resource:someresource#viewer@user:user-8101 + resource:someresource#viewer@user:user-8102 + resource:someresource#viewer@user:user-8103 + resource:someresource#viewer@user:user-8104 + resource:someresource#viewer@user:user-8105 + resource:someresource#viewer@user:user-8106 + resource:someresource#viewer@user:user-8107 + resource:someresource#viewer@user:user-8108 + resource:someresource#viewer@user:user-8109 + resource:someresource#viewer@user:user-8110 + resource:someresource#viewer@user:user-8111 + resource:someresource#viewer@user:user-8112 + resource:someresource#viewer@user:user-8113 + resource:someresource#viewer@user:user-8114 + resource:someresource#viewer@user:user-8115 + resource:someresource#viewer@user:user-8116 + resource:someresource#viewer@user:user-8117 + resource:someresource#viewer@user:user-8118 + resource:someresource#viewer@user:user-8119 + resource:someresource#viewer@user:user-8120 + resource:someresource#viewer@user:user-8121 + resource:someresource#viewer@user:user-8122 + resource:someresource#viewer@user:user-8123 + resource:someresource#viewer@user:user-8124 + resource:someresource#viewer@user:user-8125 + resource:someresource#viewer@user:user-8126 + resource:someresource#viewer@user:user-8127 + resource:someresource#viewer@user:user-8128 + resource:someresource#viewer@user:user-8129 + resource:someresource#viewer@user:user-8130 + resource:someresource#viewer@user:user-8131 + resource:someresource#viewer@user:user-8132 + resource:someresource#viewer@user:user-8133 + resource:someresource#viewer@user:user-8134 + resource:someresource#viewer@user:user-8135 + resource:someresource#viewer@user:user-8136 + resource:someresource#viewer@user:user-8137 + resource:someresource#viewer@user:user-8138 + resource:someresource#viewer@user:user-8139 + resource:someresource#viewer@user:user-8140 + resource:someresource#viewer@user:user-8141 + resource:someresource#viewer@user:user-8142 + resource:someresource#viewer@user:user-8143 + resource:someresource#viewer@user:user-8144 + resource:someresource#viewer@user:user-8145 + resource:someresource#viewer@user:user-8146 + resource:someresource#viewer@user:user-8147 + resource:someresource#viewer@user:user-8148 + resource:someresource#viewer@user:user-8149 + resource:someresource#viewer@user:user-8150 + resource:someresource#viewer@user:user-8151 + resource:someresource#viewer@user:user-8152 + resource:someresource#viewer@user:user-8153 + resource:someresource#viewer@user:user-8154 + resource:someresource#viewer@user:user-8155 + resource:someresource#viewer@user:user-8156 + resource:someresource#viewer@user:user-8157 + resource:someresource#viewer@user:user-8158 + resource:someresource#viewer@user:user-8159 + resource:someresource#viewer@user:user-8160 + resource:someresource#viewer@user:user-8161 + resource:someresource#viewer@user:user-8162 + resource:someresource#viewer@user:user-8163 + resource:someresource#viewer@user:user-8164 + resource:someresource#viewer@user:user-8165 + resource:someresource#viewer@user:user-8166 + resource:someresource#viewer@user:user-8167 + resource:someresource#viewer@user:user-8168 + resource:someresource#viewer@user:user-8169 + resource:someresource#viewer@user:user-8170 + resource:someresource#viewer@user:user-8171 + resource:someresource#viewer@user:user-8172 + resource:someresource#viewer@user:user-8173 + resource:someresource#viewer@user:user-8174 + resource:someresource#viewer@user:user-8175 + resource:someresource#viewer@user:user-8176 + resource:someresource#viewer@user:user-8177 + resource:someresource#viewer@user:user-8178 + resource:someresource#viewer@user:user-8179 + resource:someresource#viewer@user:user-8180 + resource:someresource#viewer@user:user-8181 + resource:someresource#viewer@user:user-8182 + resource:someresource#viewer@user:user-8183 + resource:someresource#viewer@user:user-8184 + resource:someresource#viewer@user:user-8185 + resource:someresource#viewer@user:user-8186 + resource:someresource#viewer@user:user-8187 + resource:someresource#viewer@user:user-8188 + resource:someresource#viewer@user:user-8189 + resource:someresource#viewer@user:user-8190 + resource:someresource#viewer@user:user-8191 + resource:someresource#viewer@user:user-8192 + resource:someresource#viewer@user:user-8193 + resource:someresource#viewer@user:user-8194 + resource:someresource#viewer@user:user-8195 + resource:someresource#viewer@user:user-8196 + resource:someresource#viewer@user:user-8197 + resource:someresource#viewer@user:user-8198 + resource:someresource#viewer@user:user-8199 + resource:someresource#viewer@user:user-8200 + resource:someresource#viewer@user:user-8201 + resource:someresource#viewer@user:user-8202 + resource:someresource#viewer@user:user-8203 + resource:someresource#viewer@user:user-8204 + resource:someresource#viewer@user:user-8205 + resource:someresource#viewer@user:user-8206 + resource:someresource#viewer@user:user-8207 + resource:someresource#viewer@user:user-8208 + resource:someresource#viewer@user:user-8209 + resource:someresource#viewer@user:user-8210 + resource:someresource#viewer@user:user-8211 + resource:someresource#viewer@user:user-8212 + resource:someresource#viewer@user:user-8213 + resource:someresource#viewer@user:user-8214 + resource:someresource#viewer@user:user-8215 + resource:someresource#viewer@user:user-8216 + resource:someresource#viewer@user:user-8217 + resource:someresource#viewer@user:user-8218 + resource:someresource#viewer@user:user-8219 + resource:someresource#viewer@user:user-8220 + resource:someresource#viewer@user:user-8221 + resource:someresource#viewer@user:user-8222 + resource:someresource#viewer@user:user-8223 + resource:someresource#viewer@user:user-8224 + resource:someresource#viewer@user:user-8225 + resource:someresource#viewer@user:user-8226 + resource:someresource#viewer@user:user-8227 + resource:someresource#viewer@user:user-8228 + resource:someresource#viewer@user:user-8229 + resource:someresource#viewer@user:user-8230 + resource:someresource#viewer@user:user-8231 + resource:someresource#viewer@user:user-8232 + resource:someresource#viewer@user:user-8233 + resource:someresource#viewer@user:user-8234 + resource:someresource#viewer@user:user-8235 + resource:someresource#viewer@user:user-8236 + resource:someresource#viewer@user:user-8237 + resource:someresource#viewer@user:user-8238 + resource:someresource#viewer@user:user-8239 + resource:someresource#viewer@user:user-8240 + resource:someresource#viewer@user:user-8241 + resource:someresource#viewer@user:user-8242 + resource:someresource#viewer@user:user-8243 + resource:someresource#viewer@user:user-8244 + resource:someresource#viewer@user:user-8245 + resource:someresource#viewer@user:user-8246 + resource:someresource#viewer@user:user-8247 + resource:someresource#viewer@user:user-8248 + resource:someresource#viewer@user:user-8249 + resource:someresource#viewer@user:user-8250 + resource:someresource#viewer@user:user-8251 + resource:someresource#viewer@user:user-8252 + resource:someresource#viewer@user:user-8253 + resource:someresource#viewer@user:user-8254 + resource:someresource#viewer@user:user-8255 + resource:someresource#viewer@user:user-8256 + resource:someresource#viewer@user:user-8257 + resource:someresource#viewer@user:user-8258 + resource:someresource#viewer@user:user-8259 + resource:someresource#viewer@user:user-8260 + resource:someresource#viewer@user:user-8261 + resource:someresource#viewer@user:user-8262 + resource:someresource#viewer@user:user-8263 + resource:someresource#viewer@user:user-8264 + resource:someresource#viewer@user:user-8265 + resource:someresource#viewer@user:user-8266 + resource:someresource#viewer@user:user-8267 + resource:someresource#viewer@user:user-8268 + resource:someresource#viewer@user:user-8269 + resource:someresource#viewer@user:user-8270 + resource:someresource#viewer@user:user-8271 + resource:someresource#viewer@user:user-8272 + resource:someresource#viewer@user:user-8273 + resource:someresource#viewer@user:user-8274 + resource:someresource#viewer@user:user-8275 + resource:someresource#viewer@user:user-8276 + resource:someresource#viewer@user:user-8277 + resource:someresource#viewer@user:user-8278 + resource:someresource#viewer@user:user-8279 + resource:someresource#viewer@user:user-8280 + resource:someresource#viewer@user:user-8281 + resource:someresource#viewer@user:user-8282 + resource:someresource#viewer@user:user-8283 + resource:someresource#viewer@user:user-8284 + resource:someresource#viewer@user:user-8285 + resource:someresource#viewer@user:user-8286 + resource:someresource#viewer@user:user-8287 + resource:someresource#viewer@user:user-8288 + resource:someresource#viewer@user:user-8289 + resource:someresource#viewer@user:user-8290 + resource:someresource#viewer@user:user-8291 + resource:someresource#viewer@user:user-8292 + resource:someresource#viewer@user:user-8293 + resource:someresource#viewer@user:user-8294 + resource:someresource#viewer@user:user-8295 + resource:someresource#viewer@user:user-8296 + resource:someresource#viewer@user:user-8297 + resource:someresource#viewer@user:user-8298 + resource:someresource#viewer@user:user-8299 + resource:someresource#viewer@user:user-8300 + resource:someresource#viewer@user:user-8301 + resource:someresource#viewer@user:user-8302 + resource:someresource#viewer@user:user-8303 + resource:someresource#viewer@user:user-8304 + resource:someresource#viewer@user:user-8305 + resource:someresource#viewer@user:user-8306 + resource:someresource#viewer@user:user-8307 + resource:someresource#viewer@user:user-8308 + resource:someresource#viewer@user:user-8309 + resource:someresource#viewer@user:user-8310 + resource:someresource#viewer@user:user-8311 + resource:someresource#viewer@user:user-8312 + resource:someresource#viewer@user:user-8313 + resource:someresource#viewer@user:user-8314 + resource:someresource#viewer@user:user-8315 + resource:someresource#viewer@user:user-8316 + resource:someresource#viewer@user:user-8317 + resource:someresource#viewer@user:user-8318 + resource:someresource#viewer@user:user-8319 + resource:someresource#viewer@user:user-8320 + resource:someresource#viewer@user:user-8321 + resource:someresource#viewer@user:user-8322 + resource:someresource#viewer@user:user-8323 + resource:someresource#viewer@user:user-8324 + resource:someresource#viewer@user:user-8325 + resource:someresource#viewer@user:user-8326 + resource:someresource#viewer@user:user-8327 + resource:someresource#viewer@user:user-8328 + resource:someresource#viewer@user:user-8329 + resource:someresource#viewer@user:user-8330 + resource:someresource#viewer@user:user-8331 + resource:someresource#viewer@user:user-8332 + resource:someresource#viewer@user:user-8333 + resource:someresource#viewer@user:user-8334 + resource:someresource#viewer@user:user-8335 + resource:someresource#viewer@user:user-8336 + resource:someresource#viewer@user:user-8337 + resource:someresource#viewer@user:user-8338 + resource:someresource#viewer@user:user-8339 + resource:someresource#viewer@user:user-8340 + resource:someresource#viewer@user:user-8341 + resource:someresource#viewer@user:user-8342 + resource:someresource#viewer@user:user-8343 + resource:someresource#viewer@user:user-8344 + resource:someresource#viewer@user:user-8345 + resource:someresource#viewer@user:user-8346 + resource:someresource#viewer@user:user-8347 + resource:someresource#viewer@user:user-8348 + resource:someresource#viewer@user:user-8349 + resource:someresource#viewer@user:user-8350 + resource:someresource#viewer@user:user-8351 + resource:someresource#viewer@user:user-8352 + resource:someresource#viewer@user:user-8353 + resource:someresource#viewer@user:user-8354 + resource:someresource#viewer@user:user-8355 + resource:someresource#viewer@user:user-8356 + resource:someresource#viewer@user:user-8357 + resource:someresource#viewer@user:user-8358 + resource:someresource#viewer@user:user-8359 + resource:someresource#viewer@user:user-8360 + resource:someresource#viewer@user:user-8361 + resource:someresource#viewer@user:user-8362 + resource:someresource#viewer@user:user-8363 + resource:someresource#viewer@user:user-8364 + resource:someresource#viewer@user:user-8365 + resource:someresource#viewer@user:user-8366 + resource:someresource#viewer@user:user-8367 + resource:someresource#viewer@user:user-8368 + resource:someresource#viewer@user:user-8369 + resource:someresource#viewer@user:user-8370 + resource:someresource#viewer@user:user-8371 + resource:someresource#viewer@user:user-8372 + resource:someresource#viewer@user:user-8373 + resource:someresource#viewer@user:user-8374 + resource:someresource#viewer@user:user-8375 + resource:someresource#viewer@user:user-8376 + resource:someresource#viewer@user:user-8377 + resource:someresource#viewer@user:user-8378 + resource:someresource#viewer@user:user-8379 + resource:someresource#viewer@user:user-8380 + resource:someresource#viewer@user:user-8381 + resource:someresource#viewer@user:user-8382 + resource:someresource#viewer@user:user-8383 + resource:someresource#viewer@user:user-8384 + resource:someresource#viewer@user:user-8385 + resource:someresource#viewer@user:user-8386 + resource:someresource#viewer@user:user-8387 + resource:someresource#viewer@user:user-8388 + resource:someresource#viewer@user:user-8389 + resource:someresource#viewer@user:user-8390 + resource:someresource#viewer@user:user-8391 + resource:someresource#viewer@user:user-8392 + resource:someresource#viewer@user:user-8393 + resource:someresource#viewer@user:user-8394 + resource:someresource#viewer@user:user-8395 + resource:someresource#viewer@user:user-8396 + resource:someresource#viewer@user:user-8397 + resource:someresource#viewer@user:user-8398 + resource:someresource#viewer@user:user-8399 + resource:someresource#viewer@user:user-8400 + resource:someresource#viewer@user:user-8401 + resource:someresource#viewer@user:user-8402 + resource:someresource#viewer@user:user-8403 + resource:someresource#viewer@user:user-8404 + resource:someresource#viewer@user:user-8405 + resource:someresource#viewer@user:user-8406 + resource:someresource#viewer@user:user-8407 + resource:someresource#viewer@user:user-8408 + resource:someresource#viewer@user:user-8409 + resource:someresource#viewer@user:user-8410 + resource:someresource#viewer@user:user-8411 + resource:someresource#viewer@user:user-8412 + resource:someresource#viewer@user:user-8413 + resource:someresource#viewer@user:user-8414 + resource:someresource#viewer@user:user-8415 + resource:someresource#viewer@user:user-8416 + resource:someresource#viewer@user:user-8417 + resource:someresource#viewer@user:user-8418 + resource:someresource#viewer@user:user-8419 + resource:someresource#viewer@user:user-8420 + resource:someresource#viewer@user:user-8421 + resource:someresource#viewer@user:user-8422 + resource:someresource#viewer@user:user-8423 + resource:someresource#viewer@user:user-8424 + resource:someresource#viewer@user:user-8425 + resource:someresource#viewer@user:user-8426 + resource:someresource#viewer@user:user-8427 + resource:someresource#viewer@user:user-8428 + resource:someresource#viewer@user:user-8429 + resource:someresource#viewer@user:user-8430 + resource:someresource#viewer@user:user-8431 + resource:someresource#viewer@user:user-8432 + resource:someresource#viewer@user:user-8433 + resource:someresource#viewer@user:user-8434 + resource:someresource#viewer@user:user-8435 + resource:someresource#viewer@user:user-8436 + resource:someresource#viewer@user:user-8437 + resource:someresource#viewer@user:user-8438 + resource:someresource#viewer@user:user-8439 + resource:someresource#viewer@user:user-8440 + resource:someresource#viewer@user:user-8441 + resource:someresource#viewer@user:user-8442 + resource:someresource#viewer@user:user-8443 + resource:someresource#viewer@user:user-8444 + resource:someresource#viewer@user:user-8445 + resource:someresource#viewer@user:user-8446 + resource:someresource#viewer@user:user-8447 + resource:someresource#viewer@user:user-8448 + resource:someresource#viewer@user:user-8449 + resource:someresource#viewer@user:user-8450 + resource:someresource#viewer@user:user-8451 + resource:someresource#viewer@user:user-8452 + resource:someresource#viewer@user:user-8453 + resource:someresource#viewer@user:user-8454 + resource:someresource#viewer@user:user-8455 + resource:someresource#viewer@user:user-8456 + resource:someresource#viewer@user:user-8457 + resource:someresource#viewer@user:user-8458 + resource:someresource#viewer@user:user-8459 + resource:someresource#viewer@user:user-8460 + resource:someresource#viewer@user:user-8461 + resource:someresource#viewer@user:user-8462 + resource:someresource#viewer@user:user-8463 + resource:someresource#viewer@user:user-8464 + resource:someresource#viewer@user:user-8465 + resource:someresource#viewer@user:user-8466 + resource:someresource#viewer@user:user-8467 + resource:someresource#viewer@user:user-8468 + resource:someresource#viewer@user:user-8469 + resource:someresource#viewer@user:user-8470 + resource:someresource#viewer@user:user-8471 + resource:someresource#viewer@user:user-8472 + resource:someresource#viewer@user:user-8473 + resource:someresource#viewer@user:user-8474 + resource:someresource#viewer@user:user-8475 + resource:someresource#viewer@user:user-8476 + resource:someresource#viewer@user:user-8477 + resource:someresource#viewer@user:user-8478 + resource:someresource#viewer@user:user-8479 + resource:someresource#viewer@user:user-8480 + resource:someresource#viewer@user:user-8481 + resource:someresource#viewer@user:user-8482 + resource:someresource#viewer@user:user-8483 + resource:someresource#viewer@user:user-8484 + resource:someresource#viewer@user:user-8485 + resource:someresource#viewer@user:user-8486 + resource:someresource#viewer@user:user-8487 + resource:someresource#viewer@user:user-8488 + resource:someresource#viewer@user:user-8489 + resource:someresource#viewer@user:user-8490 + resource:someresource#viewer@user:user-8491 + resource:someresource#viewer@user:user-8492 + resource:someresource#viewer@user:user-8493 + resource:someresource#viewer@user:user-8494 + resource:someresource#viewer@user:user-8495 + resource:someresource#viewer@user:user-8496 + resource:someresource#viewer@user:user-8497 + resource:someresource#viewer@user:user-8498 + resource:someresource#viewer@user:user-8499 + resource:someresource#viewer@user:user-8500 + resource:someresource#viewer@user:user-8501 + resource:someresource#viewer@user:user-8502 + resource:someresource#viewer@user:user-8503 + resource:someresource#viewer@user:user-8504 + resource:someresource#viewer@user:user-8505 + resource:someresource#viewer@user:user-8506 + resource:someresource#viewer@user:user-8507 + resource:someresource#viewer@user:user-8508 + resource:someresource#viewer@user:user-8509 + resource:someresource#viewer@user:user-8510 + resource:someresource#viewer@user:user-8511 + resource:someresource#viewer@user:user-8512 + resource:someresource#viewer@user:user-8513 + resource:someresource#viewer@user:user-8514 + resource:someresource#viewer@user:user-8515 + resource:someresource#viewer@user:user-8516 + resource:someresource#viewer@user:user-8517 + resource:someresource#viewer@user:user-8518 + resource:someresource#viewer@user:user-8519 + resource:someresource#viewer@user:user-8520 + resource:someresource#viewer@user:user-8521 + resource:someresource#viewer@user:user-8522 + resource:someresource#viewer@user:user-8523 + resource:someresource#viewer@user:user-8524 + resource:someresource#viewer@user:user-8525 + resource:someresource#viewer@user:user-8526 + resource:someresource#viewer@user:user-8527 + resource:someresource#viewer@user:user-8528 + resource:someresource#viewer@user:user-8529 + resource:someresource#viewer@user:user-8530 + resource:someresource#viewer@user:user-8531 + resource:someresource#viewer@user:user-8532 + resource:someresource#viewer@user:user-8533 + resource:someresource#viewer@user:user-8534 + resource:someresource#viewer@user:user-8535 + resource:someresource#viewer@user:user-8536 + resource:someresource#viewer@user:user-8537 + resource:someresource#viewer@user:user-8538 + resource:someresource#viewer@user:user-8539 + resource:someresource#viewer@user:user-8540 + resource:someresource#viewer@user:user-8541 + resource:someresource#viewer@user:user-8542 + resource:someresource#viewer@user:user-8543 + resource:someresource#viewer@user:user-8544 + resource:someresource#viewer@user:user-8545 + resource:someresource#viewer@user:user-8546 + resource:someresource#viewer@user:user-8547 + resource:someresource#viewer@user:user-8548 + resource:someresource#viewer@user:user-8549 + resource:someresource#viewer@user:user-8550 + resource:someresource#viewer@user:user-8551 + resource:someresource#viewer@user:user-8552 + resource:someresource#viewer@user:user-8553 + resource:someresource#viewer@user:user-8554 + resource:someresource#viewer@user:user-8555 + resource:someresource#viewer@user:user-8556 + resource:someresource#viewer@user:user-8557 + resource:someresource#viewer@user:user-8558 + resource:someresource#viewer@user:user-8559 + resource:someresource#viewer@user:user-8560 + resource:someresource#viewer@user:user-8561 + resource:someresource#viewer@user:user-8562 + resource:someresource#viewer@user:user-8563 + resource:someresource#viewer@user:user-8564 + resource:someresource#viewer@user:user-8565 + resource:someresource#viewer@user:user-8566 + resource:someresource#viewer@user:user-8567 + resource:someresource#viewer@user:user-8568 + resource:someresource#viewer@user:user-8569 + resource:someresource#viewer@user:user-8570 + resource:someresource#viewer@user:user-8571 + resource:someresource#viewer@user:user-8572 + resource:someresource#viewer@user:user-8573 + resource:someresource#viewer@user:user-8574 + resource:someresource#viewer@user:user-8575 + resource:someresource#viewer@user:user-8576 + resource:someresource#viewer@user:user-8577 + resource:someresource#viewer@user:user-8578 + resource:someresource#viewer@user:user-8579 + resource:someresource#viewer@user:user-8580 + resource:someresource#viewer@user:user-8581 + resource:someresource#viewer@user:user-8582 + resource:someresource#viewer@user:user-8583 + resource:someresource#viewer@user:user-8584 + resource:someresource#viewer@user:user-8585 + resource:someresource#viewer@user:user-8586 + resource:someresource#viewer@user:user-8587 + resource:someresource#viewer@user:user-8588 + resource:someresource#viewer@user:user-8589 + resource:someresource#viewer@user:user-8590 + resource:someresource#viewer@user:user-8591 + resource:someresource#viewer@user:user-8592 + resource:someresource#viewer@user:user-8593 + resource:someresource#viewer@user:user-8594 + resource:someresource#viewer@user:user-8595 + resource:someresource#viewer@user:user-8596 + resource:someresource#viewer@user:user-8597 + resource:someresource#viewer@user:user-8598 + resource:someresource#viewer@user:user-8599 + resource:someresource#viewer@user:user-8600 + resource:someresource#viewer@user:user-8601 + resource:someresource#viewer@user:user-8602 + resource:someresource#viewer@user:user-8603 + resource:someresource#viewer@user:user-8604 + resource:someresource#viewer@user:user-8605 + resource:someresource#viewer@user:user-8606 + resource:someresource#viewer@user:user-8607 + resource:someresource#viewer@user:user-8608 + resource:someresource#viewer@user:user-8609 + resource:someresource#viewer@user:user-8610 + resource:someresource#viewer@user:user-8611 + resource:someresource#viewer@user:user-8612 + resource:someresource#viewer@user:user-8613 + resource:someresource#viewer@user:user-8614 + resource:someresource#viewer@user:user-8615 + resource:someresource#viewer@user:user-8616 + resource:someresource#viewer@user:user-8617 + resource:someresource#viewer@user:user-8618 + resource:someresource#viewer@user:user-8619 + resource:someresource#viewer@user:user-8620 + resource:someresource#viewer@user:user-8621 + resource:someresource#viewer@user:user-8622 + resource:someresource#viewer@user:user-8623 + resource:someresource#viewer@user:user-8624 + resource:someresource#viewer@user:user-8625 + resource:someresource#viewer@user:user-8626 + resource:someresource#viewer@user:user-8627 + resource:someresource#viewer@user:user-8628 + resource:someresource#viewer@user:user-8629 + resource:someresource#viewer@user:user-8630 + resource:someresource#viewer@user:user-8631 + resource:someresource#viewer@user:user-8632 + resource:someresource#viewer@user:user-8633 + resource:someresource#viewer@user:user-8634 + resource:someresource#viewer@user:user-8635 + resource:someresource#viewer@user:user-8636 + resource:someresource#viewer@user:user-8637 + resource:someresource#viewer@user:user-8638 + resource:someresource#viewer@user:user-8639 + resource:someresource#viewer@user:user-8640 + resource:someresource#viewer@user:user-8641 + resource:someresource#viewer@user:user-8642 + resource:someresource#viewer@user:user-8643 + resource:someresource#viewer@user:user-8644 + resource:someresource#viewer@user:user-8645 + resource:someresource#viewer@user:user-8646 + resource:someresource#viewer@user:user-8647 + resource:someresource#viewer@user:user-8648 + resource:someresource#viewer@user:user-8649 + resource:someresource#viewer@user:user-8650 + resource:someresource#viewer@user:user-8651 + resource:someresource#viewer@user:user-8652 + resource:someresource#viewer@user:user-8653 + resource:someresource#viewer@user:user-8654 + resource:someresource#viewer@user:user-8655 + resource:someresource#viewer@user:user-8656 + resource:someresource#viewer@user:user-8657 + resource:someresource#viewer@user:user-8658 + resource:someresource#viewer@user:user-8659 + resource:someresource#viewer@user:user-8660 + resource:someresource#viewer@user:user-8661 + resource:someresource#viewer@user:user-8662 + resource:someresource#viewer@user:user-8663 + resource:someresource#viewer@user:user-8664 + resource:someresource#viewer@user:user-8665 + resource:someresource#viewer@user:user-8666 + resource:someresource#viewer@user:user-8667 + resource:someresource#viewer@user:user-8668 + resource:someresource#viewer@user:user-8669 + resource:someresource#viewer@user:user-8670 + resource:someresource#viewer@user:user-8671 + resource:someresource#viewer@user:user-8672 + resource:someresource#viewer@user:user-8673 + resource:someresource#viewer@user:user-8674 + resource:someresource#viewer@user:user-8675 + resource:someresource#viewer@user:user-8676 + resource:someresource#viewer@user:user-8677 + resource:someresource#viewer@user:user-8678 + resource:someresource#viewer@user:user-8679 + resource:someresource#viewer@user:user-8680 + resource:someresource#viewer@user:user-8681 + resource:someresource#viewer@user:user-8682 + resource:someresource#viewer@user:user-8683 + resource:someresource#viewer@user:user-8684 + resource:someresource#viewer@user:user-8685 + resource:someresource#viewer@user:user-8686 + resource:someresource#viewer@user:user-8687 + resource:someresource#viewer@user:user-8688 + resource:someresource#viewer@user:user-8689 + resource:someresource#viewer@user:user-8690 + resource:someresource#viewer@user:user-8691 + resource:someresource#viewer@user:user-8692 + resource:someresource#viewer@user:user-8693 + resource:someresource#viewer@user:user-8694 + resource:someresource#viewer@user:user-8695 + resource:someresource#viewer@user:user-8696 + resource:someresource#viewer@user:user-8697 + resource:someresource#viewer@user:user-8698 + resource:someresource#viewer@user:user-8699 + resource:someresource#viewer@user:user-8700 + resource:someresource#viewer@user:user-8701 + resource:someresource#viewer@user:user-8702 + resource:someresource#viewer@user:user-8703 + resource:someresource#viewer@user:user-8704 + resource:someresource#viewer@user:user-8705 + resource:someresource#viewer@user:user-8706 + resource:someresource#viewer@user:user-8707 + resource:someresource#viewer@user:user-8708 + resource:someresource#viewer@user:user-8709 + resource:someresource#viewer@user:user-8710 + resource:someresource#viewer@user:user-8711 + resource:someresource#viewer@user:user-8712 + resource:someresource#viewer@user:user-8713 + resource:someresource#viewer@user:user-8714 + resource:someresource#viewer@user:user-8715 + resource:someresource#viewer@user:user-8716 + resource:someresource#viewer@user:user-8717 + resource:someresource#viewer@user:user-8718 + resource:someresource#viewer@user:user-8719 + resource:someresource#viewer@user:user-8720 + resource:someresource#viewer@user:user-8721 + resource:someresource#viewer@user:user-8722 + resource:someresource#viewer@user:user-8723 + resource:someresource#viewer@user:user-8724 + resource:someresource#viewer@user:user-8725 + resource:someresource#viewer@user:user-8726 + resource:someresource#viewer@user:user-8727 + resource:someresource#viewer@user:user-8728 + resource:someresource#viewer@user:user-8729 + resource:someresource#viewer@user:user-8730 + resource:someresource#viewer@user:user-8731 + resource:someresource#viewer@user:user-8732 + resource:someresource#viewer@user:user-8733 + resource:someresource#viewer@user:user-8734 + resource:someresource#viewer@user:user-8735 + resource:someresource#viewer@user:user-8736 + resource:someresource#viewer@user:user-8737 + resource:someresource#viewer@user:user-8738 + resource:someresource#viewer@user:user-8739 + resource:someresource#viewer@user:user-8740 + resource:someresource#viewer@user:user-8741 + resource:someresource#viewer@user:user-8742 + resource:someresource#viewer@user:user-8743 + resource:someresource#viewer@user:user-8744 + resource:someresource#viewer@user:user-8745 + resource:someresource#viewer@user:user-8746 + resource:someresource#viewer@user:user-8747 + resource:someresource#viewer@user:user-8748 + resource:someresource#viewer@user:user-8749 + resource:someresource#viewer@user:user-8750 + resource:someresource#viewer@user:user-8751 + resource:someresource#viewer@user:user-8752 + resource:someresource#viewer@user:user-8753 + resource:someresource#viewer@user:user-8754 + resource:someresource#viewer@user:user-8755 + resource:someresource#viewer@user:user-8756 + resource:someresource#viewer@user:user-8757 + resource:someresource#viewer@user:user-8758 + resource:someresource#viewer@user:user-8759 + resource:someresource#viewer@user:user-8760 + resource:someresource#viewer@user:user-8761 + resource:someresource#viewer@user:user-8762 + resource:someresource#viewer@user:user-8763 + resource:someresource#viewer@user:user-8764 + resource:someresource#viewer@user:user-8765 + resource:someresource#viewer@user:user-8766 + resource:someresource#viewer@user:user-8767 + resource:someresource#viewer@user:user-8768 + resource:someresource#viewer@user:user-8769 + resource:someresource#viewer@user:user-8770 + resource:someresource#viewer@user:user-8771 + resource:someresource#viewer@user:user-8772 + resource:someresource#viewer@user:user-8773 + resource:someresource#viewer@user:user-8774 + resource:someresource#viewer@user:user-8775 + resource:someresource#viewer@user:user-8776 + resource:someresource#viewer@user:user-8777 + resource:someresource#viewer@user:user-8778 + resource:someresource#viewer@user:user-8779 + resource:someresource#viewer@user:user-8780 + resource:someresource#viewer@user:user-8781 + resource:someresource#viewer@user:user-8782 + resource:someresource#viewer@user:user-8783 + resource:someresource#viewer@user:user-8784 + resource:someresource#viewer@user:user-8785 + resource:someresource#viewer@user:user-8786 + resource:someresource#viewer@user:user-8787 + resource:someresource#viewer@user:user-8788 + resource:someresource#viewer@user:user-8789 + resource:someresource#viewer@user:user-8790 + resource:someresource#viewer@user:user-8791 + resource:someresource#viewer@user:user-8792 + resource:someresource#viewer@user:user-8793 + resource:someresource#viewer@user:user-8794 + resource:someresource#viewer@user:user-8795 + resource:someresource#viewer@user:user-8796 + resource:someresource#viewer@user:user-8797 + resource:someresource#viewer@user:user-8798 + resource:someresource#viewer@user:user-8799 + resource:someresource#viewer@user:user-8800 + resource:someresource#viewer@user:user-8801 + resource:someresource#viewer@user:user-8802 + resource:someresource#viewer@user:user-8803 + resource:someresource#viewer@user:user-8804 + resource:someresource#viewer@user:user-8805 + resource:someresource#viewer@user:user-8806 + resource:someresource#viewer@user:user-8807 + resource:someresource#viewer@user:user-8808 + resource:someresource#viewer@user:user-8809 + resource:someresource#viewer@user:user-8810 + resource:someresource#viewer@user:user-8811 + resource:someresource#viewer@user:user-8812 + resource:someresource#viewer@user:user-8813 + resource:someresource#viewer@user:user-8814 + resource:someresource#viewer@user:user-8815 + resource:someresource#viewer@user:user-8816 + resource:someresource#viewer@user:user-8817 + resource:someresource#viewer@user:user-8818 + resource:someresource#viewer@user:user-8819 + resource:someresource#viewer@user:user-8820 + resource:someresource#viewer@user:user-8821 + resource:someresource#viewer@user:user-8822 + resource:someresource#viewer@user:user-8823 + resource:someresource#viewer@user:user-8824 + resource:someresource#viewer@user:user-8825 + resource:someresource#viewer@user:user-8826 + resource:someresource#viewer@user:user-8827 + resource:someresource#viewer@user:user-8828 + resource:someresource#viewer@user:user-8829 + resource:someresource#viewer@user:user-8830 + resource:someresource#viewer@user:user-8831 + resource:someresource#viewer@user:user-8832 + resource:someresource#viewer@user:user-8833 + resource:someresource#viewer@user:user-8834 + resource:someresource#viewer@user:user-8835 + resource:someresource#viewer@user:user-8836 + resource:someresource#viewer@user:user-8837 + resource:someresource#viewer@user:user-8838 + resource:someresource#viewer@user:user-8839 + resource:someresource#viewer@user:user-8840 + resource:someresource#viewer@user:user-8841 + resource:someresource#viewer@user:user-8842 + resource:someresource#viewer@user:user-8843 + resource:someresource#viewer@user:user-8844 + resource:someresource#viewer@user:user-8845 + resource:someresource#viewer@user:user-8846 + resource:someresource#viewer@user:user-8847 + resource:someresource#viewer@user:user-8848 + resource:someresource#viewer@user:user-8849 + resource:someresource#viewer@user:user-8850 + resource:someresource#viewer@user:user-8851 + resource:someresource#viewer@user:user-8852 + resource:someresource#viewer@user:user-8853 + resource:someresource#viewer@user:user-8854 + resource:someresource#viewer@user:user-8855 + resource:someresource#viewer@user:user-8856 + resource:someresource#viewer@user:user-8857 + resource:someresource#viewer@user:user-8858 + resource:someresource#viewer@user:user-8859 + resource:someresource#viewer@user:user-8860 + resource:someresource#viewer@user:user-8861 + resource:someresource#viewer@user:user-8862 + resource:someresource#viewer@user:user-8863 + resource:someresource#viewer@user:user-8864 + resource:someresource#viewer@user:user-8865 + resource:someresource#viewer@user:user-8866 + resource:someresource#viewer@user:user-8867 + resource:someresource#viewer@user:user-8868 + resource:someresource#viewer@user:user-8869 + resource:someresource#viewer@user:user-8870 + resource:someresource#viewer@user:user-8871 + resource:someresource#viewer@user:user-8872 + resource:someresource#viewer@user:user-8873 + resource:someresource#viewer@user:user-8874 + resource:someresource#viewer@user:user-8875 + resource:someresource#viewer@user:user-8876 + resource:someresource#viewer@user:user-8877 + resource:someresource#viewer@user:user-8878 + resource:someresource#viewer@user:user-8879 + resource:someresource#viewer@user:user-8880 + resource:someresource#viewer@user:user-8881 + resource:someresource#viewer@user:user-8882 + resource:someresource#viewer@user:user-8883 + resource:someresource#viewer@user:user-8884 + resource:someresource#viewer@user:user-8885 + resource:someresource#viewer@user:user-8886 + resource:someresource#viewer@user:user-8887 + resource:someresource#viewer@user:user-8888 + resource:someresource#viewer@user:user-8889 + resource:someresource#viewer@user:user-8890 + resource:someresource#viewer@user:user-8891 + resource:someresource#viewer@user:user-8892 + resource:someresource#viewer@user:user-8893 + resource:someresource#viewer@user:user-8894 + resource:someresource#viewer@user:user-8895 + resource:someresource#viewer@user:user-8896 + resource:someresource#viewer@user:user-8897 + resource:someresource#viewer@user:user-8898 + resource:someresource#viewer@user:user-8899 + resource:someresource#viewer@user:user-8900 + resource:someresource#viewer@user:user-8901 + resource:someresource#viewer@user:user-8902 + resource:someresource#viewer@user:user-8903 + resource:someresource#viewer@user:user-8904 + resource:someresource#viewer@user:user-8905 + resource:someresource#viewer@user:user-8906 + resource:someresource#viewer@user:user-8907 + resource:someresource#viewer@user:user-8908 + resource:someresource#viewer@user:user-8909 + resource:someresource#viewer@user:user-8910 + resource:someresource#viewer@user:user-8911 + resource:someresource#viewer@user:user-8912 + resource:someresource#viewer@user:user-8913 + resource:someresource#viewer@user:user-8914 + resource:someresource#viewer@user:user-8915 + resource:someresource#viewer@user:user-8916 + resource:someresource#viewer@user:user-8917 + resource:someresource#viewer@user:user-8918 + resource:someresource#viewer@user:user-8919 + resource:someresource#viewer@user:user-8920 + resource:someresource#viewer@user:user-8921 + resource:someresource#viewer@user:user-8922 + resource:someresource#viewer@user:user-8923 + resource:someresource#viewer@user:user-8924 + resource:someresource#viewer@user:user-8925 + resource:someresource#viewer@user:user-8926 + resource:someresource#viewer@user:user-8927 + resource:someresource#viewer@user:user-8928 + resource:someresource#viewer@user:user-8929 + resource:someresource#viewer@user:user-8930 + resource:someresource#viewer@user:user-8931 + resource:someresource#viewer@user:user-8932 + resource:someresource#viewer@user:user-8933 + resource:someresource#viewer@user:user-8934 + resource:someresource#viewer@user:user-8935 + resource:someresource#viewer@user:user-8936 + resource:someresource#viewer@user:user-8937 + resource:someresource#viewer@user:user-8938 + resource:someresource#viewer@user:user-8939 + resource:someresource#viewer@user:user-8940 + resource:someresource#viewer@user:user-8941 + resource:someresource#viewer@user:user-8942 + resource:someresource#viewer@user:user-8943 + resource:someresource#viewer@user:user-8944 + resource:someresource#viewer@user:user-8945 + resource:someresource#viewer@user:user-8946 + resource:someresource#viewer@user:user-8947 + resource:someresource#viewer@user:user-8948 + resource:someresource#viewer@user:user-8949 + resource:someresource#viewer@user:user-8950 + resource:someresource#viewer@user:user-8951 + resource:someresource#viewer@user:user-8952 + resource:someresource#viewer@user:user-8953 + resource:someresource#viewer@user:user-8954 + resource:someresource#viewer@user:user-8955 + resource:someresource#viewer@user:user-8956 + resource:someresource#viewer@user:user-8957 + resource:someresource#viewer@user:user-8958 + resource:someresource#viewer@user:user-8959 + resource:someresource#viewer@user:user-8960 + resource:someresource#viewer@user:user-8961 + resource:someresource#viewer@user:user-8962 + resource:someresource#viewer@user:user-8963 + resource:someresource#viewer@user:user-8964 + resource:someresource#viewer@user:user-8965 + resource:someresource#viewer@user:user-8966 + resource:someresource#viewer@user:user-8967 + resource:someresource#viewer@user:user-8968 + resource:someresource#viewer@user:user-8969 + resource:someresource#viewer@user:user-8970 + resource:someresource#viewer@user:user-8971 + resource:someresource#viewer@user:user-8972 + resource:someresource#viewer@user:user-8973 + resource:someresource#viewer@user:user-8974 + resource:someresource#viewer@user:user-8975 + resource:someresource#viewer@user:user-8976 + resource:someresource#viewer@user:user-8977 + resource:someresource#viewer@user:user-8978 + resource:someresource#viewer@user:user-8979 + resource:someresource#viewer@user:user-8980 + resource:someresource#viewer@user:user-8981 + resource:someresource#viewer@user:user-8982 + resource:someresource#viewer@user:user-8983 + resource:someresource#viewer@user:user-8984 + resource:someresource#viewer@user:user-8985 + resource:someresource#viewer@user:user-8986 + resource:someresource#viewer@user:user-8987 + resource:someresource#viewer@user:user-8988 + resource:someresource#viewer@user:user-8989 + resource:someresource#viewer@user:user-8990 + resource:someresource#viewer@user:user-8991 + resource:someresource#viewer@user:user-8992 + resource:someresource#viewer@user:user-8993 + resource:someresource#viewer@user:user-8994 + resource:someresource#viewer@user:user-8995 + resource:someresource#viewer@user:user-8996 + resource:someresource#viewer@user:user-8997 + resource:someresource#viewer@user:user-8998 + resource:someresource#viewer@user:user-8999 + resource:someresource#viewer@user:tom +assertions: + assertTrue: + - "resource:someresource#view@user:tom" + assertFalse: [] diff --git a/internal/services/integrationtesting/benchmark_test.go b/internal/services/integrationtesting/benchmark_test.go index 41a674f78c..094d4a4983 100644 --- a/internal/services/integrationtesting/benchmark_test.go +++ b/internal/services/integrationtesting/benchmark_test.go @@ -147,6 +147,23 @@ func BenchmarkServices(b *testing.B) { return err }, }, + { + "wide direct relation check", + "benchconfigs/checkwidedirect.yaml", + func(ctx context.Context, b *testing.B, tester serviceTester, revision datastore.Revision) error { + result, err := tester.Check(ctx, &core.ObjectAndRelation{ + Namespace: "resource", + ObjectId: "someresource", + Relation: "view", + }, &core.ObjectAndRelation{ + Namespace: "user", + ObjectId: "tom", + Relation: tuple.Ellipsis, + }, revision) + require.True(b, result) + return err + }, + }, } for _, bt := range bts { diff --git a/internal/services/integrationtesting/consistency_datastore_test.go b/internal/services/integrationtesting/consistency_datastore_test.go new file mode 100644 index 0000000000..5d2a045e82 --- /dev/null +++ b/internal/services/integrationtesting/consistency_datastore_test.go @@ -0,0 +1,79 @@ +//go:build ci && docker && datastoreconsistency +// +build ci,docker,datastoreconsistency + +package integrationtesting_test + +import ( + "context" + "path" + "runtime" + "testing" + "time" + + "github.com/stretchr/testify/require" + + v1 "github.com/authzed/authzed-go/proto/authzed/api/v1" + "github.com/authzed/spicedb/internal/dispatch/graph" + datastoremw "github.com/authzed/spicedb/internal/middleware/datastore" + "github.com/authzed/spicedb/internal/testserver" + testdatastore "github.com/authzed/spicedb/internal/testserver/datastore" + "github.com/authzed/spicedb/internal/testserver/datastore/config" + dsconfig "github.com/authzed/spicedb/pkg/cmd/datastore" + "github.com/authzed/spicedb/pkg/datastore" + "github.com/authzed/spicedb/pkg/validationfile" +) + +func TestConsistencyPerDatastore(t *testing.T) { + // TODO(jschorr): Re-enable for *all* files once we make this faster. + _, filename, _, _ := runtime.Caller(0) + consistencyTestFiles := []string{ + path.Join(path.Join(path.Dir(filename), "testconfigs"), "document.yaml"), + path.Join(path.Join(path.Dir(filename), "testconfigs"), "basicrbac.yaml"), + path.Join(path.Join(path.Dir(filename), "testconfigs"), "public.yaml"), + path.Join(path.Join(path.Dir(filename), "testconfigs"), "nil.yaml"), + } + + for _, engineID := range datastore.Engines { + engineID := engineID + + t.Run(engineID, func(t *testing.T) { + for _, filePath := range consistencyTestFiles { + filePath := filePath + + t.Run(path.Base(filePath), func(t *testing.T) { + lrequire := require.New(t) + + rde := testdatastore.RunDatastoreEngine(t, engineID) + ds := rde.NewDatastore(t, config.DatastoreConfigInitFunc(t, + dsconfig.WithWatchBufferLength(0), + dsconfig.WithGCWindow(time.Duration(90_000_000_000_000)), + dsconfig.WithRevisionQuantization(10))) + + fullyResolved, revision, err := validationfile.PopulateFromFiles(context.Background(), ds, []string{filePath}) + require.NoError(t, err) + + conn, cleanup := testserver.TestClusterWithDispatch(t, 1, ds) + t.Cleanup(cleanup) + + dsCtx := datastoremw.ContextWithHandle(context.Background()) + lrequire.NoError(datastoremw.SetInContext(dsCtx, ds)) + + dispatcher := graph.NewLocalOnlyDispatcher(10) + + testers := []serviceTester{ + v1ServiceTester{v1.NewPermissionsServiceClient(conn[0])}, + } + + // Run the assertions within each file. + for _, tester := range testers { + tester := tester + + t.Run(tester.Name(), func(t *testing.T) { + runAssertions(t, tester, dispatcher, fullyResolved, revision) + }) + } + }) + } + }) + } +} diff --git a/internal/services/shared/schema.go b/internal/services/shared/schema.go index 7c17b064d7..18acc8a467 100644 --- a/internal/services/shared/schema.go +++ b/internal/services/shared/schema.go @@ -348,10 +348,12 @@ func sanityCheckNamespaceChanges( datastore.RelationshipsFilter{ ResourceType: nsdef.Name, OptionalResourceRelation: delta.RelationName, - OptionalSubjectsFilter: &datastore.SubjectsFilter{ - SubjectType: delta.AllowedType.Namespace, - OptionalSubjectIds: optionalSubjectIds, - RelationFilter: relationFilter, + OptionalSubjectsSelectors: []datastore.SubjectsSelector{ + { + OptionalSubjectType: delta.AllowedType.Namespace, + OptionalSubjectIds: optionalSubjectIds, + RelationFilter: relationFilter, + }, }, OptionalCaveatName: optionalCaveatName, }, diff --git a/internal/testfixtures/validating.go b/internal/testfixtures/validating.go index a659389b4d..db4b1e6e2f 100644 --- a/internal/testfixtures/validating.go +++ b/internal/testfixtures/validating.go @@ -80,7 +80,7 @@ func (vsr validatingSnapshotReader) LookupNamespaces( } } - return read, err + return read, nil } func (vsr validatingSnapshotReader) QueryRelationships(ctx context.Context, diff --git a/pkg/datastore/datastore.go b/pkg/datastore/datastore.go index b811809002..f6ab13ffbb 100644 --- a/pkg/datastore/datastore.go +++ b/pkg/datastore/datastore.go @@ -7,6 +7,8 @@ import ( "sort" "strings" + "github.com/authzed/spicedb/pkg/tuple" + v1 "github.com/authzed/authzed-go/proto/authzed/api/v1" "github.com/authzed/spicedb/internal/datastore/options" @@ -58,8 +60,9 @@ type RelationshipsFilter struct { // OptionalResourceRelation is the relation of the resource to find. If empty, any relation is allowed. OptionalResourceRelation string - // OptionalSubjectsFilter is the filter to use for subjects of the relationship. If nil, all subjects are allowed. - OptionalSubjectsFilter *SubjectsFilter + // OptionalSubjectsSelectors is the selectors to use for subjects of the relationship. If nil, all subjects are allowed. + // If specified, relationships matching *any* selector will be returned. + OptionalSubjectsSelectors []SubjectsSelector // OptionalCaveatName is the filter to use for caveated relationships, filtering by a specific caveat name. // If nil, all caveated and non-caveated relationships are allowed @@ -73,7 +76,7 @@ func RelationshipsFilterFromPublicFilter(filter *v1.RelationshipFilter) Relation resourceIds = []string{filter.OptionalResourceId} } - var subjectsFilter *SubjectsFilter + var subjectsSelectors []SubjectsSelector if filter.OptionalSubjectFilter != nil { var subjectIds []string if filter.OptionalSubjectFilter.OptionalSubjectId != "" { @@ -91,25 +94,25 @@ func RelationshipsFilterFromPublicFilter(filter *v1.RelationshipFilter) Relation } } - subjectsFilter = &SubjectsFilter{ - SubjectType: filter.OptionalSubjectFilter.SubjectType, - OptionalSubjectIds: subjectIds, - RelationFilter: relationFilter, - } + subjectsSelectors = append(subjectsSelectors, SubjectsSelector{ + OptionalSubjectType: filter.OptionalSubjectFilter.SubjectType, + OptionalSubjectIds: subjectIds, + RelationFilter: relationFilter, + }) } return RelationshipsFilter{ - ResourceType: filter.ResourceType, - OptionalResourceIds: resourceIds, - OptionalResourceRelation: filter.OptionalRelation, - OptionalSubjectsFilter: subjectsFilter, + ResourceType: filter.ResourceType, + OptionalResourceIds: resourceIds, + OptionalResourceRelation: filter.OptionalRelation, + OptionalSubjectsSelectors: subjectsSelectors, } } -// SubjectsFilter is a filter for subjects. -type SubjectsFilter struct { - // SubjectType is the namespace/type for the subjects to be found. - SubjectType string +// SubjectsSelector is a selector for subjects. +type SubjectsSelector struct { + // OptionalSubjectType is the namespace/type for the subjects to be found, if any. + OptionalSubjectType string // OptionalSubjectIds are the IDs of the subjects to find. If nil or empty, any subject ID will be allowed. OptionalSubjectIds []string @@ -128,12 +131,25 @@ type SubjectRelationFilter struct { // IncludeEllipsisRelation, if true, indicates that the ellipsis relation // should be included as an option. IncludeEllipsisRelation bool + + // OnlyNonEllipsisRelations, if true, indicates that only non-ellipsis relations + // should be included. + OnlyNonEllipsisRelations bool +} + +// WithOnlyNonEllipsisRelations indicates that only non-ellipsis relations should be included. +func (sf SubjectRelationFilter) WithOnlyNonEllipsisRelations() SubjectRelationFilter { + sf.OnlyNonEllipsisRelations = true + sf.NonEllipsisRelation = "" + sf.IncludeEllipsisRelation = false + return sf } // WithEllipsisRelation indicates that the subject filter should include the ellipsis relation // as an option for the subjects' relation. func (sf SubjectRelationFilter) WithEllipsisRelation() SubjectRelationFilter { sf.IncludeEllipsisRelation = true + sf.OnlyNonEllipsisRelations = false return sf } @@ -141,16 +157,49 @@ func (sf SubjectRelationFilter) WithEllipsisRelation() SubjectRelationFilter { // option for the subjects' relation. func (sf SubjectRelationFilter) WithNonEllipsisRelation(relation string) SubjectRelationFilter { sf.NonEllipsisRelation = relation + sf.OnlyNonEllipsisRelations = false return sf } +// WithRelation indicates that the specified relation should be included as an +// option for the subjects' relation. +func (sf SubjectRelationFilter) WithRelation(relation string) SubjectRelationFilter { + if relation == tuple.Ellipsis { + return sf.WithEllipsisRelation() + } + return sf.WithNonEllipsisRelation(relation) +} + // IsEmpty returns true if the subject relation filter is empty. func (sf SubjectRelationFilter) IsEmpty() bool { - return !sf.IncludeEllipsisRelation && sf.NonEllipsisRelation == "" + return !sf.IncludeEllipsisRelation && sf.NonEllipsisRelation == "" && !sf.OnlyNonEllipsisRelations } +// SubjectsFilter is a filter for subjects. +type SubjectsFilter struct { + // SubjectType is the namespace/type for the subjects to be found. + SubjectType string + + // OptionalSubjectIds are the IDs of the subjects to find. If nil or empty, any subject ID will be allowed. + OptionalSubjectIds []string + + // RelationFilter is the filter to use for the relation(s) of the subjects. If neither field + // is set, any relation is allowed. + RelationFilter SubjectRelationFilter +} + +func (sf SubjectsFilter) AsSelector() SubjectsSelector { + return SubjectsSelector{ + OptionalSubjectType: sf.SubjectType, + OptionalSubjectIds: sf.OptionalSubjectIds, + RelationFilter: sf.RelationFilter, + } +} + +// Reader is an interface for reading relationships from the datastore. type Reader interface { CaveatReader + // QueryRelationships reads relationships, starting from the resource side. QueryRelationships( ctx context.Context, @@ -161,7 +210,7 @@ type Reader interface { // ReverseQueryRelationships reads relationships, starting from the subject. ReverseQueryRelationships( ctx context.Context, - subjectFilter SubjectsFilter, + subjectsFilter SubjectsFilter, options ...options.ReverseQueryOptionsOption, ) (RelationshipIterator, error) diff --git a/pkg/datastore/datastore_test.go b/pkg/datastore/datastore_test.go index a8a163c98b..04a02496f7 100644 --- a/pkg/datastore/datastore_test.go +++ b/pkg/datastore/datastore_test.go @@ -31,8 +31,10 @@ func TestRelationshipsFilterFromPublicFilter(t *testing.T) { { "resource and subject", &v1.RelationshipFilter{ResourceType: "sometype", OptionalSubjectFilter: &v1.SubjectFilter{SubjectType: "someothertype"}}, - RelationshipsFilter{ResourceType: "sometype", OptionalSubjectsFilter: &SubjectsFilter{ - SubjectType: "someothertype", + RelationshipsFilter{ResourceType: "sometype", OptionalSubjectsSelectors: []SubjectsSelector{ + { + OptionalSubjectType: "someothertype", + }, }}, }, { @@ -44,9 +46,11 @@ func TestRelationshipsFilterFromPublicFilter(t *testing.T) { OptionalRelation: &v1.SubjectFilter_RelationFilter{Relation: "somerel"}, }, }, - RelationshipsFilter{ResourceType: "sometype", OptionalSubjectsFilter: &SubjectsFilter{ - SubjectType: "someothertype", - RelationFilter: SubjectRelationFilter{}.WithNonEllipsisRelation("somerel"), + RelationshipsFilter{ResourceType: "sometype", OptionalSubjectsSelectors: []SubjectsSelector{ + { + OptionalSubjectType: "someothertype", + RelationFilter: SubjectRelationFilter{}.WithNonEllipsisRelation("somerel"), + }, }}, }, { @@ -58,9 +62,11 @@ func TestRelationshipsFilterFromPublicFilter(t *testing.T) { OptionalRelation: &v1.SubjectFilter_RelationFilter{Relation: ""}, }, }, - RelationshipsFilter{ResourceType: "sometype", OptionalSubjectsFilter: &SubjectsFilter{ - SubjectType: "someothertype", - RelationFilter: SubjectRelationFilter{}.WithEllipsisRelation(), + RelationshipsFilter{ResourceType: "sometype", OptionalSubjectsSelectors: []SubjectsSelector{ + { + OptionalSubjectType: "someothertype", + RelationFilter: SubjectRelationFilter{}.WithEllipsisRelation(), + }, }}, }, { @@ -79,10 +85,12 @@ func TestRelationshipsFilterFromPublicFilter(t *testing.T) { ResourceType: "sometype", OptionalResourceIds: []string{"someid"}, OptionalResourceRelation: "somerel", - OptionalSubjectsFilter: &SubjectsFilter{ - SubjectType: "someothertype", - OptionalSubjectIds: []string{"somesubjectid"}, - RelationFilter: SubjectRelationFilter{}.WithEllipsisRelation(), + OptionalSubjectsSelectors: []SubjectsSelector{ + { + OptionalSubjectType: "someothertype", + OptionalSubjectIds: []string{"somesubjectid"}, + RelationFilter: SubjectRelationFilter{}.WithEllipsisRelation(), + }, }, }, }, diff --git a/pkg/datastore/relationshipquerytree.go b/pkg/datastore/relationshipquerytree.go new file mode 100644 index 0000000000..2163f0733b --- /dev/null +++ b/pkg/datastore/relationshipquerytree.go @@ -0,0 +1,23 @@ +package datastore + +type RelationshipQueryOperation int + +const ( + RelationshipQueryNone RelationshipQueryOperation = 0 + RelationshipQueryOr RelationshipQueryOperation = 1 + RelationshipQueryAnd RelationshipQueryOperation = 2 +) + +type RelationshipsQueryTree struct { + op RelationshipQueryOperation + filter RelationshipsFilter + children []RelationshipsQueryTree +} + +func NewRelationshipQueryTree(filter RelationshipsFilter) RelationshipsQueryTree { + return RelationshipsQueryTree{ + op: RelationshipQueryNone, + filter: filter, + children: nil, + } +} diff --git a/pkg/datastore/test/datastore.go b/pkg/datastore/test/datastore.go index 393475d942..5d9f7e8246 100644 --- a/pkg/datastore/test/datastore.go +++ b/pkg/datastore/test/datastore.go @@ -70,6 +70,11 @@ var testResourceNS = namespace.Namespace( namespace.MustRelation(testReaderRelation, nil), ) +var testGroupNS = namespace.Namespace( + testGroupNamespace, + namespace.MustRelation(testMemberRelation, nil), +) + var testUserNS = namespace.Namespace(testUserNamespace) func makeTestTuple(resourceID, userID string) *core.RelationTuple { @@ -91,7 +96,7 @@ func setupDatastore(ds datastore.Datastore, require *require.Assertions) datasto ctx := context.Background() revision, err := ds.ReadWriteTx(ctx, func(rwt datastore.ReadWriteTransaction) error { - return rwt.WriteNamespaces(ctx, testResourceNS, testUserNS) + return rwt.WriteNamespaces(ctx, testGroupNS, testResourceNS, testUserNS) }) require.NoError(err) diff --git a/pkg/datastore/test/tuples.go b/pkg/datastore/test/tuples.go index aa0b816036..c5b7285a2b 100644 --- a/pkg/datastore/test/tuples.go +++ b/pkg/datastore/test/tuples.go @@ -24,7 +24,9 @@ import ( const ( testUserNamespace = "test/user" testResourceNamespace = "test/resource" + testGroupNamespace = "test/group" testReaderRelation = "reader" + testMemberRelation = "member" ellipsis = "..." ) @@ -215,9 +217,11 @@ func SimpleTest(t *testing.T, tester DatastoreTester) { // Filter it down to a single tuple with a userset iter, err = dsReader.QueryRelationships(ctx, datastore.RelationshipsFilter{ ResourceType: testResourceNamespace, - OptionalSubjectsFilter: &datastore.SubjectsFilter{ - SubjectType: testUserNamespace, - OptionalSubjectIds: []string{"user0"}, + OptionalSubjectsSelectors: []datastore.SubjectsSelector{ + { + OptionalSubjectType: testUserNamespace, + OptionalSubjectIds: []string{"user0"}, + }, }, }) require.NoError(err) diff --git a/pkg/validationfile/loader.go b/pkg/validationfile/loader.go index 328738628b..96500e30be 100644 --- a/pkg/validationfile/loader.go +++ b/pkg/validationfile/loader.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "github.com/authzed/spicedb/pkg/util" + log "github.com/authzed/spicedb/internal/logging" dsctx "github.com/authzed/spicedb/internal/middleware/datastore" "github.com/authzed/spicedb/internal/namespace" @@ -134,12 +136,27 @@ func PopulateFromFilesContents(ctx context.Context, ds datastore.Datastore, file } } - err = relationships.ValidateRelationshipUpdates(ctx, rwt, updates) + return err + }) + + util.ForEachChunk(updates, 500, func(updates []*core.RelationTupleUpdate) { if err != nil { - return err + return } - return rwt.WriteRelationships(ctx, updates) + revision, err = ds.ReadWriteTx(ctx, func(rwt datastore.ReadWriteTransaction) error { + err = relationships.ValidateRelationshipUpdates(ctx, rwt, updates) + if err != nil { + return err + } + + return rwt.WriteRelationships(ctx, updates) + }) }) + + if err != nil { + return nil, nil, err + } + return &PopulatedValidationFile{schema, objectDefs, tuples, files}, revision, err }