//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by xsd, Version=4.8.9037.0.
// 
namespace skyscraper8.Ietf.FLUTE {
	using System.ComponentModel;
	using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="FDT-InstanceType", Namespace="urn:IETF:metadata:2005:FLUTE:FDT")]
    [System.Xml.Serialization.XmlRootAttribute("FDT-Instance", Namespace="urn:IETF:metadata:2005:FLUTE:FDT", IsNullable=false)]
    public partial class FDTInstanceType {
        [TypeConverter(typeof(ExpandableObjectConverter))]

		private FileType[] fileField;
        
        private uint schemaVersionField;
        
        private string[] baseURL1Field;
        
        private string[] baseURL2Field;
        
        private sbyte delimiterField;
        
        private string[] groupField;
        
        private MBMSSessionIdentityExpiryType[] mBMSSessionIdentityExpiryField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string expiresField;
        
        private bool completeField;
        
        private bool completeFieldSpecified;
        
        private string contentTypeField;
        
        private string contentEncodingField;
        
        private ulong fECOTIFECEncodingIDField;
        
        private bool fECOTIFECEncodingIDFieldSpecified;
        
        private ulong fECOTIFECInstanceIDField;
        
        private bool fECOTIFECInstanceIDFieldSpecified;
        
        private ulong fECOTIMaximumSourceBlockLengthField;
        
        private bool fECOTIMaximumSourceBlockLengthFieldSpecified;
        
        private ulong fECOTIEncodingSymbolLengthField;
        
        private bool fECOTIEncodingSymbolLengthFieldSpecified;
        
        private ulong fECOTIMaxNumberofEncodingSymbolsField;
        
        private bool fECOTIMaxNumberofEncodingSymbolsFieldSpecified;
        
        private byte[] fECOTISchemeSpecificInfoField;
        
        private bool fullFDTField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        public FDTInstanceType() {
            this.fullFDTField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("File")]
        public FileType[] File {
            get {
                return this.fileField;
            }
            set {
                this.fileField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:3gpp:metadata:2009:MBMS:schemaVersion")]
        public uint schemaVersion {
            get {
                return this.schemaVersionField;
            }
            set {
                this.schemaVersionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Base-URL-1", Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT", DataType="anyURI")]
        public string[] BaseURL1 {
            get {
                return this.baseURL1Field;
            }
            set {
                this.baseURL1Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Base-URL-2", Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT", DataType="anyURI")]
        public string[] BaseURL2 {
            get {
                return this.baseURL2Field;
            }
            set {
                this.baseURL2Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:3gpp:metadata:2009:MBMS:schemaVersion")]
        public sbyte delimiter {
            get {
                return this.delimiterField;
            }
            set {
                this.delimiterField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Group")]
        public string[] Group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MBMS-Session-Identity-Expiry")]
        public MBMSSessionIdentityExpiryType[] MBMSSessionIdentityExpiry {
            get {
                return this.mBMSSessionIdentityExpiryField;
            }
            set {
                this.mBMSSessionIdentityExpiryField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Expires {
            get {
                return this.expiresField;
            }
            set {
                this.expiresField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool Complete {
            get {
                return this.completeField;
            }
            set {
                this.completeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CompleteSpecified {
            get {
                return this.completeFieldSpecified;
            }
            set {
                this.completeFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-Type")]
        public string ContentType {
            get {
                return this.contentTypeField;
            }
            set {
                this.contentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-Encoding")]
        public string ContentEncoding {
            get {
                return this.contentEncodingField;
            }
            set {
                this.contentEncodingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-FEC-Encoding-ID")]
        public ulong FECOTIFECEncodingID {
            get {
                return this.fECOTIFECEncodingIDField;
            }
            set {
                this.fECOTIFECEncodingIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIFECEncodingIDSpecified {
            get {
                return this.fECOTIFECEncodingIDFieldSpecified;
            }
            set {
                this.fECOTIFECEncodingIDFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-FEC-Instance-ID")]
        public ulong FECOTIFECInstanceID {
            get {
                return this.fECOTIFECInstanceIDField;
            }
            set {
                this.fECOTIFECInstanceIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIFECInstanceIDSpecified {
            get {
                return this.fECOTIFECInstanceIDFieldSpecified;
            }
            set {
                this.fECOTIFECInstanceIDFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Maximum-Source-Block-Length")]
        public ulong FECOTIMaximumSourceBlockLength {
            get {
                return this.fECOTIMaximumSourceBlockLengthField;
            }
            set {
                this.fECOTIMaximumSourceBlockLengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIMaximumSourceBlockLengthSpecified {
            get {
                return this.fECOTIMaximumSourceBlockLengthFieldSpecified;
            }
            set {
                this.fECOTIMaximumSourceBlockLengthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Encoding-Symbol-Length")]
        public ulong FECOTIEncodingSymbolLength {
            get {
                return this.fECOTIEncodingSymbolLengthField;
            }
            set {
                this.fECOTIEncodingSymbolLengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIEncodingSymbolLengthSpecified {
            get {
                return this.fECOTIEncodingSymbolLengthFieldSpecified;
            }
            set {
                this.fECOTIEncodingSymbolLengthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Max-Number-of-Encoding-Symbols")]
        public ulong FECOTIMaxNumberofEncodingSymbols {
            get {
                return this.fECOTIMaxNumberofEncodingSymbolsField;
            }
            set {
                this.fECOTIMaxNumberofEncodingSymbolsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIMaxNumberofEncodingSymbolsSpecified {
            get {
                return this.fECOTIMaxNumberofEncodingSymbolsFieldSpecified;
            }
            set {
                this.fECOTIMaxNumberofEncodingSymbolsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Scheme-Specific-Info", DataType="base64Binary")]
        public byte[] FECOTISchemeSpecificInfo {
            get {
                return this.fECOTISchemeSpecificInfoField;
            }
            set {
                this.fECOTISchemeSpecificInfoField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:3GPP:metadata:2008:MBMS:FLUTE:FDT_ext")]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool FullFDT {
            get {
                return this.fullFDTField;
            }
            set {
                this.fullFDTField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:IETF:metadata:2005:FLUTE:FDT")]
    public partial class FileType {
        
        private CacheControl cacheControlField;
        
        private sbyte delimiterField;
        
        private AlternativeContentLocationType[] alternateContentLocation1Field;
        
        private AlternativeContentLocationType[] alternateContentLocation2Field;
        
        private sbyte delimiter1Field;
        
        private string[] groupField;
        
        private byte[] mBMSSessionIdentityField;
        
        private System.Xml.XmlElement[] anyField;
        
        private string contentLocationField;
        
        private string tOIField;
        
        private ulong contentLengthField;
        
        private bool contentLengthFieldSpecified;
        
        private ulong transferLengthField;
        
        private bool transferLengthFieldSpecified;
        
        private string contentTypeField;
        
        private string contentEncodingField;
        
        private byte[] contentMD5Field;
        
        private ulong fECOTIFECEncodingIDField;
        
        private bool fECOTIFECEncodingIDFieldSpecified;
        
        private ulong fECOTIFECInstanceIDField;
        
        private bool fECOTIFECInstanceIDFieldSpecified;
        
        private ulong fECOTIMaximumSourceBlockLengthField;
        
        private bool fECOTIMaximumSourceBlockLengthFieldSpecified;
        
        private ulong fECOTIEncodingSymbolLengthField;
        
        private bool fECOTIEncodingSymbolLengthFieldSpecified;
        
        private ulong fECOTIMaxNumberofEncodingSymbolsField;
        
        private bool fECOTIMaxNumberofEncodingSymbolsFieldSpecified;
        
        private byte[] fECOTISchemeSpecificInfoField;
        
        private string decryptionKEYURIField;
        
        private uint fECRedundancyLevelField;
        
        private bool fECRedundancyLevelFieldSpecified;
        
        private string fileETagField;
        
        private ulong[] independentUnitPositionsField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Cache-Control", Namespace="urn:3GPP:metadata:2007:MBMS:FLUTE:FDT", Order=0)]
        public CacheControl CacheControl {
            get {
                return this.cacheControlField;
            }
            set {
                this.cacheControlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:3gpp:metadata:2009:MBMS:schemaVersion", Order=1)]
        public sbyte delimiter {
            get {
                return this.delimiterField;
            }
            set {
                this.delimiterField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Alternate-Content-Location-1", Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT", Order=2)]
        public AlternativeContentLocationType[] AlternateContentLocation1 {
            get {
                return this.alternateContentLocation1Field;
            }
            set {
                this.alternateContentLocation1Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Alternate-Content-Location-2", Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT", Order=3)]
        public AlternativeContentLocationType[] AlternateContentLocation2 {
            get {
                return this.alternateContentLocation2Field;
            }
            set {
                this.alternateContentLocation2Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("delimiter", Namespace="urn:3gpp:metadata:2009:MBMS:schemaVersion", Order=4)]
        public sbyte delimiter1 {
            get {
                return this.delimiter1Field;
            }
            set {
                this.delimiter1Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Group", Order=5)]
        public string[] Group {
            get {
                return this.groupField;
            }
            set {
                this.groupField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("MBMS-Session-Identity", Order=6)]
        public byte[] MBMSSessionIdentity {
            get {
                return this.mBMSSessionIdentityField;
            }
            set {
                this.mBMSSessionIdentityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=7)]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-Location", DataType="anyURI")]
        public string ContentLocation {
            get {
                return this.contentLocationField;
            }
            set {
                this.contentLocationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
        public string TOI {
            get {
                return this.tOIField;
            }
            set {
                this.tOIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-Length")]
        public ulong ContentLength {
            get {
                return this.contentLengthField;
            }
            set {
                this.contentLengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ContentLengthSpecified {
            get {
                return this.contentLengthFieldSpecified;
            }
            set {
                this.contentLengthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Transfer-Length")]
        public ulong TransferLength {
            get {
                return this.transferLengthField;
            }
            set {
                this.transferLengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TransferLengthSpecified {
            get {
                return this.transferLengthFieldSpecified;
            }
            set {
                this.transferLengthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-Type")]
        public string ContentType {
            get {
                return this.contentTypeField;
            }
            set {
                this.contentTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-Encoding")]
        public string ContentEncoding {
            get {
                return this.contentEncodingField;
            }
            set {
                this.contentEncodingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Content-MD5", DataType="base64Binary")]
        public byte[] ContentMD5 {
            get {
                return this.contentMD5Field;
            }
            set {
                this.contentMD5Field = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-FEC-Encoding-ID")]
        public ulong FECOTIFECEncodingID {
            get {
                return this.fECOTIFECEncodingIDField;
            }
            set {
                this.fECOTIFECEncodingIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIFECEncodingIDSpecified {
            get {
                return this.fECOTIFECEncodingIDFieldSpecified;
            }
            set {
                this.fECOTIFECEncodingIDFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-FEC-Instance-ID")]
        public ulong FECOTIFECInstanceID {
            get {
                return this.fECOTIFECInstanceIDField;
            }
            set {
                this.fECOTIFECInstanceIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIFECInstanceIDSpecified {
            get {
                return this.fECOTIFECInstanceIDFieldSpecified;
            }
            set {
                this.fECOTIFECInstanceIDFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Maximum-Source-Block-Length")]
        public ulong FECOTIMaximumSourceBlockLength {
            get {
                return this.fECOTIMaximumSourceBlockLengthField;
            }
            set {
                this.fECOTIMaximumSourceBlockLengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIMaximumSourceBlockLengthSpecified {
            get {
                return this.fECOTIMaximumSourceBlockLengthFieldSpecified;
            }
            set {
                this.fECOTIMaximumSourceBlockLengthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Encoding-Symbol-Length")]
        public ulong FECOTIEncodingSymbolLength {
            get {
                return this.fECOTIEncodingSymbolLengthField;
            }
            set {
                this.fECOTIEncodingSymbolLengthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIEncodingSymbolLengthSpecified {
            get {
                return this.fECOTIEncodingSymbolLengthFieldSpecified;
            }
            set {
                this.fECOTIEncodingSymbolLengthFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Max-Number-of-Encoding-Symbols")]
        public ulong FECOTIMaxNumberofEncodingSymbols {
            get {
                return this.fECOTIMaxNumberofEncodingSymbolsField;
            }
            set {
                this.fECOTIMaxNumberofEncodingSymbolsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECOTIMaxNumberofEncodingSymbolsSpecified {
            get {
                return this.fECOTIMaxNumberofEncodingSymbolsFieldSpecified;
            }
            set {
                this.fECOTIMaxNumberofEncodingSymbolsFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-OTI-Scheme-Specific-Info", DataType="base64Binary")]
        public byte[] FECOTISchemeSpecificInfo {
            get {
                return this.fECOTISchemeSpecificInfoField;
            }
            set {
                this.fECOTISchemeSpecificInfoField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Decryption-KEY-URI", Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:3GPP:metadata:2009:MBMS:FLUTE:FDT_ext", DataType="anyURI")]
        public string DecryptionKEYURI {
            get {
                return this.decryptionKEYURIField;
            }
            set {
                this.decryptionKEYURIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("FEC-Redundancy-Level", Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT")]
        public uint FECRedundancyLevel {
            get {
                return this.fECRedundancyLevelField;
            }
            set {
                this.fECRedundancyLevelField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool FECRedundancyLevelSpecified {
            get {
                return this.fECRedundancyLevelFieldSpecified;
            }
            set {
                this.fECRedundancyLevelFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("File-ETag", Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT")]
        public string FileETag {
            get {
                return this.fileETagField;
            }
            set {
                this.fileETagField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="urn:3GPP:metadata:2015:MBMS:FLUTE:FDT")]
        public ulong[] IndependentUnitPositions {
            get {
                return this.independentUnitPositionsField;
            }
            set {
                this.independentUnitPositionsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:3GPP:metadata:2007:MBMS:FLUTE:FDT")]
    [System.Xml.Serialization.XmlRootAttribute("Cache-Control", Namespace="urn:3GPP:metadata:2007:MBMS:FLUTE:FDT", IsNullable=false)]
    public partial class CacheControl {
        
        private object itemField;
        
        private ItemChoiceType itemElementNameField;
        
        private System.Xml.XmlAttribute[] anyAttrField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Expires", typeof(uint))]
        [System.Xml.Serialization.XmlElementAttribute("max-stale", typeof(bool))]
        [System.Xml.Serialization.XmlElementAttribute("no-cache", typeof(bool))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr {
            get {
                return this.anyAttrField;
            }
            set {
                this.anyAttrField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:3GPP:metadata:2007:MBMS:FLUTE:FDT", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        Expires,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("max-stale")]
        maxstale,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("no-cache")]
        nocache,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="MBMS-Session-Identity-Expiry-Type", Namespace="urn:3GPP:metadata:2005:MBMS:FLUTE:FDT")]
    public partial class MBMSSessionIdentityExpiryType {
        
        private uint valueField;
        
        private byte valueField1;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public uint value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public byte Value {
            get {
                return this.valueField1;
            }
            set {
                this.valueField1 = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="Alternative-Content-LocationType", Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT")]
    [System.Xml.Serialization.XmlRootAttribute("Alternate-Content-Location-1", Namespace="urn:3GPP:metadata:2012:MBMS:FLUTE:FDT", IsNullable=false)]
    public partial class AlternativeContentLocationType {
        
        private string[] alternateContentLocationField;
        
        private System.DateTime availabilityTimeField;
        
        private bool availabilityTimeFieldSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Alternate-Content-Location", DataType="anyURI")]
        public string[] AlternateContentLocation {
            get {
                return this.alternateContentLocationField;
            }
            set {
                this.alternateContentLocationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("Availability-Time")]
        public System.DateTime AvailabilityTime {
            get {
                return this.availabilityTimeField;
            }
            set {
                this.availabilityTimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AvailabilityTimeSpecified {
            get {
                return this.availabilityTimeFieldSpecified;
            }
            set {
                this.availabilityTimeFieldSpecified = value;
            }
        }
    }
}
