(([{ id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "Photo", path := [] }, eid := "z" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless, body := Cedar.Spec.Expr.var (Cedar.Spec.Var.action) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "Foo", path := [] }
                          { ty := { id := "Action", path := [] }, eid := "a" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny
                     [{ ty := { id := "Photo", path := [] }, eid := "p1" },
                      { ty := { id := "Action", path := [] }, eid := "ghost" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Photo", path := [] }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.binaryApp
                              (Cedar.Spec.BinaryOp.eq)
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true))
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Action", path := [] }, eid := "x" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.is { id := "Photo", path := [] }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "flag") }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "User", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "view" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Album", path := [] }),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "User", path := [] }, eid := "bob" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "edit" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.lit
                                (Cedar.Spec.Prim.entityUID { ty := { id := "Action", path := [] }, eid := "z" }))
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.eq)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.principal))
                                (Cedar.Spec.Expr.lit
                                  (Cedar.Spec.Prim.entityUID
                                    { ty := { id := "Action", path := [] }, eid := "a" }))) }] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Album", path := [] }, eid := "alice" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Action", path := [] }, eid := "alice" }),
    condition := [] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "User", path := [] }
                          { ty := { id := "Foo", path := [] }, eid := "a" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Album", path := [] }, eid := "x" }),
    condition := [] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "z" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "b" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "z" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Action", path := [] }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.eq)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.resource))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action)))
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.eq)
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 47 }))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.isMem
                       { id := "Action", path := [] }
                       { ty := { id := "Action", path := [] }, eid := "x" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "p1" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Action", path := [] }
                         { ty := { id := "Photo", path := [] }, eid := "edit" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 83 })))
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "age")) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Action", path := [] }, eid := "ghost" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "edit" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.eq)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 28 })))
                              (Cedar.Spec.Expr.var (Cedar.Spec.Var.action)) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "y" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "bob" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.lit
                                (Cedar.Spec.Prim.entityUID { ty := { id := "Foo", path := [] }, eid := "bob" }))
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "flag"))) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "Album", path := [] }
                          { ty := { id := "Photo", path := [] }, eid := "a" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.isMem
                       { id := "Album", path := [] }
                       { ty := { id := "User", path := [] }, eid := "ghost" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "owner") }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "User", path := [] }, eid := "z" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "age"))
                              (Cedar.Spec.Expr.or
                                (Cedar.Spec.Expr.lit
                                  (Cedar.Spec.Prim.entityUID { ty := { id := "Foo", path := [] }, eid := "x" }))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool false))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Foo", path := [] }, eid := "alice" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "Album", path := [] }, eid := "view" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Photo", path := [] }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true))
                              (Cedar.Spec.Expr.var (Cedar.Spec.Var.action)) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Action", path := [] }, eid := "b" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.binaryApp
                              (Cedar.Spec.BinaryOp.less)
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.less)
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool false))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action)))
                              (Cedar.Spec.Expr.or
                                (Cedar.Spec.Expr.lit
                                  (Cedar.Spec.Prim.entityUID { ty := { id := "Action", path := [] }, eid := "a" }))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 15 }))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Action", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.eq { ty := { id := "Album", path := [] }, eid := "b" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.resource)))
                              (Cedar.Spec.Expr.or
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.resource))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "p1" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.isMem
                       { id := "Album", path := [] }
                       { ty := { id := "Foo", path := [] }, eid := "alice" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "x" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "name") }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "User", path := [] }, eid := "b" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Photo", path := [] }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.mem)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context)))
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool false)) }] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "x" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.eq { ty := { id := "User", path := [] }, eid := "a" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "User", path := [] }
                         { ty := { id := "Foo", path := [] }, eid := "b" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Action", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Album", path := [] }),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "y" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "a" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "User", path := [] }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when, body := Cedar.Spec.Expr.var (Cedar.Spec.Var.context) }] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "a" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "y" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "p1" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.lit
                                (Cedar.Spec.Prim.entityUID { ty := { id := "Foo", path := [] }, eid := "y" }))
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "age"))) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "User", path := [] }, eid := "edit" }),
    condition := [] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "User", path := [] }
                          { ty := { id := "Action", path := [] }, eid := "p1" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny
                     [{ ty := { id := "Action", path := [] }, eid := "x" },
                      { ty := { id := "Foo", path := [] }, eid := "bob" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.lit
                                (Cedar.Spec.Prim.entityUID { ty := { id := "Foo", path := [] }, eid := "y" }))
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool false)) }] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "Album", path := [] }
                          { ty := { id := "Photo", path := [] }, eid := "b" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Foo", path := [] }, eid := "a" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "User", path := [] }, eid := "p1" }),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "User", path := [] }, eid := "y" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 48 }))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.principal)))
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true)) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Foo", path := [] }, eid := "y" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Foo", path := [] }
                         { ty := { id := "User", path := [] }, eid := "ghost" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.or
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 31 }))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.principal)))
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.action))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.principal))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "b" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "x" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "view" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Photo", path := [] }
                         { ty := { id := "Album", path := [] }, eid := "y" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.and
                              (Cedar.Spec.Expr.and
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context)))
                              (Cedar.Spec.Expr.var (Cedar.Spec.Var.context)) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Album", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionInAny
                     [{ ty := { id := "Foo", path := [] }, eid := "a" },
                      { ty := { id := "Photo", path := [] }, eid := "b" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "User", path := [] }, eid := "alice" }),
    condition := [] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionInAny
                     [{ ty := { id := "Album", path := [] }, eid := "p1" },
                      { ty := { id := "Action", path := [] }, eid := "z" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Action", path := [] }, eid := "alice" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny
                     [{ ty := { id := "Photo", path := [] }, eid := "bob" },
                      { ty := { id := "Foo", path := [] }, eid := "y" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Action", path := [] }, eid := "ghost" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "y" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "Action", path := [] }, eid := "p1" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Photo", path := [] }
                         { ty := { id := "Action", path := [] }, eid := "view" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "Action", path := [] }
                          { ty := { id := "Foo", path := [] }, eid := "alice" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "User", path := [] }, eid := "ghost" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when, body := Cedar.Spec.Expr.var (Cedar.Spec.Var.context) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.isMem
                          { id := "User", path := [] }
                          { ty := { id := "Photo", path := [] }, eid := "b" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "Foo", path := [] }, eid := "a" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Action", path := [] }
                         { ty := { id := "Action", path := [] }, eid := "b" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "b" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.is { id := "User", path := [] }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Foo", path := [] }, eid := "bob" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "y" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.binaryApp
                              (Cedar.Spec.BinaryOp.mem)
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.less)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.resource))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context)))
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "owner")) }] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "User", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "Action", path := [] }, eid := "b" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Action", path := [] }, eid := "edit" }),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "z" }),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "x" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.binaryApp
                              (Cedar.Spec.BinaryOp.less)
                              (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true))
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.mem)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.principal))
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 36 }))) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.is { id := "Foo", path := [] }),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "User", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "Album", path := [] }, eid := "b" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.or
                              (Cedar.Spec.Expr.binaryApp
                                (Cedar.Spec.BinaryOp.less)
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.resource)))
                              (Cedar.Spec.Expr.or
                                (Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool true))
                                (Cedar.Spec.Expr.var (Cedar.Spec.Var.context))) }] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Photo", path := [] }, eid := "x" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.isMem
                       { id := "Foo", path := [] }
                       { ty := { id := "Photo", path := [] }, eid := "view" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Album", path := [] }
                         { ty := { id := "Photo", path := [] }, eid := "ghost" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "p1" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "User", path := [] }, eid := "x" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "User", path := [] }, eid := "view" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.when,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 4 }) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Action", path := [] }, eid := "p1" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Album", path := [] }, eid := "b" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Foo", path := [] }, eid := "x" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [{ ty := { id := "User", path := [] }, eid := "edit" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Album", path := [] }
                         { ty := { id := "Album", path := [] }, eid := "x" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.string "flag") }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "User", path := [] }, eid := "alice" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny
                     [{ ty := { id := "Album", path := [] }, eid := "alice" },
                      { ty := { id := "Album", path := [] }, eid := "p1" }],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.isMem
                         { id := "Photo", path := [] }
                         { ty := { id := "Action", path := [] }, eid := "x" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.int { toUInt64 := 73 }) }] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.any),
    actionScope := Cedar.Spec.ActionScope.actionScope (Cedar.Spec.Scope.any),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope (Cedar.Spec.Scope.any),
    condition := [] },
  { id := "p1",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.eq { ty := { id := "Album", path := [] }, eid := "p1" }),
    actionScope := Cedar.Spec.ActionScope.actionScope
                     (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "ghost" }),
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.eq { ty := { id := "Foo", path := [] }, eid := "a" }),
    condition := [{ kind := Cedar.Spec.ConditionKind.unless,
                    body := Cedar.Spec.Expr.lit (Cedar.Spec.Prim.bool false) }] },
  { id := "p2",
    effect := Cedar.Spec.Effect.forbid,
    principalScope := Cedar.Spec.PrincipalScope.principalScope (Cedar.Spec.Scope.is { id := "Photo", path := [] }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "a" }),
    condition := [] },
  { id := "p0",
    effect := Cedar.Spec.Effect.permit,
    principalScope := Cedar.Spec.PrincipalScope.principalScope
                        (Cedar.Spec.Scope.mem { ty := { id := "Foo", path := [] }, eid := "z" }),
    actionScope := Cedar.Spec.ActionScope.actionInAny [],
    resourceScope := Cedar.Spec.ResourceScope.resourceScope
                       (Cedar.Spec.Scope.mem { ty := { id := "Photo", path := [] }, eid := "a" }),
    condition := [] }],
 { ets := Cedar.Data.Map.mk
            [({ id := "Action", path := [] },
              Cedar.Validation.EntitySchemaEntry.standard
                { ancestors := Cedar.Data.Set.mk [{ id := "User", path := [] }],
                  attrs := Cedar.Data.Map.mk [],
                  tags := some (Cedar.Validation.CedarType.ext (Cedar.Validation.ExtType.datetime)) }),
             ({ id := "Photo", path := [] },
              Cedar.Validation.EntitySchemaEntry.standard
                { ancestors := Cedar.Data.Set.mk [{ id := "Action", path := [] }, { id := "Photo", path := [] }],
                  attrs := Cedar.Data.Map.mk
                             [("flag",
                               Cedar.Validation.Qualified.optional
                                 (Cedar.Validation.CedarType.ext (Cedar.Validation.ExtType.datetime)))],
                  tags := some (Cedar.Validation.CedarType.string) }),
             ({ id := "User", path := [] }, Cedar.Validation.EntitySchemaEntry.enum (Cedar.Data.Set.mk ["a", "x"]))],
   acts := Cedar.Data.Map.mk
             [({ ty := { id := "User", path := [] }, eid := "p1" },
               { appliesToPrincipal := Cedar.Data.Set.mk
                                         [{ id := "Action", path := [] }, { id := "Album", path := [] }],
                 appliesToResource := Cedar.Data.Set.mk [{ id := "Action", path := [] }, { id := "Album", path := [] }],
                 ancestors := Cedar.Data.Set.mk
                                [{ ty := { id := "Action", path := [] }, eid := "b" },
                                 { ty := { id := "Foo", path := [] }, eid := "y" },
                                 { ty := { id := "User", path := [] }, eid := "y" }],
                 context := Cedar.Data.Map.mk
                              [("owner", Cedar.Validation.Qualified.required (Cedar.Validation.CedarType.int))] })] },
 46)) — validateWithLevel rejected policy p1 with .levelError — the level checker rejected an entity-access expression it should have allowed


validateWithLevel rejected policy p_action_lit with .levelError — the level checker rejected an entity-access expression it should have allowed