module.exports = {
        typeDefs: // Code generated by Prisma (prisma@1.30.1). DO NOT EDIT.
  // Please don't change this file manually but run `prisma generate` to update it.
  // For more information, please read the docs: https://www.prisma.io/docs/prisma-client/

/* GraphQL */ `type AggregateCharacterization {
  count: Int!
}

type AggregateComment {
  count: Int!
}

type AggregateDUT {
  count: Int!
}

type AggregateEvent {
  count: Int!
}

type AggregateFile {
  count: Int!
}

type AggregateInstrument {
  count: Int!
}

type AggregateInstrumentCommand {
  count: Int!
}

type AggregateInstrumentInstance {
  count: Int!
}

type AggregateInstrumentParameter {
  count: Int!
}

type AggregateInstrumentSubsystem {
  count: Int!
}

type AggregateMeasurement {
  count: Int!
}

type AggregateMeasurementRun {
  count: Int!
}

type AggregateMeta {
  count: Int!
}

type AggregateProject {
  count: Int!
}

type AggregateProjectVersion {
  count: Int!
}

type AggregateSetup {
  count: Int!
}

type AggregateSetupHardware {
  count: Int!
}

type AggregateSetupHardwareInstance {
  count: Int!
}

type AggregateUser {
  count: Int!
}

type BatchPayload {
  count: Long!
}

type Characterization {
  id: ID!
  name: String!
  projectVersion: ProjectVersion!
  measurementRuns(where: MeasurementRunWhereInput, orderBy: MeasurementRunOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [MeasurementRun!]
}

type CharacterizationConnection {
  pageInfo: PageInfo!
  edges: [CharacterizationEdge]!
  aggregate: AggregateCharacterization!
}

input CharacterizationCreateInput {
  name: String!
  projectVersion: ProjectVersionCreateOneInput!
  measurementRuns: MeasurementRunCreateManyInput
}

type CharacterizationEdge {
  node: Characterization!
  cursor: String!
}

enum CharacterizationOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type CharacterizationPreviousValues {
  id: ID!
  name: String!
}

type CharacterizationSubscriptionPayload {
  mutation: MutationType!
  node: Characterization
  updatedFields: [String!]
  previousValues: CharacterizationPreviousValues
}

input CharacterizationSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: CharacterizationWhereInput
  AND: [CharacterizationSubscriptionWhereInput!]
  OR: [CharacterizationSubscriptionWhereInput!]
  NOT: [CharacterizationSubscriptionWhereInput!]
}

input CharacterizationUpdateInput {
  name: String
  projectVersion: ProjectVersionUpdateOneRequiredInput
  measurementRuns: MeasurementRunUpdateManyInput
}

input CharacterizationUpdateManyMutationInput {
  name: String
}

input CharacterizationWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  projectVersion: ProjectVersionWhereInput
  measurementRuns_every: MeasurementRunWhereInput
  measurementRuns_some: MeasurementRunWhereInput
  measurementRuns_none: MeasurementRunWhereInput
  AND: [CharacterizationWhereInput!]
  OR: [CharacterizationWhereInput!]
  NOT: [CharacterizationWhereInput!]
}

input CharacterizationWhereUniqueInput {
  id: ID
}

type Comment {
  id: ID!
  text: String
  createdAt: DateTime!
  previousVersion: Comment
}

type CommentConnection {
  pageInfo: PageInfo!
  edges: [CommentEdge]!
  aggregate: AggregateComment!
}

input CommentCreateInput {
  text: String
  previousVersion: CommentCreateOneInput
}

input CommentCreateManyInput {
  create: [CommentCreateInput!]
  connect: [CommentWhereUniqueInput!]
}

input CommentCreateOneInput {
  create: CommentCreateInput
  connect: CommentWhereUniqueInput
}

type CommentEdge {
  node: Comment!
  cursor: String!
}

enum CommentOrderByInput {
  id_ASC
  id_DESC
  text_ASC
  text_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type CommentPreviousValues {
  id: ID!
  text: String
  createdAt: DateTime!
}

input CommentScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  text: String
  text_not: String
  text_in: [String!]
  text_not_in: [String!]
  text_lt: String
  text_lte: String
  text_gt: String
  text_gte: String
  text_contains: String
  text_not_contains: String
  text_starts_with: String
  text_not_starts_with: String
  text_ends_with: String
  text_not_ends_with: String
  createdAt: DateTime
  createdAt_not: DateTime
  createdAt_in: [DateTime!]
  createdAt_not_in: [DateTime!]
  createdAt_lt: DateTime
  createdAt_lte: DateTime
  createdAt_gt: DateTime
  createdAt_gte: DateTime
  AND: [CommentScalarWhereInput!]
  OR: [CommentScalarWhereInput!]
  NOT: [CommentScalarWhereInput!]
}

type CommentSubscriptionPayload {
  mutation: MutationType!
  node: Comment
  updatedFields: [String!]
  previousValues: CommentPreviousValues
}

input CommentSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: CommentWhereInput
  AND: [CommentSubscriptionWhereInput!]
  OR: [CommentSubscriptionWhereInput!]
  NOT: [CommentSubscriptionWhereInput!]
}

input CommentUpdateDataInput {
  text: String
  previousVersion: CommentUpdateOneInput
}

input CommentUpdateInput {
  text: String
  previousVersion: CommentUpdateOneInput
}

input CommentUpdateManyDataInput {
  text: String
}

input CommentUpdateManyInput {
  create: [CommentCreateInput!]
  update: [CommentUpdateWithWhereUniqueNestedInput!]
  upsert: [CommentUpsertWithWhereUniqueNestedInput!]
  delete: [CommentWhereUniqueInput!]
  connect: [CommentWhereUniqueInput!]
  set: [CommentWhereUniqueInput!]
  disconnect: [CommentWhereUniqueInput!]
  deleteMany: [CommentScalarWhereInput!]
  updateMany: [CommentUpdateManyWithWhereNestedInput!]
}

input CommentUpdateManyMutationInput {
  text: String
}

input CommentUpdateManyWithWhereNestedInput {
  where: CommentScalarWhereInput!
  data: CommentUpdateManyDataInput!
}

input CommentUpdateOneInput {
  create: CommentCreateInput
  update: CommentUpdateDataInput
  upsert: CommentUpsertNestedInput
  delete: Boolean
  disconnect: Boolean
  connect: CommentWhereUniqueInput
}

input CommentUpdateWithWhereUniqueNestedInput {
  where: CommentWhereUniqueInput!
  data: CommentUpdateDataInput!
}

input CommentUpsertNestedInput {
  update: CommentUpdateDataInput!
  create: CommentCreateInput!
}

input CommentUpsertWithWhereUniqueNestedInput {
  where: CommentWhereUniqueInput!
  update: CommentUpdateDataInput!
  create: CommentCreateInput!
}

input CommentWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  text: String
  text_not: String
  text_in: [String!]
  text_not_in: [String!]
  text_lt: String
  text_lte: String
  text_gt: String
  text_gte: String
  text_contains: String
  text_not_contains: String
  text_starts_with: String
  text_not_starts_with: String
  text_ends_with: String
  text_not_ends_with: String
  createdAt: DateTime
  createdAt_not: DateTime
  createdAt_in: [DateTime!]
  createdAt_not_in: [DateTime!]
  createdAt_lt: DateTime
  createdAt_lte: DateTime
  createdAt_gt: DateTime
  createdAt_gte: DateTime
  previousVersion: CommentWhereInput
  AND: [CommentWhereInput!]
  OR: [CommentWhereInput!]
  NOT: [CommentWhereInput!]
}

input CommentWhereUniqueInput {
  id: ID
}

scalar DateTime

type DUT {
  id: ID!
  name: String!
  description: String
  project: ProjectVersion!
  modifications: [String!]!
}

type DUTConnection {
  pageInfo: PageInfo!
  edges: [DUTEdge]!
  aggregate: AggregateDUT!
}

input DUTCreateInput {
  name: String!
  description: String
  project: ProjectVersionCreateOneInput!
  modifications: DUTCreatemodificationsInput
}

input DUTCreatemodificationsInput {
  set: [String!]
}

type DUTEdge {
  node: DUT!
  cursor: String!
}

enum DUTOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type DUTPreviousValues {
  id: ID!
  name: String!
  description: String
  modifications: [String!]!
}

type DUTSubscriptionPayload {
  mutation: MutationType!
  node: DUT
  updatedFields: [String!]
  previousValues: DUTPreviousValues
}

input DUTSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: DUTWhereInput
  AND: [DUTSubscriptionWhereInput!]
  OR: [DUTSubscriptionWhereInput!]
  NOT: [DUTSubscriptionWhereInput!]
}

input DUTUpdateInput {
  name: String
  description: String
  project: ProjectVersionUpdateOneRequiredInput
  modifications: DUTUpdatemodificationsInput
}

input DUTUpdateManyMutationInput {
  name: String
  description: String
  modifications: DUTUpdatemodificationsInput
}

input DUTUpdatemodificationsInput {
  set: [String!]
}

input DUTWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  project: ProjectVersionWhereInput
  AND: [DUTWhereInput!]
  OR: [DUTWhereInput!]
  NOT: [DUTWhereInput!]
}

input DUTWhereUniqueInput {
  id: ID
}

type Event {
  id: ID!
  json: String!
  when: DateTime!
}

type EventConnection {
  pageInfo: PageInfo!
  edges: [EventEdge]!
  aggregate: AggregateEvent!
}

input EventCreateInput {
  json: String!
  when: DateTime!
}

input EventCreateManyInput {
  create: [EventCreateInput!]
  connect: [EventWhereUniqueInput!]
}

type EventEdge {
  node: Event!
  cursor: String!
}

enum EventOrderByInput {
  id_ASC
  id_DESC
  json_ASC
  json_DESC
  when_ASC
  when_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type EventPreviousValues {
  id: ID!
  json: String!
  when: DateTime!
}

input EventScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  json: String
  json_not: String
  json_in: [String!]
  json_not_in: [String!]
  json_lt: String
  json_lte: String
  json_gt: String
  json_gte: String
  json_contains: String
  json_not_contains: String
  json_starts_with: String
  json_not_starts_with: String
  json_ends_with: String
  json_not_ends_with: String
  when: DateTime
  when_not: DateTime
  when_in: [DateTime!]
  when_not_in: [DateTime!]
  when_lt: DateTime
  when_lte: DateTime
  when_gt: DateTime
  when_gte: DateTime
  AND: [EventScalarWhereInput!]
  OR: [EventScalarWhereInput!]
  NOT: [EventScalarWhereInput!]
}

type EventSubscriptionPayload {
  mutation: MutationType!
  node: Event
  updatedFields: [String!]
  previousValues: EventPreviousValues
}

input EventSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: EventWhereInput
  AND: [EventSubscriptionWhereInput!]
  OR: [EventSubscriptionWhereInput!]
  NOT: [EventSubscriptionWhereInput!]
}

input EventUpdateDataInput {
  json: String
  when: DateTime
}

input EventUpdateInput {
  json: String
  when: DateTime
}

input EventUpdateManyDataInput {
  json: String
  when: DateTime
}

input EventUpdateManyInput {
  create: [EventCreateInput!]
  update: [EventUpdateWithWhereUniqueNestedInput!]
  upsert: [EventUpsertWithWhereUniqueNestedInput!]
  delete: [EventWhereUniqueInput!]
  connect: [EventWhereUniqueInput!]
  set: [EventWhereUniqueInput!]
  disconnect: [EventWhereUniqueInput!]
  deleteMany: [EventScalarWhereInput!]
  updateMany: [EventUpdateManyWithWhereNestedInput!]
}

input EventUpdateManyMutationInput {
  json: String
  when: DateTime
}

input EventUpdateManyWithWhereNestedInput {
  where: EventScalarWhereInput!
  data: EventUpdateManyDataInput!
}

input EventUpdateWithWhereUniqueNestedInput {
  where: EventWhereUniqueInput!
  data: EventUpdateDataInput!
}

input EventUpsertWithWhereUniqueNestedInput {
  where: EventWhereUniqueInput!
  update: EventUpdateDataInput!
  create: EventCreateInput!
}

input EventWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  json: String
  json_not: String
  json_in: [String!]
  json_not_in: [String!]
  json_lt: String
  json_lte: String
  json_gt: String
  json_gte: String
  json_contains: String
  json_not_contains: String
  json_starts_with: String
  json_not_starts_with: String
  json_ends_with: String
  json_not_ends_with: String
  when: DateTime
  when_not: DateTime
  when_in: [DateTime!]
  when_not_in: [DateTime!]
  when_lt: DateTime
  when_lte: DateTime
  when_gt: DateTime
  when_gte: DateTime
  AND: [EventWhereInput!]
  OR: [EventWhereInput!]
  NOT: [EventWhereInput!]
}

input EventWhereUniqueInput {
  id: ID
}

type File {
  id: ID!
  path: String!
  name: String
  description: String
  filename: String!
  mimetype: String!
  size: Int!
}

type FileConnection {
  pageInfo: PageInfo!
  edges: [FileEdge]!
  aggregate: AggregateFile!
}

input FileCreateInput {
  path: String!
  name: String
  description: String
  filename: String!
  mimetype: String!
  size: Int!
}

input FileCreateManyInput {
  create: [FileCreateInput!]
  connect: [FileWhereUniqueInput!]
}

type FileEdge {
  node: File!
  cursor: String!
}

enum FileOrderByInput {
  id_ASC
  id_DESC
  path_ASC
  path_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  filename_ASC
  filename_DESC
  mimetype_ASC
  mimetype_DESC
  size_ASC
  size_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type FilePreviousValues {
  id: ID!
  path: String!
  name: String
  description: String
  filename: String!
  mimetype: String!
  size: Int!
}

input FileScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  path: String
  path_not: String
  path_in: [String!]
  path_not_in: [String!]
  path_lt: String
  path_lte: String
  path_gt: String
  path_gte: String
  path_contains: String
  path_not_contains: String
  path_starts_with: String
  path_not_starts_with: String
  path_ends_with: String
  path_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  filename: String
  filename_not: String
  filename_in: [String!]
  filename_not_in: [String!]
  filename_lt: String
  filename_lte: String
  filename_gt: String
  filename_gte: String
  filename_contains: String
  filename_not_contains: String
  filename_starts_with: String
  filename_not_starts_with: String
  filename_ends_with: String
  filename_not_ends_with: String
  mimetype: String
  mimetype_not: String
  mimetype_in: [String!]
  mimetype_not_in: [String!]
  mimetype_lt: String
  mimetype_lte: String
  mimetype_gt: String
  mimetype_gte: String
  mimetype_contains: String
  mimetype_not_contains: String
  mimetype_starts_with: String
  mimetype_not_starts_with: String
  mimetype_ends_with: String
  mimetype_not_ends_with: String
  size: Int
  size_not: Int
  size_in: [Int!]
  size_not_in: [Int!]
  size_lt: Int
  size_lte: Int
  size_gt: Int
  size_gte: Int
  AND: [FileScalarWhereInput!]
  OR: [FileScalarWhereInput!]
  NOT: [FileScalarWhereInput!]
}

type FileSubscriptionPayload {
  mutation: MutationType!
  node: File
  updatedFields: [String!]
  previousValues: FilePreviousValues
}

input FileSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: FileWhereInput
  AND: [FileSubscriptionWhereInput!]
  OR: [FileSubscriptionWhereInput!]
  NOT: [FileSubscriptionWhereInput!]
}

input FileUpdateDataInput {
  path: String
  name: String
  description: String
  filename: String
  mimetype: String
  size: Int
}

input FileUpdateInput {
  path: String
  name: String
  description: String
  filename: String
  mimetype: String
  size: Int
}

input FileUpdateManyDataInput {
  path: String
  name: String
  description: String
  filename: String
  mimetype: String
  size: Int
}

input FileUpdateManyInput {
  create: [FileCreateInput!]
  update: [FileUpdateWithWhereUniqueNestedInput!]
  upsert: [FileUpsertWithWhereUniqueNestedInput!]
  delete: [FileWhereUniqueInput!]
  connect: [FileWhereUniqueInput!]
  set: [FileWhereUniqueInput!]
  disconnect: [FileWhereUniqueInput!]
  deleteMany: [FileScalarWhereInput!]
  updateMany: [FileUpdateManyWithWhereNestedInput!]
}

input FileUpdateManyMutationInput {
  path: String
  name: String
  description: String
  filename: String
  mimetype: String
  size: Int
}

input FileUpdateManyWithWhereNestedInput {
  where: FileScalarWhereInput!
  data: FileUpdateManyDataInput!
}

input FileUpdateWithWhereUniqueNestedInput {
  where: FileWhereUniqueInput!
  data: FileUpdateDataInput!
}

input FileUpsertWithWhereUniqueNestedInput {
  where: FileWhereUniqueInput!
  update: FileUpdateDataInput!
  create: FileCreateInput!
}

input FileWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  path: String
  path_not: String
  path_in: [String!]
  path_not_in: [String!]
  path_lt: String
  path_lte: String
  path_gt: String
  path_gte: String
  path_contains: String
  path_not_contains: String
  path_starts_with: String
  path_not_starts_with: String
  path_ends_with: String
  path_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  filename: String
  filename_not: String
  filename_in: [String!]
  filename_not_in: [String!]
  filename_lt: String
  filename_lte: String
  filename_gt: String
  filename_gte: String
  filename_contains: String
  filename_not_contains: String
  filename_starts_with: String
  filename_not_starts_with: String
  filename_ends_with: String
  filename_not_ends_with: String
  mimetype: String
  mimetype_not: String
  mimetype_in: [String!]
  mimetype_not_in: [String!]
  mimetype_lt: String
  mimetype_lte: String
  mimetype_gt: String
  mimetype_gte: String
  mimetype_contains: String
  mimetype_not_contains: String
  mimetype_starts_with: String
  mimetype_not_starts_with: String
  mimetype_ends_with: String
  mimetype_not_ends_with: String
  size: Int
  size_not: Int
  size_in: [Int!]
  size_not_in: [Int!]
  size_lt: Int
  size_lte: Int
  size_gt: Int
  size_gte: Int
  AND: [FileWhereInput!]
  OR: [FileWhereInput!]
  NOT: [FileWhereInput!]
}

input FileWhereUniqueInput {
  id: ID
}

type Instrument {
  id: ID!
  name: String!
  description: String
  documents(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File!]
  interfaces: [String!]!
  commands(where: InstrumentCommandWhereInput, orderBy: InstrumentCommandOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentCommand!]
  parameters(where: InstrumentParameterWhereInput, orderBy: InstrumentParameterOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentParameter!]
  subsystems(where: InstrumentSubsystemWhereInput, orderBy: InstrumentSubsystemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentSubsystem!]
}

type InstrumentCommand {
  id: ID!
  tag: String!
  name: String
  description: String!
  instrument: Instrument!
  readString: String
  writeString: String
  parameters(where: InstrumentParameterWhereInput, orderBy: InstrumentParameterOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentParameter!]
}

type InstrumentCommandConnection {
  pageInfo: PageInfo!
  edges: [InstrumentCommandEdge]!
  aggregate: AggregateInstrumentCommand!
}

input InstrumentCommandCreateInput {
  tag: String!
  name: String
  description: String!
  instrument: InstrumentCreateOneWithoutCommandsInput!
  readString: String
  writeString: String
  parameters: InstrumentParameterCreateManyInput
}

input InstrumentCommandCreateManyInput {
  create: [InstrumentCommandCreateInput!]
  connect: [InstrumentCommandWhereUniqueInput!]
}

input InstrumentCommandCreateManyWithoutInstrumentInput {
  create: [InstrumentCommandCreateWithoutInstrumentInput!]
  connect: [InstrumentCommandWhereUniqueInput!]
}

input InstrumentCommandCreateWithoutInstrumentInput {
  tag: String!
  name: String
  description: String!
  readString: String
  writeString: String
  parameters: InstrumentParameterCreateManyInput
}

type InstrumentCommandEdge {
  node: InstrumentCommand!
  cursor: String!
}

enum InstrumentCommandOrderByInput {
  id_ASC
  id_DESC
  tag_ASC
  tag_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  readString_ASC
  readString_DESC
  writeString_ASC
  writeString_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type InstrumentCommandPreviousValues {
  id: ID!
  tag: String!
  name: String
  description: String!
  readString: String
  writeString: String
}

input InstrumentCommandScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  tag: String
  tag_not: String
  tag_in: [String!]
  tag_not_in: [String!]
  tag_lt: String
  tag_lte: String
  tag_gt: String
  tag_gte: String
  tag_contains: String
  tag_not_contains: String
  tag_starts_with: String
  tag_not_starts_with: String
  tag_ends_with: String
  tag_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  readString: String
  readString_not: String
  readString_in: [String!]
  readString_not_in: [String!]
  readString_lt: String
  readString_lte: String
  readString_gt: String
  readString_gte: String
  readString_contains: String
  readString_not_contains: String
  readString_starts_with: String
  readString_not_starts_with: String
  readString_ends_with: String
  readString_not_ends_with: String
  writeString: String
  writeString_not: String
  writeString_in: [String!]
  writeString_not_in: [String!]
  writeString_lt: String
  writeString_lte: String
  writeString_gt: String
  writeString_gte: String
  writeString_contains: String
  writeString_not_contains: String
  writeString_starts_with: String
  writeString_not_starts_with: String
  writeString_ends_with: String
  writeString_not_ends_with: String
  AND: [InstrumentCommandScalarWhereInput!]
  OR: [InstrumentCommandScalarWhereInput!]
  NOT: [InstrumentCommandScalarWhereInput!]
}

type InstrumentCommandSubscriptionPayload {
  mutation: MutationType!
  node: InstrumentCommand
  updatedFields: [String!]
  previousValues: InstrumentCommandPreviousValues
}

input InstrumentCommandSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: InstrumentCommandWhereInput
  AND: [InstrumentCommandSubscriptionWhereInput!]
  OR: [InstrumentCommandSubscriptionWhereInput!]
  NOT: [InstrumentCommandSubscriptionWhereInput!]
}

input InstrumentCommandUpdateDataInput {
  tag: String
  name: String
  description: String
  instrument: InstrumentUpdateOneRequiredWithoutCommandsInput
  readString: String
  writeString: String
  parameters: InstrumentParameterUpdateManyInput
}

input InstrumentCommandUpdateInput {
  tag: String
  name: String
  description: String
  instrument: InstrumentUpdateOneRequiredWithoutCommandsInput
  readString: String
  writeString: String
  parameters: InstrumentParameterUpdateManyInput
}

input InstrumentCommandUpdateManyDataInput {
  tag: String
  name: String
  description: String
  readString: String
  writeString: String
}

input InstrumentCommandUpdateManyInput {
  create: [InstrumentCommandCreateInput!]
  update: [InstrumentCommandUpdateWithWhereUniqueNestedInput!]
  upsert: [InstrumentCommandUpsertWithWhereUniqueNestedInput!]
  delete: [InstrumentCommandWhereUniqueInput!]
  connect: [InstrumentCommandWhereUniqueInput!]
  set: [InstrumentCommandWhereUniqueInput!]
  disconnect: [InstrumentCommandWhereUniqueInput!]
  deleteMany: [InstrumentCommandScalarWhereInput!]
  updateMany: [InstrumentCommandUpdateManyWithWhereNestedInput!]
}

input InstrumentCommandUpdateManyMutationInput {
  tag: String
  name: String
  description: String
  readString: String
  writeString: String
}

input InstrumentCommandUpdateManyWithoutInstrumentInput {
  create: [InstrumentCommandCreateWithoutInstrumentInput!]
  delete: [InstrumentCommandWhereUniqueInput!]
  connect: [InstrumentCommandWhereUniqueInput!]
  set: [InstrumentCommandWhereUniqueInput!]
  disconnect: [InstrumentCommandWhereUniqueInput!]
  update: [InstrumentCommandUpdateWithWhereUniqueWithoutInstrumentInput!]
  upsert: [InstrumentCommandUpsertWithWhereUniqueWithoutInstrumentInput!]
  deleteMany: [InstrumentCommandScalarWhereInput!]
  updateMany: [InstrumentCommandUpdateManyWithWhereNestedInput!]
}

input InstrumentCommandUpdateManyWithWhereNestedInput {
  where: InstrumentCommandScalarWhereInput!
  data: InstrumentCommandUpdateManyDataInput!
}

input InstrumentCommandUpdateWithoutInstrumentDataInput {
  tag: String
  name: String
  description: String
  readString: String
  writeString: String
  parameters: InstrumentParameterUpdateManyInput
}

input InstrumentCommandUpdateWithWhereUniqueNestedInput {
  where: InstrumentCommandWhereUniqueInput!
  data: InstrumentCommandUpdateDataInput!
}

input InstrumentCommandUpdateWithWhereUniqueWithoutInstrumentInput {
  where: InstrumentCommandWhereUniqueInput!
  data: InstrumentCommandUpdateWithoutInstrumentDataInput!
}

input InstrumentCommandUpsertWithWhereUniqueNestedInput {
  where: InstrumentCommandWhereUniqueInput!
  update: InstrumentCommandUpdateDataInput!
  create: InstrumentCommandCreateInput!
}

input InstrumentCommandUpsertWithWhereUniqueWithoutInstrumentInput {
  where: InstrumentCommandWhereUniqueInput!
  update: InstrumentCommandUpdateWithoutInstrumentDataInput!
  create: InstrumentCommandCreateWithoutInstrumentInput!
}

input InstrumentCommandWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  tag: String
  tag_not: String
  tag_in: [String!]
  tag_not_in: [String!]
  tag_lt: String
  tag_lte: String
  tag_gt: String
  tag_gte: String
  tag_contains: String
  tag_not_contains: String
  tag_starts_with: String
  tag_not_starts_with: String
  tag_ends_with: String
  tag_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  instrument: InstrumentWhereInput
  readString: String
  readString_not: String
  readString_in: [String!]
  readString_not_in: [String!]
  readString_lt: String
  readString_lte: String
  readString_gt: String
  readString_gte: String
  readString_contains: String
  readString_not_contains: String
  readString_starts_with: String
  readString_not_starts_with: String
  readString_ends_with: String
  readString_not_ends_with: String
  writeString: String
  writeString_not: String
  writeString_in: [String!]
  writeString_not_in: [String!]
  writeString_lt: String
  writeString_lte: String
  writeString_gt: String
  writeString_gte: String
  writeString_contains: String
  writeString_not_contains: String
  writeString_starts_with: String
  writeString_not_starts_with: String
  writeString_ends_with: String
  writeString_not_ends_with: String
  parameters_every: InstrumentParameterWhereInput
  parameters_some: InstrumentParameterWhereInput
  parameters_none: InstrumentParameterWhereInput
  AND: [InstrumentCommandWhereInput!]
  OR: [InstrumentCommandWhereInput!]
  NOT: [InstrumentCommandWhereInput!]
}

input InstrumentCommandWhereUniqueInput {
  id: ID
}

type InstrumentConnection {
  pageInfo: PageInfo!
  edges: [InstrumentEdge]!
  aggregate: AggregateInstrument!
}

input InstrumentCreateInput {
  name: String!
  description: String
  documents: FileCreateManyInput
  interfaces: InstrumentCreateinterfacesInput
  commands: InstrumentCommandCreateManyWithoutInstrumentInput
  parameters: InstrumentParameterCreateManyInput
  subsystems: InstrumentSubsystemCreateManyInput
}

input InstrumentCreateinterfacesInput {
  set: [String!]
}

input InstrumentCreateOneInput {
  create: InstrumentCreateInput
  connect: InstrumentWhereUniqueInput
}

input InstrumentCreateOneWithoutCommandsInput {
  create: InstrumentCreateWithoutCommandsInput
  connect: InstrumentWhereUniqueInput
}

input InstrumentCreateWithoutCommandsInput {
  name: String!
  description: String
  documents: FileCreateManyInput
  interfaces: InstrumentCreateinterfacesInput
  parameters: InstrumentParameterCreateManyInput
  subsystems: InstrumentSubsystemCreateManyInput
}

type InstrumentEdge {
  node: Instrument!
  cursor: String!
}

type InstrumentInstance {
  id: ID!
  instrument: Instrument!
  identifier: String!
  label: String
  location: String
}

type InstrumentInstanceConnection {
  pageInfo: PageInfo!
  edges: [InstrumentInstanceEdge]!
  aggregate: AggregateInstrumentInstance!
}

input InstrumentInstanceCreateInput {
  instrument: InstrumentCreateOneInput!
  identifier: String!
  label: String
  location: String
}

input InstrumentInstanceCreateManyInput {
  create: [InstrumentInstanceCreateInput!]
  connect: [InstrumentInstanceWhereUniqueInput!]
}

type InstrumentInstanceEdge {
  node: InstrumentInstance!
  cursor: String!
}

enum InstrumentInstanceOrderByInput {
  id_ASC
  id_DESC
  identifier_ASC
  identifier_DESC
  label_ASC
  label_DESC
  location_ASC
  location_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type InstrumentInstancePreviousValues {
  id: ID!
  identifier: String!
  label: String
  location: String
}

input InstrumentInstanceScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  identifier: String
  identifier_not: String
  identifier_in: [String!]
  identifier_not_in: [String!]
  identifier_lt: String
  identifier_lte: String
  identifier_gt: String
  identifier_gte: String
  identifier_contains: String
  identifier_not_contains: String
  identifier_starts_with: String
  identifier_not_starts_with: String
  identifier_ends_with: String
  identifier_not_ends_with: String
  label: String
  label_not: String
  label_in: [String!]
  label_not_in: [String!]
  label_lt: String
  label_lte: String
  label_gt: String
  label_gte: String
  label_contains: String
  label_not_contains: String
  label_starts_with: String
  label_not_starts_with: String
  label_ends_with: String
  label_not_ends_with: String
  location: String
  location_not: String
  location_in: [String!]
  location_not_in: [String!]
  location_lt: String
  location_lte: String
  location_gt: String
  location_gte: String
  location_contains: String
  location_not_contains: String
  location_starts_with: String
  location_not_starts_with: String
  location_ends_with: String
  location_not_ends_with: String
  AND: [InstrumentInstanceScalarWhereInput!]
  OR: [InstrumentInstanceScalarWhereInput!]
  NOT: [InstrumentInstanceScalarWhereInput!]
}

type InstrumentInstanceSubscriptionPayload {
  mutation: MutationType!
  node: InstrumentInstance
  updatedFields: [String!]
  previousValues: InstrumentInstancePreviousValues
}

input InstrumentInstanceSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: InstrumentInstanceWhereInput
  AND: [InstrumentInstanceSubscriptionWhereInput!]
  OR: [InstrumentInstanceSubscriptionWhereInput!]
  NOT: [InstrumentInstanceSubscriptionWhereInput!]
}

input InstrumentInstanceUpdateDataInput {
  instrument: InstrumentUpdateOneRequiredInput
  identifier: String
  label: String
  location: String
}

input InstrumentInstanceUpdateInput {
  instrument: InstrumentUpdateOneRequiredInput
  identifier: String
  label: String
  location: String
}

input InstrumentInstanceUpdateManyDataInput {
  identifier: String
  label: String
  location: String
}

input InstrumentInstanceUpdateManyInput {
  create: [InstrumentInstanceCreateInput!]
  update: [InstrumentInstanceUpdateWithWhereUniqueNestedInput!]
  upsert: [InstrumentInstanceUpsertWithWhereUniqueNestedInput!]
  delete: [InstrumentInstanceWhereUniqueInput!]
  connect: [InstrumentInstanceWhereUniqueInput!]
  set: [InstrumentInstanceWhereUniqueInput!]
  disconnect: [InstrumentInstanceWhereUniqueInput!]
  deleteMany: [InstrumentInstanceScalarWhereInput!]
  updateMany: [InstrumentInstanceUpdateManyWithWhereNestedInput!]
}

input InstrumentInstanceUpdateManyMutationInput {
  identifier: String
  label: String
  location: String
}

input InstrumentInstanceUpdateManyWithWhereNestedInput {
  where: InstrumentInstanceScalarWhereInput!
  data: InstrumentInstanceUpdateManyDataInput!
}

input InstrumentInstanceUpdateWithWhereUniqueNestedInput {
  where: InstrumentInstanceWhereUniqueInput!
  data: InstrumentInstanceUpdateDataInput!
}

input InstrumentInstanceUpsertWithWhereUniqueNestedInput {
  where: InstrumentInstanceWhereUniqueInput!
  update: InstrumentInstanceUpdateDataInput!
  create: InstrumentInstanceCreateInput!
}

input InstrumentInstanceWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  instrument: InstrumentWhereInput
  identifier: String
  identifier_not: String
  identifier_in: [String!]
  identifier_not_in: [String!]
  identifier_lt: String
  identifier_lte: String
  identifier_gt: String
  identifier_gte: String
  identifier_contains: String
  identifier_not_contains: String
  identifier_starts_with: String
  identifier_not_starts_with: String
  identifier_ends_with: String
  identifier_not_ends_with: String
  label: String
  label_not: String
  label_in: [String!]
  label_not_in: [String!]
  label_lt: String
  label_lte: String
  label_gt: String
  label_gte: String
  label_contains: String
  label_not_contains: String
  label_starts_with: String
  label_not_starts_with: String
  label_ends_with: String
  label_not_ends_with: String
  location: String
  location_not: String
  location_in: [String!]
  location_not_in: [String!]
  location_lt: String
  location_lte: String
  location_gt: String
  location_gte: String
  location_contains: String
  location_not_contains: String
  location_starts_with: String
  location_not_starts_with: String
  location_ends_with: String
  location_not_ends_with: String
  AND: [InstrumentInstanceWhereInput!]
  OR: [InstrumentInstanceWhereInput!]
  NOT: [InstrumentInstanceWhereInput!]
}

input InstrumentInstanceWhereUniqueInput {
  id: ID
}

enum InstrumentOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type InstrumentParameter {
  id: ID!
  tag: String!
  name: String
  description: String
  type: String!
  values: String
}

type InstrumentParameterConnection {
  pageInfo: PageInfo!
  edges: [InstrumentParameterEdge]!
  aggregate: AggregateInstrumentParameter!
}

input InstrumentParameterCreateInput {
  tag: String!
  name: String
  description: String
  type: String!
  values: String
}

input InstrumentParameterCreateManyInput {
  create: [InstrumentParameterCreateInput!]
  connect: [InstrumentParameterWhereUniqueInput!]
}

type InstrumentParameterEdge {
  node: InstrumentParameter!
  cursor: String!
}

enum InstrumentParameterOrderByInput {
  id_ASC
  id_DESC
  tag_ASC
  tag_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  type_ASC
  type_DESC
  values_ASC
  values_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type InstrumentParameterPreviousValues {
  id: ID!
  tag: String!
  name: String
  description: String
  type: String!
  values: String
}

input InstrumentParameterScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  tag: String
  tag_not: String
  tag_in: [String!]
  tag_not_in: [String!]
  tag_lt: String
  tag_lte: String
  tag_gt: String
  tag_gte: String
  tag_contains: String
  tag_not_contains: String
  tag_starts_with: String
  tag_not_starts_with: String
  tag_ends_with: String
  tag_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  type: String
  type_not: String
  type_in: [String!]
  type_not_in: [String!]
  type_lt: String
  type_lte: String
  type_gt: String
  type_gte: String
  type_contains: String
  type_not_contains: String
  type_starts_with: String
  type_not_starts_with: String
  type_ends_with: String
  type_not_ends_with: String
  values: String
  values_not: String
  values_in: [String!]
  values_not_in: [String!]
  values_lt: String
  values_lte: String
  values_gt: String
  values_gte: String
  values_contains: String
  values_not_contains: String
  values_starts_with: String
  values_not_starts_with: String
  values_ends_with: String
  values_not_ends_with: String
  AND: [InstrumentParameterScalarWhereInput!]
  OR: [InstrumentParameterScalarWhereInput!]
  NOT: [InstrumentParameterScalarWhereInput!]
}

type InstrumentParameterSubscriptionPayload {
  mutation: MutationType!
  node: InstrumentParameter
  updatedFields: [String!]
  previousValues: InstrumentParameterPreviousValues
}

input InstrumentParameterSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: InstrumentParameterWhereInput
  AND: [InstrumentParameterSubscriptionWhereInput!]
  OR: [InstrumentParameterSubscriptionWhereInput!]
  NOT: [InstrumentParameterSubscriptionWhereInput!]
}

input InstrumentParameterUpdateDataInput {
  tag: String
  name: String
  description: String
  type: String
  values: String
}

input InstrumentParameterUpdateInput {
  tag: String
  name: String
  description: String
  type: String
  values: String
}

input InstrumentParameterUpdateManyDataInput {
  tag: String
  name: String
  description: String
  type: String
  values: String
}

input InstrumentParameterUpdateManyInput {
  create: [InstrumentParameterCreateInput!]
  update: [InstrumentParameterUpdateWithWhereUniqueNestedInput!]
  upsert: [InstrumentParameterUpsertWithWhereUniqueNestedInput!]
  delete: [InstrumentParameterWhereUniqueInput!]
  connect: [InstrumentParameterWhereUniqueInput!]
  set: [InstrumentParameterWhereUniqueInput!]
  disconnect: [InstrumentParameterWhereUniqueInput!]
  deleteMany: [InstrumentParameterScalarWhereInput!]
  updateMany: [InstrumentParameterUpdateManyWithWhereNestedInput!]
}

input InstrumentParameterUpdateManyMutationInput {
  tag: String
  name: String
  description: String
  type: String
  values: String
}

input InstrumentParameterUpdateManyWithWhereNestedInput {
  where: InstrumentParameterScalarWhereInput!
  data: InstrumentParameterUpdateManyDataInput!
}

input InstrumentParameterUpdateWithWhereUniqueNestedInput {
  where: InstrumentParameterWhereUniqueInput!
  data: InstrumentParameterUpdateDataInput!
}

input InstrumentParameterUpsertWithWhereUniqueNestedInput {
  where: InstrumentParameterWhereUniqueInput!
  update: InstrumentParameterUpdateDataInput!
  create: InstrumentParameterCreateInput!
}

input InstrumentParameterWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  tag: String
  tag_not: String
  tag_in: [String!]
  tag_not_in: [String!]
  tag_lt: String
  tag_lte: String
  tag_gt: String
  tag_gte: String
  tag_contains: String
  tag_not_contains: String
  tag_starts_with: String
  tag_not_starts_with: String
  tag_ends_with: String
  tag_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  type: String
  type_not: String
  type_in: [String!]
  type_not_in: [String!]
  type_lt: String
  type_lte: String
  type_gt: String
  type_gte: String
  type_contains: String
  type_not_contains: String
  type_starts_with: String
  type_not_starts_with: String
  type_ends_with: String
  type_not_ends_with: String
  values: String
  values_not: String
  values_in: [String!]
  values_not_in: [String!]
  values_lt: String
  values_lte: String
  values_gt: String
  values_gte: String
  values_contains: String
  values_not_contains: String
  values_starts_with: String
  values_not_starts_with: String
  values_ends_with: String
  values_not_ends_with: String
  AND: [InstrumentParameterWhereInput!]
  OR: [InstrumentParameterWhereInput!]
  NOT: [InstrumentParameterWhereInput!]
}

input InstrumentParameterWhereUniqueInput {
  id: ID
}

type InstrumentPreviousValues {
  id: ID!
  name: String!
  description: String
  interfaces: [String!]!
}

type InstrumentSubscriptionPayload {
  mutation: MutationType!
  node: Instrument
  updatedFields: [String!]
  previousValues: InstrumentPreviousValues
}

input InstrumentSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: InstrumentWhereInput
  AND: [InstrumentSubscriptionWhereInput!]
  OR: [InstrumentSubscriptionWhereInput!]
  NOT: [InstrumentSubscriptionWhereInput!]
}

type InstrumentSubsystem {
  id: ID!
  name: String
  description: String!
  commands(where: InstrumentCommandWhereInput, orderBy: InstrumentCommandOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentCommand!]
  parameters(where: InstrumentParameterWhereInput, orderBy: InstrumentParameterOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentParameter!]
  subsystems(where: InstrumentSubsystemWhereInput, orderBy: InstrumentSubsystemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentSubsystem!]
}

type InstrumentSubsystemConnection {
  pageInfo: PageInfo!
  edges: [InstrumentSubsystemEdge]!
  aggregate: AggregateInstrumentSubsystem!
}

input InstrumentSubsystemCreateInput {
  name: String
  description: String!
  commands: InstrumentCommandCreateManyInput
  parameters: InstrumentParameterCreateManyInput
  subsystems: InstrumentSubsystemCreateManyInput
}

input InstrumentSubsystemCreateManyInput {
  create: [InstrumentSubsystemCreateInput!]
  connect: [InstrumentSubsystemWhereUniqueInput!]
}

type InstrumentSubsystemEdge {
  node: InstrumentSubsystem!
  cursor: String!
}

enum InstrumentSubsystemOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type InstrumentSubsystemPreviousValues {
  id: ID!
  name: String
  description: String!
}

input InstrumentSubsystemScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  AND: [InstrumentSubsystemScalarWhereInput!]
  OR: [InstrumentSubsystemScalarWhereInput!]
  NOT: [InstrumentSubsystemScalarWhereInput!]
}

type InstrumentSubsystemSubscriptionPayload {
  mutation: MutationType!
  node: InstrumentSubsystem
  updatedFields: [String!]
  previousValues: InstrumentSubsystemPreviousValues
}

input InstrumentSubsystemSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: InstrumentSubsystemWhereInput
  AND: [InstrumentSubsystemSubscriptionWhereInput!]
  OR: [InstrumentSubsystemSubscriptionWhereInput!]
  NOT: [InstrumentSubsystemSubscriptionWhereInput!]
}

input InstrumentSubsystemUpdateDataInput {
  name: String
  description: String
  commands: InstrumentCommandUpdateManyInput
  parameters: InstrumentParameterUpdateManyInput
  subsystems: InstrumentSubsystemUpdateManyInput
}

input InstrumentSubsystemUpdateInput {
  name: String
  description: String
  commands: InstrumentCommandUpdateManyInput
  parameters: InstrumentParameterUpdateManyInput
  subsystems: InstrumentSubsystemUpdateManyInput
}

input InstrumentSubsystemUpdateManyDataInput {
  name: String
  description: String
}

input InstrumentSubsystemUpdateManyInput {
  create: [InstrumentSubsystemCreateInput!]
  update: [InstrumentSubsystemUpdateWithWhereUniqueNestedInput!]
  upsert: [InstrumentSubsystemUpsertWithWhereUniqueNestedInput!]
  delete: [InstrumentSubsystemWhereUniqueInput!]
  connect: [InstrumentSubsystemWhereUniqueInput!]
  set: [InstrumentSubsystemWhereUniqueInput!]
  disconnect: [InstrumentSubsystemWhereUniqueInput!]
  deleteMany: [InstrumentSubsystemScalarWhereInput!]
  updateMany: [InstrumentSubsystemUpdateManyWithWhereNestedInput!]
}

input InstrumentSubsystemUpdateManyMutationInput {
  name: String
  description: String
}

input InstrumentSubsystemUpdateManyWithWhereNestedInput {
  where: InstrumentSubsystemScalarWhereInput!
  data: InstrumentSubsystemUpdateManyDataInput!
}

input InstrumentSubsystemUpdateWithWhereUniqueNestedInput {
  where: InstrumentSubsystemWhereUniqueInput!
  data: InstrumentSubsystemUpdateDataInput!
}

input InstrumentSubsystemUpsertWithWhereUniqueNestedInput {
  where: InstrumentSubsystemWhereUniqueInput!
  update: InstrumentSubsystemUpdateDataInput!
  create: InstrumentSubsystemCreateInput!
}

input InstrumentSubsystemWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  commands_every: InstrumentCommandWhereInput
  commands_some: InstrumentCommandWhereInput
  commands_none: InstrumentCommandWhereInput
  parameters_every: InstrumentParameterWhereInput
  parameters_some: InstrumentParameterWhereInput
  parameters_none: InstrumentParameterWhereInput
  subsystems_every: InstrumentSubsystemWhereInput
  subsystems_some: InstrumentSubsystemWhereInput
  subsystems_none: InstrumentSubsystemWhereInput
  AND: [InstrumentSubsystemWhereInput!]
  OR: [InstrumentSubsystemWhereInput!]
  NOT: [InstrumentSubsystemWhereInput!]
}

input InstrumentSubsystemWhereUniqueInput {
  id: ID
}

input InstrumentUpdateDataInput {
  name: String
  description: String
  documents: FileUpdateManyInput
  interfaces: InstrumentUpdateinterfacesInput
  commands: InstrumentCommandUpdateManyWithoutInstrumentInput
  parameters: InstrumentParameterUpdateManyInput
  subsystems: InstrumentSubsystemUpdateManyInput
}

input InstrumentUpdateInput {
  name: String
  description: String
  documents: FileUpdateManyInput
  interfaces: InstrumentUpdateinterfacesInput
  commands: InstrumentCommandUpdateManyWithoutInstrumentInput
  parameters: InstrumentParameterUpdateManyInput
  subsystems: InstrumentSubsystemUpdateManyInput
}

input InstrumentUpdateinterfacesInput {
  set: [String!]
}

input InstrumentUpdateManyMutationInput {
  name: String
  description: String
  interfaces: InstrumentUpdateinterfacesInput
}

input InstrumentUpdateOneRequiredInput {
  create: InstrumentCreateInput
  update: InstrumentUpdateDataInput
  upsert: InstrumentUpsertNestedInput
  connect: InstrumentWhereUniqueInput
}

input InstrumentUpdateOneRequiredWithoutCommandsInput {
  create: InstrumentCreateWithoutCommandsInput
  update: InstrumentUpdateWithoutCommandsDataInput
  upsert: InstrumentUpsertWithoutCommandsInput
  connect: InstrumentWhereUniqueInput
}

input InstrumentUpdateWithoutCommandsDataInput {
  name: String
  description: String
  documents: FileUpdateManyInput
  interfaces: InstrumentUpdateinterfacesInput
  parameters: InstrumentParameterUpdateManyInput
  subsystems: InstrumentSubsystemUpdateManyInput
}

input InstrumentUpsertNestedInput {
  update: InstrumentUpdateDataInput!
  create: InstrumentCreateInput!
}

input InstrumentUpsertWithoutCommandsInput {
  update: InstrumentUpdateWithoutCommandsDataInput!
  create: InstrumentCreateWithoutCommandsInput!
}

input InstrumentWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  documents_every: FileWhereInput
  documents_some: FileWhereInput
  documents_none: FileWhereInput
  commands_every: InstrumentCommandWhereInput
  commands_some: InstrumentCommandWhereInput
  commands_none: InstrumentCommandWhereInput
  parameters_every: InstrumentParameterWhereInput
  parameters_some: InstrumentParameterWhereInput
  parameters_none: InstrumentParameterWhereInput
  subsystems_every: InstrumentSubsystemWhereInput
  subsystems_some: InstrumentSubsystemWhereInput
  subsystems_none: InstrumentSubsystemWhereInput
  AND: [InstrumentWhereInput!]
  OR: [InstrumentWhereInput!]
  NOT: [InstrumentWhereInput!]
}

input InstrumentWhereUniqueInput {
  id: ID
}

scalar Long

type Measurement {
  id: ID!
  createdAt: DateTime!
  intValue: Int
  floatValue: Float
  stringValue: String
}

type MeasurementConnection {
  pageInfo: PageInfo!
  edges: [MeasurementEdge]!
  aggregate: AggregateMeasurement!
}

input MeasurementCreateInput {
  intValue: Int
  floatValue: Float
  stringValue: String
}

input MeasurementCreateManyInput {
  create: [MeasurementCreateInput!]
  connect: [MeasurementWhereUniqueInput!]
}

type MeasurementEdge {
  node: Measurement!
  cursor: String!
}

enum MeasurementOrderByInput {
  id_ASC
  id_DESC
  createdAt_ASC
  createdAt_DESC
  intValue_ASC
  intValue_DESC
  floatValue_ASC
  floatValue_DESC
  stringValue_ASC
  stringValue_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type MeasurementPreviousValues {
  id: ID!
  createdAt: DateTime!
  intValue: Int
  floatValue: Float
  stringValue: String
}

type MeasurementRun {
  id: ID!
  name: String!
  operators(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [User!]
  location: String!
  temperature: Float
  startTime: DateTime!
  endTime: DateTime!
  log(where: EventWhereInput, orderBy: EventOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Event!]
  comments(where: CommentWhereInput, orderBy: CommentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Comment!]
  measurements(where: MeasurementWhereInput, orderBy: MeasurementOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Measurement!]
  setup: Setup!
}

type MeasurementRunConnection {
  pageInfo: PageInfo!
  edges: [MeasurementRunEdge]!
  aggregate: AggregateMeasurementRun!
}

input MeasurementRunCreateInput {
  name: String!
  operators: UserCreateManyInput
  location: String!
  temperature: Float
  startTime: DateTime!
  endTime: DateTime!
  log: EventCreateManyInput
  comments: CommentCreateManyInput
  measurements: MeasurementCreateManyInput
  setup: SetupCreateOneInput!
}

input MeasurementRunCreateManyInput {
  create: [MeasurementRunCreateInput!]
  connect: [MeasurementRunWhereUniqueInput!]
}

type MeasurementRunEdge {
  node: MeasurementRun!
  cursor: String!
}

enum MeasurementRunOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  location_ASC
  location_DESC
  temperature_ASC
  temperature_DESC
  startTime_ASC
  startTime_DESC
  endTime_ASC
  endTime_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type MeasurementRunPreviousValues {
  id: ID!
  name: String!
  location: String!
  temperature: Float
  startTime: DateTime!
  endTime: DateTime!
}

input MeasurementRunScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  location: String
  location_not: String
  location_in: [String!]
  location_not_in: [String!]
  location_lt: String
  location_lte: String
  location_gt: String
  location_gte: String
  location_contains: String
  location_not_contains: String
  location_starts_with: String
  location_not_starts_with: String
  location_ends_with: String
  location_not_ends_with: String
  temperature: Float
  temperature_not: Float
  temperature_in: [Float!]
  temperature_not_in: [Float!]
  temperature_lt: Float
  temperature_lte: Float
  temperature_gt: Float
  temperature_gte: Float
  startTime: DateTime
  startTime_not: DateTime
  startTime_in: [DateTime!]
  startTime_not_in: [DateTime!]
  startTime_lt: DateTime
  startTime_lte: DateTime
  startTime_gt: DateTime
  startTime_gte: DateTime
  endTime: DateTime
  endTime_not: DateTime
  endTime_in: [DateTime!]
  endTime_not_in: [DateTime!]
  endTime_lt: DateTime
  endTime_lte: DateTime
  endTime_gt: DateTime
  endTime_gte: DateTime
  AND: [MeasurementRunScalarWhereInput!]
  OR: [MeasurementRunScalarWhereInput!]
  NOT: [MeasurementRunScalarWhereInput!]
}

type MeasurementRunSubscriptionPayload {
  mutation: MutationType!
  node: MeasurementRun
  updatedFields: [String!]
  previousValues: MeasurementRunPreviousValues
}

input MeasurementRunSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: MeasurementRunWhereInput
  AND: [MeasurementRunSubscriptionWhereInput!]
  OR: [MeasurementRunSubscriptionWhereInput!]
  NOT: [MeasurementRunSubscriptionWhereInput!]
}

input MeasurementRunUpdateDataInput {
  name: String
  operators: UserUpdateManyInput
  location: String
  temperature: Float
  startTime: DateTime
  endTime: DateTime
  log: EventUpdateManyInput
  comments: CommentUpdateManyInput
  measurements: MeasurementUpdateManyInput
  setup: SetupUpdateOneRequiredInput
}

input MeasurementRunUpdateInput {
  name: String
  operators: UserUpdateManyInput
  location: String
  temperature: Float
  startTime: DateTime
  endTime: DateTime
  log: EventUpdateManyInput
  comments: CommentUpdateManyInput
  measurements: MeasurementUpdateManyInput
  setup: SetupUpdateOneRequiredInput
}

input MeasurementRunUpdateManyDataInput {
  name: String
  location: String
  temperature: Float
  startTime: DateTime
  endTime: DateTime
}

input MeasurementRunUpdateManyInput {
  create: [MeasurementRunCreateInput!]
  update: [MeasurementRunUpdateWithWhereUniqueNestedInput!]
  upsert: [MeasurementRunUpsertWithWhereUniqueNestedInput!]
  delete: [MeasurementRunWhereUniqueInput!]
  connect: [MeasurementRunWhereUniqueInput!]
  set: [MeasurementRunWhereUniqueInput!]
  disconnect: [MeasurementRunWhereUniqueInput!]
  deleteMany: [MeasurementRunScalarWhereInput!]
  updateMany: [MeasurementRunUpdateManyWithWhereNestedInput!]
}

input MeasurementRunUpdateManyMutationInput {
  name: String
  location: String
  temperature: Float
  startTime: DateTime
  endTime: DateTime
}

input MeasurementRunUpdateManyWithWhereNestedInput {
  where: MeasurementRunScalarWhereInput!
  data: MeasurementRunUpdateManyDataInput!
}

input MeasurementRunUpdateWithWhereUniqueNestedInput {
  where: MeasurementRunWhereUniqueInput!
  data: MeasurementRunUpdateDataInput!
}

input MeasurementRunUpsertWithWhereUniqueNestedInput {
  where: MeasurementRunWhereUniqueInput!
  update: MeasurementRunUpdateDataInput!
  create: MeasurementRunCreateInput!
}

input MeasurementRunWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  operators_every: UserWhereInput
  operators_some: UserWhereInput
  operators_none: UserWhereInput
  location: String
  location_not: String
  location_in: [String!]
  location_not_in: [String!]
  location_lt: String
  location_lte: String
  location_gt: String
  location_gte: String
  location_contains: String
  location_not_contains: String
  location_starts_with: String
  location_not_starts_with: String
  location_ends_with: String
  location_not_ends_with: String
  temperature: Float
  temperature_not: Float
  temperature_in: [Float!]
  temperature_not_in: [Float!]
  temperature_lt: Float
  temperature_lte: Float
  temperature_gt: Float
  temperature_gte: Float
  startTime: DateTime
  startTime_not: DateTime
  startTime_in: [DateTime!]
  startTime_not_in: [DateTime!]
  startTime_lt: DateTime
  startTime_lte: DateTime
  startTime_gt: DateTime
  startTime_gte: DateTime
  endTime: DateTime
  endTime_not: DateTime
  endTime_in: [DateTime!]
  endTime_not_in: [DateTime!]
  endTime_lt: DateTime
  endTime_lte: DateTime
  endTime_gt: DateTime
  endTime_gte: DateTime
  log_every: EventWhereInput
  log_some: EventWhereInput
  log_none: EventWhereInput
  comments_every: CommentWhereInput
  comments_some: CommentWhereInput
  comments_none: CommentWhereInput
  measurements_every: MeasurementWhereInput
  measurements_some: MeasurementWhereInput
  measurements_none: MeasurementWhereInput
  setup: SetupWhereInput
  AND: [MeasurementRunWhereInput!]
  OR: [MeasurementRunWhereInput!]
  NOT: [MeasurementRunWhereInput!]
}

input MeasurementRunWhereUniqueInput {
  id: ID
}

input MeasurementScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  createdAt: DateTime
  createdAt_not: DateTime
  createdAt_in: [DateTime!]
  createdAt_not_in: [DateTime!]
  createdAt_lt: DateTime
  createdAt_lte: DateTime
  createdAt_gt: DateTime
  createdAt_gte: DateTime
  intValue: Int
  intValue_not: Int
  intValue_in: [Int!]
  intValue_not_in: [Int!]
  intValue_lt: Int
  intValue_lte: Int
  intValue_gt: Int
  intValue_gte: Int
  floatValue: Float
  floatValue_not: Float
  floatValue_in: [Float!]
  floatValue_not_in: [Float!]
  floatValue_lt: Float
  floatValue_lte: Float
  floatValue_gt: Float
  floatValue_gte: Float
  stringValue: String
  stringValue_not: String
  stringValue_in: [String!]
  stringValue_not_in: [String!]
  stringValue_lt: String
  stringValue_lte: String
  stringValue_gt: String
  stringValue_gte: String
  stringValue_contains: String
  stringValue_not_contains: String
  stringValue_starts_with: String
  stringValue_not_starts_with: String
  stringValue_ends_with: String
  stringValue_not_ends_with: String
  AND: [MeasurementScalarWhereInput!]
  OR: [MeasurementScalarWhereInput!]
  NOT: [MeasurementScalarWhereInput!]
}

type MeasurementSubscriptionPayload {
  mutation: MutationType!
  node: Measurement
  updatedFields: [String!]
  previousValues: MeasurementPreviousValues
}

input MeasurementSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: MeasurementWhereInput
  AND: [MeasurementSubscriptionWhereInput!]
  OR: [MeasurementSubscriptionWhereInput!]
  NOT: [MeasurementSubscriptionWhereInput!]
}

input MeasurementUpdateDataInput {
  intValue: Int
  floatValue: Float
  stringValue: String
}

input MeasurementUpdateInput {
  intValue: Int
  floatValue: Float
  stringValue: String
}

input MeasurementUpdateManyDataInput {
  intValue: Int
  floatValue: Float
  stringValue: String
}

input MeasurementUpdateManyInput {
  create: [MeasurementCreateInput!]
  update: [MeasurementUpdateWithWhereUniqueNestedInput!]
  upsert: [MeasurementUpsertWithWhereUniqueNestedInput!]
  delete: [MeasurementWhereUniqueInput!]
  connect: [MeasurementWhereUniqueInput!]
  set: [MeasurementWhereUniqueInput!]
  disconnect: [MeasurementWhereUniqueInput!]
  deleteMany: [MeasurementScalarWhereInput!]
  updateMany: [MeasurementUpdateManyWithWhereNestedInput!]
}

input MeasurementUpdateManyMutationInput {
  intValue: Int
  floatValue: Float
  stringValue: String
}

input MeasurementUpdateManyWithWhereNestedInput {
  where: MeasurementScalarWhereInput!
  data: MeasurementUpdateManyDataInput!
}

input MeasurementUpdateWithWhereUniqueNestedInput {
  where: MeasurementWhereUniqueInput!
  data: MeasurementUpdateDataInput!
}

input MeasurementUpsertWithWhereUniqueNestedInput {
  where: MeasurementWhereUniqueInput!
  update: MeasurementUpdateDataInput!
  create: MeasurementCreateInput!
}

input MeasurementWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  createdAt: DateTime
  createdAt_not: DateTime
  createdAt_in: [DateTime!]
  createdAt_not_in: [DateTime!]
  createdAt_lt: DateTime
  createdAt_lte: DateTime
  createdAt_gt: DateTime
  createdAt_gte: DateTime
  intValue: Int
  intValue_not: Int
  intValue_in: [Int!]
  intValue_not_in: [Int!]
  intValue_lt: Int
  intValue_lte: Int
  intValue_gt: Int
  intValue_gte: Int
  floatValue: Float
  floatValue_not: Float
  floatValue_in: [Float!]
  floatValue_not_in: [Float!]
  floatValue_lt: Float
  floatValue_lte: Float
  floatValue_gt: Float
  floatValue_gte: Float
  stringValue: String
  stringValue_not: String
  stringValue_in: [String!]
  stringValue_not_in: [String!]
  stringValue_lt: String
  stringValue_lte: String
  stringValue_gt: String
  stringValue_gte: String
  stringValue_contains: String
  stringValue_not_contains: String
  stringValue_starts_with: String
  stringValue_not_starts_with: String
  stringValue_ends_with: String
  stringValue_not_ends_with: String
  AND: [MeasurementWhereInput!]
  OR: [MeasurementWhereInput!]
  NOT: [MeasurementWhereInput!]
}

input MeasurementWhereUniqueInput {
  id: ID
}

type Meta {
  id: ID!
  key: String!
  value: String!
}

type MetaConnection {
  pageInfo: PageInfo!
  edges: [MetaEdge]!
  aggregate: AggregateMeta!
}

input MetaCreateInput {
  key: String!
  value: String!
}

type MetaEdge {
  node: Meta!
  cursor: String!
}

enum MetaOrderByInput {
  id_ASC
  id_DESC
  key_ASC
  key_DESC
  value_ASC
  value_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type MetaPreviousValues {
  id: ID!
  key: String!
  value: String!
}

type MetaSubscriptionPayload {
  mutation: MutationType!
  node: Meta
  updatedFields: [String!]
  previousValues: MetaPreviousValues
}

input MetaSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: MetaWhereInput
  AND: [MetaSubscriptionWhereInput!]
  OR: [MetaSubscriptionWhereInput!]
  NOT: [MetaSubscriptionWhereInput!]
}

input MetaUpdateInput {
  key: String
  value: String
}

input MetaUpdateManyMutationInput {
  key: String
  value: String
}

input MetaWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  key: String
  key_not: String
  key_in: [String!]
  key_not_in: [String!]
  key_lt: String
  key_lte: String
  key_gt: String
  key_gte: String
  key_contains: String
  key_not_contains: String
  key_starts_with: String
  key_not_starts_with: String
  key_ends_with: String
  key_not_ends_with: String
  value: String
  value_not: String
  value_in: [String!]
  value_not_in: [String!]
  value_lt: String
  value_lte: String
  value_gt: String
  value_gte: String
  value_contains: String
  value_not_contains: String
  value_starts_with: String
  value_not_starts_with: String
  value_ends_with: String
  value_not_ends_with: String
  AND: [MetaWhereInput!]
  OR: [MetaWhereInput!]
  NOT: [MetaWhereInput!]
}

input MetaWhereUniqueInput {
  id: ID
}

type Mutation {
  createCharacterization(data: CharacterizationCreateInput!): Characterization!
  updateCharacterization(data: CharacterizationUpdateInput!, where: CharacterizationWhereUniqueInput!): Characterization
  updateManyCharacterizations(data: CharacterizationUpdateManyMutationInput!, where: CharacterizationWhereInput): BatchPayload!
  upsertCharacterization(where: CharacterizationWhereUniqueInput!, create: CharacterizationCreateInput!, update: CharacterizationUpdateInput!): Characterization!
  deleteCharacterization(where: CharacterizationWhereUniqueInput!): Characterization
  deleteManyCharacterizations(where: CharacterizationWhereInput): BatchPayload!
  createComment(data: CommentCreateInput!): Comment!
  updateComment(data: CommentUpdateInput!, where: CommentWhereUniqueInput!): Comment
  updateManyComments(data: CommentUpdateManyMutationInput!, where: CommentWhereInput): BatchPayload!
  upsertComment(where: CommentWhereUniqueInput!, create: CommentCreateInput!, update: CommentUpdateInput!): Comment!
  deleteComment(where: CommentWhereUniqueInput!): Comment
  deleteManyComments(where: CommentWhereInput): BatchPayload!
  createDUT(data: DUTCreateInput!): DUT!
  updateDUT(data: DUTUpdateInput!, where: DUTWhereUniqueInput!): DUT
  updateManyDUTs(data: DUTUpdateManyMutationInput!, where: DUTWhereInput): BatchPayload!
  upsertDUT(where: DUTWhereUniqueInput!, create: DUTCreateInput!, update: DUTUpdateInput!): DUT!
  deleteDUT(where: DUTWhereUniqueInput!): DUT
  deleteManyDUTs(where: DUTWhereInput): BatchPayload!
  createEvent(data: EventCreateInput!): Event!
  updateEvent(data: EventUpdateInput!, where: EventWhereUniqueInput!): Event
  updateManyEvents(data: EventUpdateManyMutationInput!, where: EventWhereInput): BatchPayload!
  upsertEvent(where: EventWhereUniqueInput!, create: EventCreateInput!, update: EventUpdateInput!): Event!
  deleteEvent(where: EventWhereUniqueInput!): Event
  deleteManyEvents(where: EventWhereInput): BatchPayload!
  createFile(data: FileCreateInput!): File!
  updateFile(data: FileUpdateInput!, where: FileWhereUniqueInput!): File
  updateManyFiles(data: FileUpdateManyMutationInput!, where: FileWhereInput): BatchPayload!
  upsertFile(where: FileWhereUniqueInput!, create: FileCreateInput!, update: FileUpdateInput!): File!
  deleteFile(where: FileWhereUniqueInput!): File
  deleteManyFiles(where: FileWhereInput): BatchPayload!
  createInstrument(data: InstrumentCreateInput!): Instrument!
  updateInstrument(data: InstrumentUpdateInput!, where: InstrumentWhereUniqueInput!): Instrument
  updateManyInstruments(data: InstrumentUpdateManyMutationInput!, where: InstrumentWhereInput): BatchPayload!
  upsertInstrument(where: InstrumentWhereUniqueInput!, create: InstrumentCreateInput!, update: InstrumentUpdateInput!): Instrument!
  deleteInstrument(where: InstrumentWhereUniqueInput!): Instrument
  deleteManyInstruments(where: InstrumentWhereInput): BatchPayload!
  createInstrumentCommand(data: InstrumentCommandCreateInput!): InstrumentCommand!
  updateInstrumentCommand(data: InstrumentCommandUpdateInput!, where: InstrumentCommandWhereUniqueInput!): InstrumentCommand
  updateManyInstrumentCommands(data: InstrumentCommandUpdateManyMutationInput!, where: InstrumentCommandWhereInput): BatchPayload!
  upsertInstrumentCommand(where: InstrumentCommandWhereUniqueInput!, create: InstrumentCommandCreateInput!, update: InstrumentCommandUpdateInput!): InstrumentCommand!
  deleteInstrumentCommand(where: InstrumentCommandWhereUniqueInput!): InstrumentCommand
  deleteManyInstrumentCommands(where: InstrumentCommandWhereInput): BatchPayload!
  createInstrumentInstance(data: InstrumentInstanceCreateInput!): InstrumentInstance!
  updateInstrumentInstance(data: InstrumentInstanceUpdateInput!, where: InstrumentInstanceWhereUniqueInput!): InstrumentInstance
  updateManyInstrumentInstances(data: InstrumentInstanceUpdateManyMutationInput!, where: InstrumentInstanceWhereInput): BatchPayload!
  upsertInstrumentInstance(where: InstrumentInstanceWhereUniqueInput!, create: InstrumentInstanceCreateInput!, update: InstrumentInstanceUpdateInput!): InstrumentInstance!
  deleteInstrumentInstance(where: InstrumentInstanceWhereUniqueInput!): InstrumentInstance
  deleteManyInstrumentInstances(where: InstrumentInstanceWhereInput): BatchPayload!
  createInstrumentParameter(data: InstrumentParameterCreateInput!): InstrumentParameter!
  updateInstrumentParameter(data: InstrumentParameterUpdateInput!, where: InstrumentParameterWhereUniqueInput!): InstrumentParameter
  updateManyInstrumentParameters(data: InstrumentParameterUpdateManyMutationInput!, where: InstrumentParameterWhereInput): BatchPayload!
  upsertInstrumentParameter(where: InstrumentParameterWhereUniqueInput!, create: InstrumentParameterCreateInput!, update: InstrumentParameterUpdateInput!): InstrumentParameter!
  deleteInstrumentParameter(where: InstrumentParameterWhereUniqueInput!): InstrumentParameter
  deleteManyInstrumentParameters(where: InstrumentParameterWhereInput): BatchPayload!
  createInstrumentSubsystem(data: InstrumentSubsystemCreateInput!): InstrumentSubsystem!
  updateInstrumentSubsystem(data: InstrumentSubsystemUpdateInput!, where: InstrumentSubsystemWhereUniqueInput!): InstrumentSubsystem
  updateManyInstrumentSubsystems(data: InstrumentSubsystemUpdateManyMutationInput!, where: InstrumentSubsystemWhereInput): BatchPayload!
  upsertInstrumentSubsystem(where: InstrumentSubsystemWhereUniqueInput!, create: InstrumentSubsystemCreateInput!, update: InstrumentSubsystemUpdateInput!): InstrumentSubsystem!
  deleteInstrumentSubsystem(where: InstrumentSubsystemWhereUniqueInput!): InstrumentSubsystem
  deleteManyInstrumentSubsystems(where: InstrumentSubsystemWhereInput): BatchPayload!
  createMeasurement(data: MeasurementCreateInput!): Measurement!
  updateMeasurement(data: MeasurementUpdateInput!, where: MeasurementWhereUniqueInput!): Measurement
  updateManyMeasurements(data: MeasurementUpdateManyMutationInput!, where: MeasurementWhereInput): BatchPayload!
  upsertMeasurement(where: MeasurementWhereUniqueInput!, create: MeasurementCreateInput!, update: MeasurementUpdateInput!): Measurement!
  deleteMeasurement(where: MeasurementWhereUniqueInput!): Measurement
  deleteManyMeasurements(where: MeasurementWhereInput): BatchPayload!
  createMeasurementRun(data: MeasurementRunCreateInput!): MeasurementRun!
  updateMeasurementRun(data: MeasurementRunUpdateInput!, where: MeasurementRunWhereUniqueInput!): MeasurementRun
  updateManyMeasurementRuns(data: MeasurementRunUpdateManyMutationInput!, where: MeasurementRunWhereInput): BatchPayload!
  upsertMeasurementRun(where: MeasurementRunWhereUniqueInput!, create: MeasurementRunCreateInput!, update: MeasurementRunUpdateInput!): MeasurementRun!
  deleteMeasurementRun(where: MeasurementRunWhereUniqueInput!): MeasurementRun
  deleteManyMeasurementRuns(where: MeasurementRunWhereInput): BatchPayload!
  createMeta(data: MetaCreateInput!): Meta!
  updateMeta(data: MetaUpdateInput!, where: MetaWhereUniqueInput!): Meta
  updateManyMetas(data: MetaUpdateManyMutationInput!, where: MetaWhereInput): BatchPayload!
  upsertMeta(where: MetaWhereUniqueInput!, create: MetaCreateInput!, update: MetaUpdateInput!): Meta!
  deleteMeta(where: MetaWhereUniqueInput!): Meta
  deleteManyMetas(where: MetaWhereInput): BatchPayload!
  createProject(data: ProjectCreateInput!): Project!
  updateProject(data: ProjectUpdateInput!, where: ProjectWhereUniqueInput!): Project
  updateManyProjects(data: ProjectUpdateManyMutationInput!, where: ProjectWhereInput): BatchPayload!
  upsertProject(where: ProjectWhereUniqueInput!, create: ProjectCreateInput!, update: ProjectUpdateInput!): Project!
  deleteProject(where: ProjectWhereUniqueInput!): Project
  deleteManyProjects(where: ProjectWhereInput): BatchPayload!
  createProjectVersion(data: ProjectVersionCreateInput!): ProjectVersion!
  updateProjectVersion(data: ProjectVersionUpdateInput!, where: ProjectVersionWhereUniqueInput!): ProjectVersion
  updateManyProjectVersions(data: ProjectVersionUpdateManyMutationInput!, where: ProjectVersionWhereInput): BatchPayload!
  upsertProjectVersion(where: ProjectVersionWhereUniqueInput!, create: ProjectVersionCreateInput!, update: ProjectVersionUpdateInput!): ProjectVersion!
  deleteProjectVersion(where: ProjectVersionWhereUniqueInput!): ProjectVersion
  deleteManyProjectVersions(where: ProjectVersionWhereInput): BatchPayload!
  createSetup(data: SetupCreateInput!): Setup!
  updateSetup(data: SetupUpdateInput!, where: SetupWhereUniqueInput!): Setup
  updateManySetups(data: SetupUpdateManyMutationInput!, where: SetupWhereInput): BatchPayload!
  upsertSetup(where: SetupWhereUniqueInput!, create: SetupCreateInput!, update: SetupUpdateInput!): Setup!
  deleteSetup(where: SetupWhereUniqueInput!): Setup
  deleteManySetups(where: SetupWhereInput): BatchPayload!
  createSetupHardware(data: SetupHardwareCreateInput!): SetupHardware!
  updateSetupHardware(data: SetupHardwareUpdateInput!, where: SetupHardwareWhereUniqueInput!): SetupHardware
  updateManySetupHardwares(data: SetupHardwareUpdateManyMutationInput!, where: SetupHardwareWhereInput): BatchPayload!
  upsertSetupHardware(where: SetupHardwareWhereUniqueInput!, create: SetupHardwareCreateInput!, update: SetupHardwareUpdateInput!): SetupHardware!
  deleteSetupHardware(where: SetupHardwareWhereUniqueInput!): SetupHardware
  deleteManySetupHardwares(where: SetupHardwareWhereInput): BatchPayload!
  createSetupHardwareInstance(data: SetupHardwareInstanceCreateInput!): SetupHardwareInstance!
  updateSetupHardwareInstance(data: SetupHardwareInstanceUpdateInput!, where: SetupHardwareInstanceWhereUniqueInput!): SetupHardwareInstance
  updateManySetupHardwareInstances(data: SetupHardwareInstanceUpdateManyMutationInput!, where: SetupHardwareInstanceWhereInput): BatchPayload!
  upsertSetupHardwareInstance(where: SetupHardwareInstanceWhereUniqueInput!, create: SetupHardwareInstanceCreateInput!, update: SetupHardwareInstanceUpdateInput!): SetupHardwareInstance!
  deleteSetupHardwareInstance(where: SetupHardwareInstanceWhereUniqueInput!): SetupHardwareInstance
  deleteManySetupHardwareInstances(where: SetupHardwareInstanceWhereInput): BatchPayload!
  createUser(data: UserCreateInput!): User!
  updateUser(data: UserUpdateInput!, where: UserWhereUniqueInput!): User
  updateManyUsers(data: UserUpdateManyMutationInput!, where: UserWhereInput): BatchPayload!
  upsertUser(where: UserWhereUniqueInput!, create: UserCreateInput!, update: UserUpdateInput!): User!
  deleteUser(where: UserWhereUniqueInput!): User
  deleteManyUsers(where: UserWhereInput): BatchPayload!
}

enum MutationType {
  CREATED
  UPDATED
  DELETED
}

interface Node {
  id: ID!
}

type PageInfo {
  hasNextPage: Boolean!
  hasPreviousPage: Boolean!
  startCursor: String
  endCursor: String
}

type Project {
  id: ID!
  name: String!
  abbreviation: String!
  description: String
  files(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File!]
  versions(where: ProjectVersionWhereInput, orderBy: ProjectVersionOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [ProjectVersion!]
}

type ProjectConnection {
  pageInfo: PageInfo!
  edges: [ProjectEdge]!
  aggregate: AggregateProject!
}

input ProjectCreateInput {
  name: String!
  abbreviation: String!
  description: String
  files: FileCreateManyInput
  versions: ProjectVersionCreateManyWithoutProjectInput
}

input ProjectCreateOneWithoutVersionsInput {
  create: ProjectCreateWithoutVersionsInput
  connect: ProjectWhereUniqueInput
}

input ProjectCreateWithoutVersionsInput {
  name: String!
  abbreviation: String!
  description: String
  files: FileCreateManyInput
}

type ProjectEdge {
  node: Project!
  cursor: String!
}

enum ProjectOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  abbreviation_ASC
  abbreviation_DESC
  description_ASC
  description_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type ProjectPreviousValues {
  id: ID!
  name: String!
  abbreviation: String!
  description: String
}

type ProjectSubscriptionPayload {
  mutation: MutationType!
  node: Project
  updatedFields: [String!]
  previousValues: ProjectPreviousValues
}

input ProjectSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: ProjectWhereInput
  AND: [ProjectSubscriptionWhereInput!]
  OR: [ProjectSubscriptionWhereInput!]
  NOT: [ProjectSubscriptionWhereInput!]
}

input ProjectUpdateInput {
  name: String
  abbreviation: String
  description: String
  files: FileUpdateManyInput
  versions: ProjectVersionUpdateManyWithoutProjectInput
}

input ProjectUpdateManyMutationInput {
  name: String
  abbreviation: String
  description: String
}

input ProjectUpdateOneRequiredWithoutVersionsInput {
  create: ProjectCreateWithoutVersionsInput
  update: ProjectUpdateWithoutVersionsDataInput
  upsert: ProjectUpsertWithoutVersionsInput
  connect: ProjectWhereUniqueInput
}

input ProjectUpdateWithoutVersionsDataInput {
  name: String
  abbreviation: String
  description: String
  files: FileUpdateManyInput
}

input ProjectUpsertWithoutVersionsInput {
  update: ProjectUpdateWithoutVersionsDataInput!
  create: ProjectCreateWithoutVersionsInput!
}

type ProjectVersion {
  id: ID!
  name: String!
  changes: [String!]!
  date: DateTime!
  project: Project!
}

type ProjectVersionConnection {
  pageInfo: PageInfo!
  edges: [ProjectVersionEdge]!
  aggregate: AggregateProjectVersion!
}

input ProjectVersionCreatechangesInput {
  set: [String!]
}

input ProjectVersionCreateInput {
  name: String!
  changes: ProjectVersionCreatechangesInput
  date: DateTime!
  project: ProjectCreateOneWithoutVersionsInput!
}

input ProjectVersionCreateManyWithoutProjectInput {
  create: [ProjectVersionCreateWithoutProjectInput!]
  connect: [ProjectVersionWhereUniqueInput!]
}

input ProjectVersionCreateOneInput {
  create: ProjectVersionCreateInput
  connect: ProjectVersionWhereUniqueInput
}

input ProjectVersionCreateWithoutProjectInput {
  name: String!
  changes: ProjectVersionCreatechangesInput
  date: DateTime!
}

type ProjectVersionEdge {
  node: ProjectVersion!
  cursor: String!
}

enum ProjectVersionOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  date_ASC
  date_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type ProjectVersionPreviousValues {
  id: ID!
  name: String!
  changes: [String!]!
  date: DateTime!
}

input ProjectVersionScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  date: DateTime
  date_not: DateTime
  date_in: [DateTime!]
  date_not_in: [DateTime!]
  date_lt: DateTime
  date_lte: DateTime
  date_gt: DateTime
  date_gte: DateTime
  AND: [ProjectVersionScalarWhereInput!]
  OR: [ProjectVersionScalarWhereInput!]
  NOT: [ProjectVersionScalarWhereInput!]
}

type ProjectVersionSubscriptionPayload {
  mutation: MutationType!
  node: ProjectVersion
  updatedFields: [String!]
  previousValues: ProjectVersionPreviousValues
}

input ProjectVersionSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: ProjectVersionWhereInput
  AND: [ProjectVersionSubscriptionWhereInput!]
  OR: [ProjectVersionSubscriptionWhereInput!]
  NOT: [ProjectVersionSubscriptionWhereInput!]
}

input ProjectVersionUpdatechangesInput {
  set: [String!]
}

input ProjectVersionUpdateDataInput {
  name: String
  changes: ProjectVersionUpdatechangesInput
  date: DateTime
  project: ProjectUpdateOneRequiredWithoutVersionsInput
}

input ProjectVersionUpdateInput {
  name: String
  changes: ProjectVersionUpdatechangesInput
  date: DateTime
  project: ProjectUpdateOneRequiredWithoutVersionsInput
}

input ProjectVersionUpdateManyDataInput {
  name: String
  changes: ProjectVersionUpdatechangesInput
  date: DateTime
}

input ProjectVersionUpdateManyMutationInput {
  name: String
  changes: ProjectVersionUpdatechangesInput
  date: DateTime
}

input ProjectVersionUpdateManyWithoutProjectInput {
  create: [ProjectVersionCreateWithoutProjectInput!]
  delete: [ProjectVersionWhereUniqueInput!]
  connect: [ProjectVersionWhereUniqueInput!]
  set: [ProjectVersionWhereUniqueInput!]
  disconnect: [ProjectVersionWhereUniqueInput!]
  update: [ProjectVersionUpdateWithWhereUniqueWithoutProjectInput!]
  upsert: [ProjectVersionUpsertWithWhereUniqueWithoutProjectInput!]
  deleteMany: [ProjectVersionScalarWhereInput!]
  updateMany: [ProjectVersionUpdateManyWithWhereNestedInput!]
}

input ProjectVersionUpdateManyWithWhereNestedInput {
  where: ProjectVersionScalarWhereInput!
  data: ProjectVersionUpdateManyDataInput!
}

input ProjectVersionUpdateOneRequiredInput {
  create: ProjectVersionCreateInput
  update: ProjectVersionUpdateDataInput
  upsert: ProjectVersionUpsertNestedInput
  connect: ProjectVersionWhereUniqueInput
}

input ProjectVersionUpdateWithoutProjectDataInput {
  name: String
  changes: ProjectVersionUpdatechangesInput
  date: DateTime
}

input ProjectVersionUpdateWithWhereUniqueWithoutProjectInput {
  where: ProjectVersionWhereUniqueInput!
  data: ProjectVersionUpdateWithoutProjectDataInput!
}

input ProjectVersionUpsertNestedInput {
  update: ProjectVersionUpdateDataInput!
  create: ProjectVersionCreateInput!
}

input ProjectVersionUpsertWithWhereUniqueWithoutProjectInput {
  where: ProjectVersionWhereUniqueInput!
  update: ProjectVersionUpdateWithoutProjectDataInput!
  create: ProjectVersionCreateWithoutProjectInput!
}

input ProjectVersionWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  date: DateTime
  date_not: DateTime
  date_in: [DateTime!]
  date_not_in: [DateTime!]
  date_lt: DateTime
  date_lte: DateTime
  date_gt: DateTime
  date_gte: DateTime
  project: ProjectWhereInput
  AND: [ProjectVersionWhereInput!]
  OR: [ProjectVersionWhereInput!]
  NOT: [ProjectVersionWhereInput!]
}

input ProjectVersionWhereUniqueInput {
  id: ID
  name: String
}

input ProjectWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  abbreviation: String
  abbreviation_not: String
  abbreviation_in: [String!]
  abbreviation_not_in: [String!]
  abbreviation_lt: String
  abbreviation_lte: String
  abbreviation_gt: String
  abbreviation_gte: String
  abbreviation_contains: String
  abbreviation_not_contains: String
  abbreviation_starts_with: String
  abbreviation_not_starts_with: String
  abbreviation_ends_with: String
  abbreviation_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  files_every: FileWhereInput
  files_some: FileWhereInput
  files_none: FileWhereInput
  versions_every: ProjectVersionWhereInput
  versions_some: ProjectVersionWhereInput
  versions_none: ProjectVersionWhereInput
  AND: [ProjectWhereInput!]
  OR: [ProjectWhereInput!]
  NOT: [ProjectWhereInput!]
}

input ProjectWhereUniqueInput {
  id: ID
  name: String
  abbreviation: String
}

type Query {
  characterization(where: CharacterizationWhereUniqueInput!): Characterization
  characterizations(where: CharacterizationWhereInput, orderBy: CharacterizationOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Characterization]!
  characterizationsConnection(where: CharacterizationWhereInput, orderBy: CharacterizationOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): CharacterizationConnection!
  comment(where: CommentWhereUniqueInput!): Comment
  comments(where: CommentWhereInput, orderBy: CommentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Comment]!
  commentsConnection(where: CommentWhereInput, orderBy: CommentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): CommentConnection!
  dUT(where: DUTWhereUniqueInput!): DUT
  dUTs(where: DUTWhereInput, orderBy: DUTOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [DUT]!
  dUTsConnection(where: DUTWhereInput, orderBy: DUTOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): DUTConnection!
  event(where: EventWhereUniqueInput!): Event
  events(where: EventWhereInput, orderBy: EventOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Event]!
  eventsConnection(where: EventWhereInput, orderBy: EventOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): EventConnection!
  file(where: FileWhereUniqueInput!): File
  files(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File]!
  filesConnection(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): FileConnection!
  instrument(where: InstrumentWhereUniqueInput!): Instrument
  instruments(where: InstrumentWhereInput, orderBy: InstrumentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Instrument]!
  instrumentsConnection(where: InstrumentWhereInput, orderBy: InstrumentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): InstrumentConnection!
  instrumentCommand(where: InstrumentCommandWhereUniqueInput!): InstrumentCommand
  instrumentCommands(where: InstrumentCommandWhereInput, orderBy: InstrumentCommandOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentCommand]!
  instrumentCommandsConnection(where: InstrumentCommandWhereInput, orderBy: InstrumentCommandOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): InstrumentCommandConnection!
  instrumentInstance(where: InstrumentInstanceWhereUniqueInput!): InstrumentInstance
  instrumentInstances(where: InstrumentInstanceWhereInput, orderBy: InstrumentInstanceOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentInstance]!
  instrumentInstancesConnection(where: InstrumentInstanceWhereInput, orderBy: InstrumentInstanceOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): InstrumentInstanceConnection!
  instrumentParameter(where: InstrumentParameterWhereUniqueInput!): InstrumentParameter
  instrumentParameters(where: InstrumentParameterWhereInput, orderBy: InstrumentParameterOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentParameter]!
  instrumentParametersConnection(where: InstrumentParameterWhereInput, orderBy: InstrumentParameterOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): InstrumentParameterConnection!
  instrumentSubsystem(where: InstrumentSubsystemWhereUniqueInput!): InstrumentSubsystem
  instrumentSubsystems(where: InstrumentSubsystemWhereInput, orderBy: InstrumentSubsystemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentSubsystem]!
  instrumentSubsystemsConnection(where: InstrumentSubsystemWhereInput, orderBy: InstrumentSubsystemOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): InstrumentSubsystemConnection!
  measurement(where: MeasurementWhereUniqueInput!): Measurement
  measurements(where: MeasurementWhereInput, orderBy: MeasurementOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Measurement]!
  measurementsConnection(where: MeasurementWhereInput, orderBy: MeasurementOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): MeasurementConnection!
  measurementRun(where: MeasurementRunWhereUniqueInput!): MeasurementRun
  measurementRuns(where: MeasurementRunWhereInput, orderBy: MeasurementRunOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [MeasurementRun]!
  measurementRunsConnection(where: MeasurementRunWhereInput, orderBy: MeasurementRunOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): MeasurementRunConnection!
  meta(where: MetaWhereUniqueInput!): Meta
  metas(where: MetaWhereInput, orderBy: MetaOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Meta]!
  metasConnection(where: MetaWhereInput, orderBy: MetaOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): MetaConnection!
  project(where: ProjectWhereUniqueInput!): Project
  projects(where: ProjectWhereInput, orderBy: ProjectOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Project]!
  projectsConnection(where: ProjectWhereInput, orderBy: ProjectOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): ProjectConnection!
  projectVersion(where: ProjectVersionWhereUniqueInput!): ProjectVersion
  projectVersions(where: ProjectVersionWhereInput, orderBy: ProjectVersionOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [ProjectVersion]!
  projectVersionsConnection(where: ProjectVersionWhereInput, orderBy: ProjectVersionOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): ProjectVersionConnection!
  setup(where: SetupWhereUniqueInput!): Setup
  setups(where: SetupWhereInput, orderBy: SetupOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Setup]!
  setupsConnection(where: SetupWhereInput, orderBy: SetupOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): SetupConnection!
  setupHardware(where: SetupHardwareWhereUniqueInput!): SetupHardware
  setupHardwares(where: SetupHardwareWhereInput, orderBy: SetupHardwareOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [SetupHardware]!
  setupHardwaresConnection(where: SetupHardwareWhereInput, orderBy: SetupHardwareOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): SetupHardwareConnection!
  setupHardwareInstance(where: SetupHardwareInstanceWhereUniqueInput!): SetupHardwareInstance
  setupHardwareInstances(where: SetupHardwareInstanceWhereInput, orderBy: SetupHardwareInstanceOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [SetupHardwareInstance]!
  setupHardwareInstancesConnection(where: SetupHardwareInstanceWhereInput, orderBy: SetupHardwareInstanceOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): SetupHardwareInstanceConnection!
  user(where: UserWhereUniqueInput!): User
  users(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [User]!
  usersConnection(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): UserConnection!
  node(id: ID!): Node
}

type Setup {
  id: ID!
  name: String!
  description: String!
  images(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File!]
  comments(where: CommentWhereInput, orderBy: CommentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Comment!]
  setupHardware(where: SetupHardwareInstanceWhereInput, orderBy: SetupHardwareInstanceOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [SetupHardwareInstance!]
  instruments(where: InstrumentInstanceWhereInput, orderBy: InstrumentInstanceOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [InstrumentInstance!]
}

type SetupConnection {
  pageInfo: PageInfo!
  edges: [SetupEdge]!
  aggregate: AggregateSetup!
}

input SetupCreateInput {
  name: String!
  description: String!
  images: FileCreateManyInput
  comments: CommentCreateManyInput
  setupHardware: SetupHardwareInstanceCreateManyInput
  instruments: InstrumentInstanceCreateManyInput
}

input SetupCreateOneInput {
  create: SetupCreateInput
  connect: SetupWhereUniqueInput
}

type SetupEdge {
  node: Setup!
  cursor: String!
}

type SetupHardware {
  id: ID!
  name: String!
  description: String
  images(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File!]
}

type SetupHardwareConnection {
  pageInfo: PageInfo!
  edges: [SetupHardwareEdge]!
  aggregate: AggregateSetupHardware!
}

input SetupHardwareCreateInput {
  name: String!
  description: String
  images: FileCreateManyInput
}

input SetupHardwareCreateOneInput {
  create: SetupHardwareCreateInput
  connect: SetupHardwareWhereUniqueInput
}

type SetupHardwareEdge {
  node: SetupHardware!
  cursor: String!
}

type SetupHardwareInstance {
  id: ID!
  setupHardware: SetupHardware!
  identifier: String!
  images(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File!]
}

type SetupHardwareInstanceConnection {
  pageInfo: PageInfo!
  edges: [SetupHardwareInstanceEdge]!
  aggregate: AggregateSetupHardwareInstance!
}

input SetupHardwareInstanceCreateInput {
  setupHardware: SetupHardwareCreateOneInput!
  identifier: String!
  images: FileCreateManyInput
}

input SetupHardwareInstanceCreateManyInput {
  create: [SetupHardwareInstanceCreateInput!]
  connect: [SetupHardwareInstanceWhereUniqueInput!]
}

type SetupHardwareInstanceEdge {
  node: SetupHardwareInstance!
  cursor: String!
}

enum SetupHardwareInstanceOrderByInput {
  id_ASC
  id_DESC
  identifier_ASC
  identifier_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type SetupHardwareInstancePreviousValues {
  id: ID!
  identifier: String!
}

input SetupHardwareInstanceScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  identifier: String
  identifier_not: String
  identifier_in: [String!]
  identifier_not_in: [String!]
  identifier_lt: String
  identifier_lte: String
  identifier_gt: String
  identifier_gte: String
  identifier_contains: String
  identifier_not_contains: String
  identifier_starts_with: String
  identifier_not_starts_with: String
  identifier_ends_with: String
  identifier_not_ends_with: String
  AND: [SetupHardwareInstanceScalarWhereInput!]
  OR: [SetupHardwareInstanceScalarWhereInput!]
  NOT: [SetupHardwareInstanceScalarWhereInput!]
}

type SetupHardwareInstanceSubscriptionPayload {
  mutation: MutationType!
  node: SetupHardwareInstance
  updatedFields: [String!]
  previousValues: SetupHardwareInstancePreviousValues
}

input SetupHardwareInstanceSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: SetupHardwareInstanceWhereInput
  AND: [SetupHardwareInstanceSubscriptionWhereInput!]
  OR: [SetupHardwareInstanceSubscriptionWhereInput!]
  NOT: [SetupHardwareInstanceSubscriptionWhereInput!]
}

input SetupHardwareInstanceUpdateDataInput {
  setupHardware: SetupHardwareUpdateOneRequiredInput
  identifier: String
  images: FileUpdateManyInput
}

input SetupHardwareInstanceUpdateInput {
  setupHardware: SetupHardwareUpdateOneRequiredInput
  identifier: String
  images: FileUpdateManyInput
}

input SetupHardwareInstanceUpdateManyDataInput {
  identifier: String
}

input SetupHardwareInstanceUpdateManyInput {
  create: [SetupHardwareInstanceCreateInput!]
  update: [SetupHardwareInstanceUpdateWithWhereUniqueNestedInput!]
  upsert: [SetupHardwareInstanceUpsertWithWhereUniqueNestedInput!]
  delete: [SetupHardwareInstanceWhereUniqueInput!]
  connect: [SetupHardwareInstanceWhereUniqueInput!]
  set: [SetupHardwareInstanceWhereUniqueInput!]
  disconnect: [SetupHardwareInstanceWhereUniqueInput!]
  deleteMany: [SetupHardwareInstanceScalarWhereInput!]
  updateMany: [SetupHardwareInstanceUpdateManyWithWhereNestedInput!]
}

input SetupHardwareInstanceUpdateManyMutationInput {
  identifier: String
}

input SetupHardwareInstanceUpdateManyWithWhereNestedInput {
  where: SetupHardwareInstanceScalarWhereInput!
  data: SetupHardwareInstanceUpdateManyDataInput!
}

input SetupHardwareInstanceUpdateWithWhereUniqueNestedInput {
  where: SetupHardwareInstanceWhereUniqueInput!
  data: SetupHardwareInstanceUpdateDataInput!
}

input SetupHardwareInstanceUpsertWithWhereUniqueNestedInput {
  where: SetupHardwareInstanceWhereUniqueInput!
  update: SetupHardwareInstanceUpdateDataInput!
  create: SetupHardwareInstanceCreateInput!
}

input SetupHardwareInstanceWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  setupHardware: SetupHardwareWhereInput
  identifier: String
  identifier_not: String
  identifier_in: [String!]
  identifier_not_in: [String!]
  identifier_lt: String
  identifier_lte: String
  identifier_gt: String
  identifier_gte: String
  identifier_contains: String
  identifier_not_contains: String
  identifier_starts_with: String
  identifier_not_starts_with: String
  identifier_ends_with: String
  identifier_not_ends_with: String
  images_every: FileWhereInput
  images_some: FileWhereInput
  images_none: FileWhereInput
  AND: [SetupHardwareInstanceWhereInput!]
  OR: [SetupHardwareInstanceWhereInput!]
  NOT: [SetupHardwareInstanceWhereInput!]
}

input SetupHardwareInstanceWhereUniqueInput {
  id: ID
}

enum SetupHardwareOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type SetupHardwarePreviousValues {
  id: ID!
  name: String!
  description: String
}

type SetupHardwareSubscriptionPayload {
  mutation: MutationType!
  node: SetupHardware
  updatedFields: [String!]
  previousValues: SetupHardwarePreviousValues
}

input SetupHardwareSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: SetupHardwareWhereInput
  AND: [SetupHardwareSubscriptionWhereInput!]
  OR: [SetupHardwareSubscriptionWhereInput!]
  NOT: [SetupHardwareSubscriptionWhereInput!]
}

input SetupHardwareUpdateDataInput {
  name: String
  description: String
  images: FileUpdateManyInput
}

input SetupHardwareUpdateInput {
  name: String
  description: String
  images: FileUpdateManyInput
}

input SetupHardwareUpdateManyMutationInput {
  name: String
  description: String
}

input SetupHardwareUpdateOneRequiredInput {
  create: SetupHardwareCreateInput
  update: SetupHardwareUpdateDataInput
  upsert: SetupHardwareUpsertNestedInput
  connect: SetupHardwareWhereUniqueInput
}

input SetupHardwareUpsertNestedInput {
  update: SetupHardwareUpdateDataInput!
  create: SetupHardwareCreateInput!
}

input SetupHardwareWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  images_every: FileWhereInput
  images_some: FileWhereInput
  images_none: FileWhereInput
  AND: [SetupHardwareWhereInput!]
  OR: [SetupHardwareWhereInput!]
  NOT: [SetupHardwareWhereInput!]
}

input SetupHardwareWhereUniqueInput {
  id: ID
}

enum SetupOrderByInput {
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  description_ASC
  description_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type SetupPreviousValues {
  id: ID!
  name: String!
  description: String!
}

type SetupSubscriptionPayload {
  mutation: MutationType!
  node: Setup
  updatedFields: [String!]
  previousValues: SetupPreviousValues
}

input SetupSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: SetupWhereInput
  AND: [SetupSubscriptionWhereInput!]
  OR: [SetupSubscriptionWhereInput!]
  NOT: [SetupSubscriptionWhereInput!]
}

input SetupUpdateDataInput {
  name: String
  description: String
  images: FileUpdateManyInput
  comments: CommentUpdateManyInput
  setupHardware: SetupHardwareInstanceUpdateManyInput
  instruments: InstrumentInstanceUpdateManyInput
}

input SetupUpdateInput {
  name: String
  description: String
  images: FileUpdateManyInput
  comments: CommentUpdateManyInput
  setupHardware: SetupHardwareInstanceUpdateManyInput
  instruments: InstrumentInstanceUpdateManyInput
}

input SetupUpdateManyMutationInput {
  name: String
  description: String
}

input SetupUpdateOneRequiredInput {
  create: SetupCreateInput
  update: SetupUpdateDataInput
  upsert: SetupUpsertNestedInput
  connect: SetupWhereUniqueInput
}

input SetupUpsertNestedInput {
  update: SetupUpdateDataInput!
  create: SetupCreateInput!
}

input SetupWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  description: String
  description_not: String
  description_in: [String!]
  description_not_in: [String!]
  description_lt: String
  description_lte: String
  description_gt: String
  description_gte: String
  description_contains: String
  description_not_contains: String
  description_starts_with: String
  description_not_starts_with: String
  description_ends_with: String
  description_not_ends_with: String
  images_every: FileWhereInput
  images_some: FileWhereInput
  images_none: FileWhereInput
  comments_every: CommentWhereInput
  comments_some: CommentWhereInput
  comments_none: CommentWhereInput
  setupHardware_every: SetupHardwareInstanceWhereInput
  setupHardware_some: SetupHardwareInstanceWhereInput
  setupHardware_none: SetupHardwareInstanceWhereInput
  instruments_every: InstrumentInstanceWhereInput
  instruments_some: InstrumentInstanceWhereInput
  instruments_none: InstrumentInstanceWhereInput
  AND: [SetupWhereInput!]
  OR: [SetupWhereInput!]
  NOT: [SetupWhereInput!]
}

input SetupWhereUniqueInput {
  id: ID
}

type Subscription {
  characterization(where: CharacterizationSubscriptionWhereInput): CharacterizationSubscriptionPayload
  comment(where: CommentSubscriptionWhereInput): CommentSubscriptionPayload
  dUT(where: DUTSubscriptionWhereInput): DUTSubscriptionPayload
  event(where: EventSubscriptionWhereInput): EventSubscriptionPayload
  file(where: FileSubscriptionWhereInput): FileSubscriptionPayload
  instrument(where: InstrumentSubscriptionWhereInput): InstrumentSubscriptionPayload
  instrumentCommand(where: InstrumentCommandSubscriptionWhereInput): InstrumentCommandSubscriptionPayload
  instrumentInstance(where: InstrumentInstanceSubscriptionWhereInput): InstrumentInstanceSubscriptionPayload
  instrumentParameter(where: InstrumentParameterSubscriptionWhereInput): InstrumentParameterSubscriptionPayload
  instrumentSubsystem(where: InstrumentSubsystemSubscriptionWhereInput): InstrumentSubsystemSubscriptionPayload
  measurement(where: MeasurementSubscriptionWhereInput): MeasurementSubscriptionPayload
  measurementRun(where: MeasurementRunSubscriptionWhereInput): MeasurementRunSubscriptionPayload
  meta(where: MetaSubscriptionWhereInput): MetaSubscriptionPayload
  project(where: ProjectSubscriptionWhereInput): ProjectSubscriptionPayload
  projectVersion(where: ProjectVersionSubscriptionWhereInput): ProjectVersionSubscriptionPayload
  setup(where: SetupSubscriptionWhereInput): SetupSubscriptionPayload
  setupHardware(where: SetupHardwareSubscriptionWhereInput): SetupHardwareSubscriptionPayload
  setupHardwareInstance(where: SetupHardwareInstanceSubscriptionWhereInput): SetupHardwareInstanceSubscriptionPayload
  user(where: UserSubscriptionWhereInput): UserSubscriptionPayload
}

type User {
  id: ID!
  email: String!
  name: String!
  abbreviation: String!
  password: String!
  images(where: FileWhereInput, orderBy: FileOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [File!]
}

type UserConnection {
  pageInfo: PageInfo!
  edges: [UserEdge]!
  aggregate: AggregateUser!
}

input UserCreateInput {
  email: String!
  name: String!
  abbreviation: String!
  password: String!
  images: FileCreateManyInput
}

input UserCreateManyInput {
  create: [UserCreateInput!]
  connect: [UserWhereUniqueInput!]
}

type UserEdge {
  node: User!
  cursor: String!
}

enum UserOrderByInput {
  id_ASC
  id_DESC
  email_ASC
  email_DESC
  name_ASC
  name_DESC
  abbreviation_ASC
  abbreviation_DESC
  password_ASC
  password_DESC
  createdAt_ASC
  createdAt_DESC
  updatedAt_ASC
  updatedAt_DESC
}

type UserPreviousValues {
  id: ID!
  email: String!
  name: String!
  abbreviation: String!
  password: String!
}

input UserScalarWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  email: String
  email_not: String
  email_in: [String!]
  email_not_in: [String!]
  email_lt: String
  email_lte: String
  email_gt: String
  email_gte: String
  email_contains: String
  email_not_contains: String
  email_starts_with: String
  email_not_starts_with: String
  email_ends_with: String
  email_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  abbreviation: String
  abbreviation_not: String
  abbreviation_in: [String!]
  abbreviation_not_in: [String!]
  abbreviation_lt: String
  abbreviation_lte: String
  abbreviation_gt: String
  abbreviation_gte: String
  abbreviation_contains: String
  abbreviation_not_contains: String
  abbreviation_starts_with: String
  abbreviation_not_starts_with: String
  abbreviation_ends_with: String
  abbreviation_not_ends_with: String
  password: String
  password_not: String
  password_in: [String!]
  password_not_in: [String!]
  password_lt: String
  password_lte: String
  password_gt: String
  password_gte: String
  password_contains: String
  password_not_contains: String
  password_starts_with: String
  password_not_starts_with: String
  password_ends_with: String
  password_not_ends_with: String
  AND: [UserScalarWhereInput!]
  OR: [UserScalarWhereInput!]
  NOT: [UserScalarWhereInput!]
}

type UserSubscriptionPayload {
  mutation: MutationType!
  node: User
  updatedFields: [String!]
  previousValues: UserPreviousValues
}

input UserSubscriptionWhereInput {
  mutation_in: [MutationType!]
  updatedFields_contains: String
  updatedFields_contains_every: [String!]
  updatedFields_contains_some: [String!]
  node: UserWhereInput
  AND: [UserSubscriptionWhereInput!]
  OR: [UserSubscriptionWhereInput!]
  NOT: [UserSubscriptionWhereInput!]
}

input UserUpdateDataInput {
  email: String
  name: String
  abbreviation: String
  password: String
  images: FileUpdateManyInput
}

input UserUpdateInput {
  email: String
  name: String
  abbreviation: String
  password: String
  images: FileUpdateManyInput
}

input UserUpdateManyDataInput {
  email: String
  name: String
  abbreviation: String
  password: String
}

input UserUpdateManyInput {
  create: [UserCreateInput!]
  update: [UserUpdateWithWhereUniqueNestedInput!]
  upsert: [UserUpsertWithWhereUniqueNestedInput!]
  delete: [UserWhereUniqueInput!]
  connect: [UserWhereUniqueInput!]
  set: [UserWhereUniqueInput!]
  disconnect: [UserWhereUniqueInput!]
  deleteMany: [UserScalarWhereInput!]
  updateMany: [UserUpdateManyWithWhereNestedInput!]
}

input UserUpdateManyMutationInput {
  email: String
  name: String
  abbreviation: String
  password: String
}

input UserUpdateManyWithWhereNestedInput {
  where: UserScalarWhereInput!
  data: UserUpdateManyDataInput!
}

input UserUpdateWithWhereUniqueNestedInput {
  where: UserWhereUniqueInput!
  data: UserUpdateDataInput!
}

input UserUpsertWithWhereUniqueNestedInput {
  where: UserWhereUniqueInput!
  update: UserUpdateDataInput!
  create: UserCreateInput!
}

input UserWhereInput {
  id: ID
  id_not: ID
  id_in: [ID!]
  id_not_in: [ID!]
  id_lt: ID
  id_lte: ID
  id_gt: ID
  id_gte: ID
  id_contains: ID
  id_not_contains: ID
  id_starts_with: ID
  id_not_starts_with: ID
  id_ends_with: ID
  id_not_ends_with: ID
  email: String
  email_not: String
  email_in: [String!]
  email_not_in: [String!]
  email_lt: String
  email_lte: String
  email_gt: String
  email_gte: String
  email_contains: String
  email_not_contains: String
  email_starts_with: String
  email_not_starts_with: String
  email_ends_with: String
  email_not_ends_with: String
  name: String
  name_not: String
  name_in: [String!]
  name_not_in: [String!]
  name_lt: String
  name_lte: String
  name_gt: String
  name_gte: String
  name_contains: String
  name_not_contains: String
  name_starts_with: String
  name_not_starts_with: String
  name_ends_with: String
  name_not_ends_with: String
  abbreviation: String
  abbreviation_not: String
  abbreviation_in: [String!]
  abbreviation_not_in: [String!]
  abbreviation_lt: String
  abbreviation_lte: String
  abbreviation_gt: String
  abbreviation_gte: String
  abbreviation_contains: String
  abbreviation_not_contains: String
  abbreviation_starts_with: String
  abbreviation_not_starts_with: String
  abbreviation_ends_with: String
  abbreviation_not_ends_with: String
  password: String
  password_not: String
  password_in: [String!]
  password_not_in: [String!]
  password_lt: String
  password_lte: String
  password_gt: String
  password_gte: String
  password_contains: String
  password_not_contains: String
  password_starts_with: String
  password_not_starts_with: String
  password_ends_with: String
  password_not_ends_with: String
  images_every: FileWhereInput
  images_some: FileWhereInput
  images_none: FileWhereInput
  AND: [UserWhereInput!]
  OR: [UserWhereInput!]
  NOT: [UserWhereInput!]
}

input UserWhereUniqueInput {
  id: ID
  email: String
}
`
      }