{- This file was auto-generated from tensorflow/core/framework/op_def.proto by the proto-lens-protoc program. -}
{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
  PatternSynonyms #-}
{-# OPTIONS_GHC -fno-warn-unused-imports#-}
module Proto.Tensorflow.Core.Framework.OpDef where
import qualified Prelude
import qualified Data.Int
import qualified Data.Word
import qualified Data.ProtoLens.Reexport.Data.ProtoLens
       as Data.ProtoLens
import qualified
       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
       as Data.ProtoLens.Message.Enum
import qualified Data.ProtoLens.Reexport.Lens.Family2
       as Lens.Family2
import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
       as Lens.Family2.Unchecked
import qualified Data.ProtoLens.Reexport.Data.Default.Class
       as Data.Default.Class
import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
import qualified Data.ProtoLens.Reexport.Data.ByteString
       as Data.ByteString
import qualified Proto.Tensorflow.Core.Framework.AttrValue
import qualified Proto.Tensorflow.Core.Framework.Types

data OpDef = OpDef{_OpDef'name :: Data.Text.Text,
                   _OpDef'inputArg :: [OpDef'ArgDef],
                   _OpDef'outputArg :: [OpDef'ArgDef], _OpDef'attr :: [OpDef'AttrDef],
                   _OpDef'deprecation :: Prelude.Maybe OpDeprecation,
                   _OpDef'summary :: Data.Text.Text,
                   _OpDef'description :: Data.Text.Text,
                   _OpDef'isCommutative :: Prelude.Bool,
                   _OpDef'isAggregate :: Prelude.Bool,
                   _OpDef'isStateful :: Prelude.Bool,
                   _OpDef'allowsUninitializedInput :: Prelude.Bool}
           deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "name" OpDef = Data.Text.Text

instance Data.ProtoLens.HasField "name" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'name
              (\ x__ y__ -> x__{_OpDef'name = y__})

type instance Data.ProtoLens.Field "inputArg" OpDef =
     [OpDef'ArgDef]

instance Data.ProtoLens.HasField "inputArg" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'inputArg
              (\ x__ y__ -> x__{_OpDef'inputArg = y__})

type instance Data.ProtoLens.Field "outputArg" OpDef =
     [OpDef'ArgDef]

instance Data.ProtoLens.HasField "outputArg" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'outputArg
              (\ x__ y__ -> x__{_OpDef'outputArg = y__})

type instance Data.ProtoLens.Field "attr" OpDef = [OpDef'AttrDef]

instance Data.ProtoLens.HasField "attr" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'attr
              (\ x__ y__ -> x__{_OpDef'attr = y__})

type instance Data.ProtoLens.Field "deprecation" OpDef =
     OpDeprecation

instance Data.ProtoLens.HasField "deprecation" OpDef OpDef where
        field _
          = (Prelude..) maybe'deprecation
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance Data.ProtoLens.Field "maybe'deprecation" OpDef =
     Prelude.Maybe OpDeprecation

instance Data.ProtoLens.HasField "maybe'deprecation" OpDef OpDef
         where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'deprecation
              (\ x__ y__ -> x__{_OpDef'deprecation = y__})

type instance Data.ProtoLens.Field "summary" OpDef = Data.Text.Text

instance Data.ProtoLens.HasField "summary" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'summary
              (\ x__ y__ -> x__{_OpDef'summary = y__})

type instance Data.ProtoLens.Field "description" OpDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "description" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'description
              (\ x__ y__ -> x__{_OpDef'description = y__})

type instance Data.ProtoLens.Field "isCommutative" OpDef =
     Prelude.Bool

instance Data.ProtoLens.HasField "isCommutative" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'isCommutative
              (\ x__ y__ -> x__{_OpDef'isCommutative = y__})

type instance Data.ProtoLens.Field "isAggregate" OpDef =
     Prelude.Bool

instance Data.ProtoLens.HasField "isAggregate" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'isAggregate
              (\ x__ y__ -> x__{_OpDef'isAggregate = y__})

type instance Data.ProtoLens.Field "isStateful" OpDef =
     Prelude.Bool

instance Data.ProtoLens.HasField "isStateful" OpDef OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'isStateful
              (\ x__ y__ -> x__{_OpDef'isStateful = y__})

type instance Data.ProtoLens.Field "allowsUninitializedInput" OpDef
     = Prelude.Bool

instance Data.ProtoLens.HasField "allowsUninitializedInput" OpDef
         OpDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'allowsUninitializedInput
              (\ x__ y__ -> x__{_OpDef'allowsUninitializedInput = y__})

instance Data.Default.Class.Default OpDef where
        def
          = OpDef{_OpDef'name = Data.ProtoLens.fieldDefault,
                  _OpDef'inputArg = [], _OpDef'outputArg = [], _OpDef'attr = [],
                  _OpDef'deprecation = Prelude.Nothing,
                  _OpDef'summary = Data.ProtoLens.fieldDefault,
                  _OpDef'description = Data.ProtoLens.fieldDefault,
                  _OpDef'isCommutative = Data.ProtoLens.fieldDefault,
                  _OpDef'isAggregate = Data.ProtoLens.fieldDefault,
                  _OpDef'isStateful = Data.ProtoLens.fieldDefault,
                  _OpDef'allowsUninitializedInput = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message OpDef where
        descriptor
          = let name__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional name)
                inputArg__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "input_arg"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor OpDef'ArgDef)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked inputArg)
                outputArg__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "output_arg"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor OpDef'ArgDef)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked outputArg)
                attr__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "attr"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor OpDef'AttrDef)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked attr)
                deprecation__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "deprecation"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor OpDeprecation)
                      (Data.ProtoLens.OptionalField maybe'deprecation)
                summary__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "summary"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional summary)
                description__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "description"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional description)
                isCommutative__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "is_commutative"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional isCommutative)
                isAggregate__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "is_aggregate"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional isAggregate)
                isStateful__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "is_stateful"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional isStateful)
                allowsUninitializedInput__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allows_uninitialized_input"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         allowsUninitializedInput)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, name__field_descriptor),
                    (Data.ProtoLens.Tag 2, inputArg__field_descriptor),
                    (Data.ProtoLens.Tag 3, outputArg__field_descriptor),
                    (Data.ProtoLens.Tag 4, attr__field_descriptor),
                    (Data.ProtoLens.Tag 8, deprecation__field_descriptor),
                    (Data.ProtoLens.Tag 5, summary__field_descriptor),
                    (Data.ProtoLens.Tag 6, description__field_descriptor),
                    (Data.ProtoLens.Tag 18, isCommutative__field_descriptor),
                    (Data.ProtoLens.Tag 16, isAggregate__field_descriptor),
                    (Data.ProtoLens.Tag 17, isStateful__field_descriptor),
                    (Data.ProtoLens.Tag 19,
                     allowsUninitializedInput__field_descriptor)])
                (Data.Map.fromList
                   [("name", name__field_descriptor),
                    ("input_arg", inputArg__field_descriptor),
                    ("output_arg", outputArg__field_descriptor),
                    ("attr", attr__field_descriptor),
                    ("deprecation", deprecation__field_descriptor),
                    ("summary", summary__field_descriptor),
                    ("description", description__field_descriptor),
                    ("is_commutative", isCommutative__field_descriptor),
                    ("is_aggregate", isAggregate__field_descriptor),
                    ("is_stateful", isStateful__field_descriptor),
                    ("allows_uninitialized_input",
                     allowsUninitializedInput__field_descriptor)])

data OpDef'ArgDef = OpDef'ArgDef{_OpDef'ArgDef'name ::
                                 Data.Text.Text,
                                 _OpDef'ArgDef'description :: Data.Text.Text,
                                 _OpDef'ArgDef'type' ::
                                 Proto.Tensorflow.Core.Framework.Types.DataType,
                                 _OpDef'ArgDef'typeAttr :: Data.Text.Text,
                                 _OpDef'ArgDef'numberAttr :: Data.Text.Text,
                                 _OpDef'ArgDef'typeListAttr :: Data.Text.Text,
                                 _OpDef'ArgDef'isRef :: Prelude.Bool}
                  deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "name" OpDef'ArgDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "name" OpDef'ArgDef OpDef'ArgDef
         where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'name
              (\ x__ y__ -> x__{_OpDef'ArgDef'name = y__})

type instance Data.ProtoLens.Field "description" OpDef'ArgDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "description" OpDef'ArgDef
         OpDef'ArgDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'description
              (\ x__ y__ -> x__{_OpDef'ArgDef'description = y__})

type instance Data.ProtoLens.Field "type'" OpDef'ArgDef =
     Proto.Tensorflow.Core.Framework.Types.DataType

instance Data.ProtoLens.HasField "type'" OpDef'ArgDef OpDef'ArgDef
         where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'type'
              (\ x__ y__ -> x__{_OpDef'ArgDef'type' = y__})

type instance Data.ProtoLens.Field "typeAttr" OpDef'ArgDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "typeAttr" OpDef'ArgDef
         OpDef'ArgDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'typeAttr
              (\ x__ y__ -> x__{_OpDef'ArgDef'typeAttr = y__})

type instance Data.ProtoLens.Field "numberAttr" OpDef'ArgDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "numberAttr" OpDef'ArgDef
         OpDef'ArgDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'numberAttr
              (\ x__ y__ -> x__{_OpDef'ArgDef'numberAttr = y__})

type instance Data.ProtoLens.Field "typeListAttr" OpDef'ArgDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "typeListAttr" OpDef'ArgDef
         OpDef'ArgDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'typeListAttr
              (\ x__ y__ -> x__{_OpDef'ArgDef'typeListAttr = y__})

type instance Data.ProtoLens.Field "isRef" OpDef'ArgDef =
     Prelude.Bool

instance Data.ProtoLens.HasField "isRef" OpDef'ArgDef OpDef'ArgDef
         where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'ArgDef'isRef
              (\ x__ y__ -> x__{_OpDef'ArgDef'isRef = y__})

instance Data.Default.Class.Default OpDef'ArgDef where
        def
          = OpDef'ArgDef{_OpDef'ArgDef'name = Data.ProtoLens.fieldDefault,
                         _OpDef'ArgDef'description = Data.ProtoLens.fieldDefault,
                         _OpDef'ArgDef'type' = Data.Default.Class.def,
                         _OpDef'ArgDef'typeAttr = Data.ProtoLens.fieldDefault,
                         _OpDef'ArgDef'numberAttr = Data.ProtoLens.fieldDefault,
                         _OpDef'ArgDef'typeListAttr = Data.ProtoLens.fieldDefault,
                         _OpDef'ArgDef'isRef = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message OpDef'ArgDef where
        descriptor
          = let name__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional name)
                description__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "description"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional description)
                type'__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "type"
                      (Data.ProtoLens.EnumField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.Types.DataType)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional type')
                typeAttr__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "type_attr"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional typeAttr)
                numberAttr__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "number_attr"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional numberAttr)
                typeListAttr__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "type_list_attr"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional typeListAttr)
                isRef__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "is_ref"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional isRef)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, name__field_descriptor),
                    (Data.ProtoLens.Tag 2, description__field_descriptor),
                    (Data.ProtoLens.Tag 3, type'__field_descriptor),
                    (Data.ProtoLens.Tag 4, typeAttr__field_descriptor),
                    (Data.ProtoLens.Tag 5, numberAttr__field_descriptor),
                    (Data.ProtoLens.Tag 6, typeListAttr__field_descriptor),
                    (Data.ProtoLens.Tag 16, isRef__field_descriptor)])
                (Data.Map.fromList
                   [("name", name__field_descriptor),
                    ("description", description__field_descriptor),
                    ("type", type'__field_descriptor),
                    ("type_attr", typeAttr__field_descriptor),
                    ("number_attr", numberAttr__field_descriptor),
                    ("type_list_attr", typeListAttr__field_descriptor),
                    ("is_ref", isRef__field_descriptor)])

data OpDef'AttrDef = OpDef'AttrDef{_OpDef'AttrDef'name ::
                                   Data.Text.Text,
                                   _OpDef'AttrDef'type' :: Data.Text.Text,
                                   _OpDef'AttrDef'defaultValue ::
                                   Prelude.Maybe
                                     Proto.Tensorflow.Core.Framework.AttrValue.AttrValue,
                                   _OpDef'AttrDef'description :: Data.Text.Text,
                                   _OpDef'AttrDef'hasMinimum :: Prelude.Bool,
                                   _OpDef'AttrDef'minimum :: Data.Int.Int64,
                                   _OpDef'AttrDef'allowedValues ::
                                   Prelude.Maybe
                                     Proto.Tensorflow.Core.Framework.AttrValue.AttrValue}
                   deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "name" OpDef'AttrDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "name" OpDef'AttrDef OpDef'AttrDef
         where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'name
              (\ x__ y__ -> x__{_OpDef'AttrDef'name = y__})

type instance Data.ProtoLens.Field "type'" OpDef'AttrDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "type'" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'type'
              (\ x__ y__ -> x__{_OpDef'AttrDef'type' = y__})

type instance Data.ProtoLens.Field "defaultValue" OpDef'AttrDef =
     Proto.Tensorflow.Core.Framework.AttrValue.AttrValue

instance Data.ProtoLens.HasField "defaultValue" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = (Prelude..) maybe'defaultValue
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance
     Data.ProtoLens.Field "maybe'defaultValue" OpDef'AttrDef =
     Prelude.Maybe Proto.Tensorflow.Core.Framework.AttrValue.AttrValue

instance Data.ProtoLens.HasField "maybe'defaultValue" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'defaultValue
              (\ x__ y__ -> x__{_OpDef'AttrDef'defaultValue = y__})

type instance Data.ProtoLens.Field "description" OpDef'AttrDef =
     Data.Text.Text

instance Data.ProtoLens.HasField "description" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'description
              (\ x__ y__ -> x__{_OpDef'AttrDef'description = y__})

type instance Data.ProtoLens.Field "hasMinimum" OpDef'AttrDef =
     Prelude.Bool

instance Data.ProtoLens.HasField "hasMinimum" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'hasMinimum
              (\ x__ y__ -> x__{_OpDef'AttrDef'hasMinimum = y__})

type instance Data.ProtoLens.Field "minimum" OpDef'AttrDef =
     Data.Int.Int64

instance Data.ProtoLens.HasField "minimum" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'minimum
              (\ x__ y__ -> x__{_OpDef'AttrDef'minimum = y__})

type instance Data.ProtoLens.Field "allowedValues" OpDef'AttrDef =
     Proto.Tensorflow.Core.Framework.AttrValue.AttrValue

instance Data.ProtoLens.HasField "allowedValues" OpDef'AttrDef
         OpDef'AttrDef where
        field _
          = (Prelude..) maybe'allowedValues
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance
     Data.ProtoLens.Field "maybe'allowedValues" OpDef'AttrDef =
     Prelude.Maybe Proto.Tensorflow.Core.Framework.AttrValue.AttrValue

instance Data.ProtoLens.HasField "maybe'allowedValues"
         OpDef'AttrDef OpDef'AttrDef where
        field _
          = Lens.Family2.Unchecked.lens _OpDef'AttrDef'allowedValues
              (\ x__ y__ -> x__{_OpDef'AttrDef'allowedValues = y__})

instance Data.Default.Class.Default OpDef'AttrDef where
        def
          = OpDef'AttrDef{_OpDef'AttrDef'name = Data.ProtoLens.fieldDefault,
                          _OpDef'AttrDef'type' = Data.ProtoLens.fieldDefault,
                          _OpDef'AttrDef'defaultValue = Prelude.Nothing,
                          _OpDef'AttrDef'description = Data.ProtoLens.fieldDefault,
                          _OpDef'AttrDef'hasMinimum = Data.ProtoLens.fieldDefault,
                          _OpDef'AttrDef'minimum = Data.ProtoLens.fieldDefault,
                          _OpDef'AttrDef'allowedValues = Prelude.Nothing}

instance Data.ProtoLens.Message OpDef'AttrDef where
        descriptor
          = let name__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional name)
                type'__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "type"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional type')
                defaultValue__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "default_value"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.AttrValue.AttrValue)
                      (Data.ProtoLens.OptionalField maybe'defaultValue)
                description__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "description"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional description)
                hasMinimum__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "has_minimum"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional hasMinimum)
                minimum__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "minimum"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional minimum)
                allowedValues__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allowed_values"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.AttrValue.AttrValue)
                      (Data.ProtoLens.OptionalField maybe'allowedValues)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, name__field_descriptor),
                    (Data.ProtoLens.Tag 2, type'__field_descriptor),
                    (Data.ProtoLens.Tag 3, defaultValue__field_descriptor),
                    (Data.ProtoLens.Tag 4, description__field_descriptor),
                    (Data.ProtoLens.Tag 5, hasMinimum__field_descriptor),
                    (Data.ProtoLens.Tag 6, minimum__field_descriptor),
                    (Data.ProtoLens.Tag 7, allowedValues__field_descriptor)])
                (Data.Map.fromList
                   [("name", name__field_descriptor),
                    ("type", type'__field_descriptor),
                    ("default_value", defaultValue__field_descriptor),
                    ("description", description__field_descriptor),
                    ("has_minimum", hasMinimum__field_descriptor),
                    ("minimum", minimum__field_descriptor),
                    ("allowed_values", allowedValues__field_descriptor)])

data OpDeprecation = OpDeprecation{_OpDeprecation'version ::
                                   Data.Int.Int32,
                                   _OpDeprecation'explanation :: Data.Text.Text}
                   deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "version" OpDeprecation =
     Data.Int.Int32

instance Data.ProtoLens.HasField "version" OpDeprecation
         OpDeprecation where
        field _
          = Lens.Family2.Unchecked.lens _OpDeprecation'version
              (\ x__ y__ -> x__{_OpDeprecation'version = y__})

type instance Data.ProtoLens.Field "explanation" OpDeprecation =
     Data.Text.Text

instance Data.ProtoLens.HasField "explanation" OpDeprecation
         OpDeprecation where
        field _
          = Lens.Family2.Unchecked.lens _OpDeprecation'explanation
              (\ x__ y__ -> x__{_OpDeprecation'explanation = y__})

instance Data.Default.Class.Default OpDeprecation where
        def
          = OpDeprecation{_OpDeprecation'version =
                            Data.ProtoLens.fieldDefault,
                          _OpDeprecation'explanation = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message OpDeprecation where
        descriptor
          = let version__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "version"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional version)
                explanation__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "explanation"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional explanation)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, version__field_descriptor),
                    (Data.ProtoLens.Tag 2, explanation__field_descriptor)])
                (Data.Map.fromList
                   [("version", version__field_descriptor),
                    ("explanation", explanation__field_descriptor)])

data OpList = OpList{_OpList'op :: [OpDef]}
            deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "op" OpList = [OpDef]

instance Data.ProtoLens.HasField "op" OpList OpList where
        field _
          = Lens.Family2.Unchecked.lens _OpList'op
              (\ x__ y__ -> x__{_OpList'op = y__})

instance Data.Default.Class.Default OpList where
        def = OpList{_OpList'op = []}

instance Data.ProtoLens.Message OpList where
        descriptor
          = let op__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "op"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor OpDef)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked op)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList [(Data.ProtoLens.Tag 1, op__field_descriptor)])
                (Data.Map.fromList [("op", op__field_descriptor)])

allowedValues ::
              forall msg msg' .
                Data.ProtoLens.HasField "allowedValues" msg msg' =>
                Lens.Family2.Lens msg msg'
                  (Data.ProtoLens.Field "allowedValues" msg)
                  (Data.ProtoLens.Field "allowedValues" msg')
allowedValues
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "allowedValues")

allowsUninitializedInput ::
                         forall msg msg' .
                           Data.ProtoLens.HasField "allowsUninitializedInput" msg msg' =>
                           Lens.Family2.Lens msg msg'
                             (Data.ProtoLens.Field "allowsUninitializedInput" msg)
                             (Data.ProtoLens.Field "allowsUninitializedInput" msg')
allowsUninitializedInput
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "allowsUninitializedInput")

attr ::
     forall msg msg' . Data.ProtoLens.HasField "attr" msg msg' =>
       Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "attr" msg)
         (Data.ProtoLens.Field "attr" msg')
attr
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "attr")

defaultValue ::
             forall msg msg' .
               Data.ProtoLens.HasField "defaultValue" msg msg' =>
               Lens.Family2.Lens msg msg'
                 (Data.ProtoLens.Field "defaultValue" msg)
                 (Data.ProtoLens.Field "defaultValue" msg')
defaultValue
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "defaultValue")

deprecation ::
            forall msg msg' . Data.ProtoLens.HasField "deprecation" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "deprecation" msg)
                (Data.ProtoLens.Field "deprecation" msg')
deprecation
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "deprecation")

description ::
            forall msg msg' . Data.ProtoLens.HasField "description" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "description" msg)
                (Data.ProtoLens.Field "description" msg')
description
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "description")

explanation ::
            forall msg msg' . Data.ProtoLens.HasField "explanation" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "explanation" msg)
                (Data.ProtoLens.Field "explanation" msg')
explanation
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "explanation")

hasMinimum ::
           forall msg msg' . Data.ProtoLens.HasField "hasMinimum" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "hasMinimum" msg)
               (Data.ProtoLens.Field "hasMinimum" msg')
hasMinimum
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "hasMinimum")

inputArg ::
         forall msg msg' . Data.ProtoLens.HasField "inputArg" msg msg' =>
           Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "inputArg" msg)
             (Data.ProtoLens.Field "inputArg" msg')
inputArg
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "inputArg")

isAggregate ::
            forall msg msg' . Data.ProtoLens.HasField "isAggregate" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "isAggregate" msg)
                (Data.ProtoLens.Field "isAggregate" msg')
isAggregate
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "isAggregate")

isCommutative ::
              forall msg msg' .
                Data.ProtoLens.HasField "isCommutative" msg msg' =>
                Lens.Family2.Lens msg msg'
                  (Data.ProtoLens.Field "isCommutative" msg)
                  (Data.ProtoLens.Field "isCommutative" msg')
isCommutative
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "isCommutative")

isRef ::
      forall msg msg' . Data.ProtoLens.HasField "isRef" msg msg' =>
        Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "isRef" msg)
          (Data.ProtoLens.Field "isRef" msg')
isRef
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "isRef")

isStateful ::
           forall msg msg' . Data.ProtoLens.HasField "isStateful" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "isStateful" msg)
               (Data.ProtoLens.Field "isStateful" msg')
isStateful
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "isStateful")

maybe'allowedValues ::
                    forall msg msg' .
                      Data.ProtoLens.HasField "maybe'allowedValues" msg msg' =>
                      Lens.Family2.Lens msg msg'
                        (Data.ProtoLens.Field "maybe'allowedValues" msg)
                        (Data.ProtoLens.Field "maybe'allowedValues" msg')
maybe'allowedValues
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'allowedValues")

maybe'defaultValue ::
                   forall msg msg' .
                     Data.ProtoLens.HasField "maybe'defaultValue" msg msg' =>
                     Lens.Family2.Lens msg msg'
                       (Data.ProtoLens.Field "maybe'defaultValue" msg)
                       (Data.ProtoLens.Field "maybe'defaultValue" msg')
maybe'defaultValue
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'defaultValue")

maybe'deprecation ::
                  forall msg msg' .
                    Data.ProtoLens.HasField "maybe'deprecation" msg msg' =>
                    Lens.Family2.Lens msg msg'
                      (Data.ProtoLens.Field "maybe'deprecation" msg)
                      (Data.ProtoLens.Field "maybe'deprecation" msg')
maybe'deprecation
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'deprecation")

minimum ::
        forall msg msg' . Data.ProtoLens.HasField "minimum" msg msg' =>
          Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "minimum" msg)
            (Data.ProtoLens.Field "minimum" msg')
minimum
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "minimum")

name ::
     forall msg msg' . Data.ProtoLens.HasField "name" msg msg' =>
       Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "name" msg)
         (Data.ProtoLens.Field "name" msg')
name
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "name")

numberAttr ::
           forall msg msg' . Data.ProtoLens.HasField "numberAttr" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "numberAttr" msg)
               (Data.ProtoLens.Field "numberAttr" msg')
numberAttr
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "numberAttr")

op ::
   forall msg msg' . Data.ProtoLens.HasField "op" msg msg' =>
     Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "op" msg)
       (Data.ProtoLens.Field "op" msg')
op
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "op")

outputArg ::
          forall msg msg' . Data.ProtoLens.HasField "outputArg" msg msg' =>
            Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "outputArg" msg)
              (Data.ProtoLens.Field "outputArg" msg')
outputArg
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "outputArg")

summary ::
        forall msg msg' . Data.ProtoLens.HasField "summary" msg msg' =>
          Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "summary" msg)
            (Data.ProtoLens.Field "summary" msg')
summary
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "summary")

type' ::
      forall msg msg' . Data.ProtoLens.HasField "type'" msg msg' =>
        Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "type'" msg)
          (Data.ProtoLens.Field "type'" msg')
type'
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "type'")

typeAttr ::
         forall msg msg' . Data.ProtoLens.HasField "typeAttr" msg msg' =>
           Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "typeAttr" msg)
             (Data.ProtoLens.Field "typeAttr" msg')
typeAttr
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "typeAttr")

typeListAttr ::
             forall msg msg' .
               Data.ProtoLens.HasField "typeListAttr" msg msg' =>
               Lens.Family2.Lens msg msg'
                 (Data.ProtoLens.Field "typeListAttr" msg)
                 (Data.ProtoLens.Field "typeListAttr" msg')
typeListAttr
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "typeListAttr")

version ::
        forall msg msg' . Data.ProtoLens.HasField "version" msg msg' =>
          Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "version" msg)
            (Data.ProtoLens.Field "version" msg')
version
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "version")