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

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 1.1.4322.2407.
// 
namespace net.catcert.psis {
    using System.Diagnostics;
    using System.Xml.Serialization;
    using System;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
    using System.Web.Services;
    
    
    /// <remarks/>
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="SOAPBinding", Namespace="urn:oasis:names:tc:dss:1.0:core:wsdl")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TrustStatusListType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignaturePolicyType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AgreementMethodType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EncryptedType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(QualifyingPropertiesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SPUserNoticeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(QualifyingPropertiesReferenceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DocsFormatType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AttributeDesignatorType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ManifestType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignaturePropertiesType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DocumentBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RequestBaseType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(object[]))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DocReferenceType[]))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CommitmentType[]))]
    public class digitalSignatureService : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        /// <remarks/>
        public digitalSignatureService() {
            this.Url = "http://psis.catcert.net/psis/catcert/dss";
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("SignResponse", Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public SignResponse sign([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")] SignRequest SignRequest) {
            object[] results = this.Invoke("sign", new object[] {
                        SignRequest});
            return ((SignResponse)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult Beginsign(SignRequest SignRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("sign", new object[] {
                        SignRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public SignResponse Endsign(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SignResponse)(results[0]));
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("VerifyResponse", Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public VerifyResponse verify([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")] VerifyRequest VerifyRequest) {
            object[] results = this.Invoke("verify", new object[] {
                        VerifyRequest});
            return ((VerifyResponse)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult Beginverify(VerifyRequest VerifyRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("verify", new object[] {
                        VerifyRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public VerifyResponse Endverify(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((VerifyResponse)(results[0]));
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("ArchiveSubmitResponse", Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public ArchiveSubmitResponse archiveSubmit([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")] ArchiveSubmitRequest ArchiveSubmitRequest) {
            object[] results = this.Invoke("archiveSubmit", new object[] {
                        ArchiveSubmitRequest});
            return ((ArchiveSubmitResponse)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginarchiveSubmit(ArchiveSubmitRequest ArchiveSubmitRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("archiveSubmit", new object[] {
                        ArchiveSubmitRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public ArchiveSubmitResponse EndarchiveSubmit(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ArchiveSubmitResponse)(results[0]));
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("ArchiveRetrievalResponse", Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public ArchiveRetrievalResponse archiveRetrieval([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")] ArchiveIdentifierRequest ArchiveRetrievalRequest) {
            object[] results = this.Invoke("archiveRetrieval", new object[] {
                        ArchiveRetrievalRequest});
            return ((ArchiveRetrievalResponse)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginarchiveRetrieval(ArchiveIdentifierRequest ArchiveRetrievalRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("archiveRetrieval", new object[] {
                        ArchiveRetrievalRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public ArchiveRetrievalResponse EndarchiveRetrieval(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ArchiveRetrievalResponse)(results[0]));
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("ArchiveDeleteResponse", Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public ArchiveDeleteResponse archiveDelete([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")] ArchiveIdentifierRequest ArchiveDeleteRequest) {
            object[] results = this.Invoke("archiveDelete", new object[] {
                        ArchiveDeleteRequest});
            return ((ArchiveDeleteResponse)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginarchiveDelete(ArchiveIdentifierRequest ArchiveDeleteRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("archiveDelete", new object[] {
                        ArchiveDeleteRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public ArchiveDeleteResponse EndarchiveDelete(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ArchiveDeleteResponse)(results[0]));
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("ArchiveModifyResponse", Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public ResponseBaseType archiveModify([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")] ArchiveIdentifierRequest ArchiveModifyRequest) {
            object[] results = this.Invoke("archiveModify", new object[] {
                        ArchiveModifyRequest});
            return ((ResponseBaseType)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginarchiveModify(ArchiveIdentifierRequest ArchiveModifyRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("archiveModify", new object[] {
                        ArchiveModifyRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResponseBaseType EndarchiveModify(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResponseBaseType)(results[0]));
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("ArchiveVerifyResponse", Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public ResponseBaseType archiveVerify([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")] ArchiveIdentifierRequest ArchiveVerifyRequest) {
            object[] results = this.Invoke("archiveVerify", new object[] {
                        ArchiveVerifyRequest});
            return ((ResponseBaseType)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginarchiveVerify(ArchiveIdentifierRequest ArchiveVerifyRequest, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("archiveVerify", new object[] {
                        ArchiveVerifyRequest}, callback, asyncState);
        }
        
        /// <remarks/>
        public ResponseBaseType EndarchiveVerify(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((ResponseBaseType)(results[0]));
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SignRequest : RequestBaseType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VerifyRequest))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignRequest))]
    public class RequestBaseType {
        
        /// <remarks/>
        public OptionalInputs OptionalInputs;
        
        /// <remarks/>
        public InputDocuments InputDocuments;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RequestID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Profile;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class OptionalInputs {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AdditionalKeyInfo", typeof(AdditionalKeyInfo))]
        [System.Xml.Serialization.XmlElementAttribute("Schemas", typeof(DocumentType[]))]
        [System.Xml.Serialization.XmlElementAttribute("SignaturePolicy", typeof(SignaturePolicy), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("CounterSignature", typeof(CounterSignature), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("ParallelSignature", typeof(object), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("IntendedAudience", typeof(NameIdentifierType[]))]
        [System.Xml.Serialization.XmlElementAttribute("IncludeEContent", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("ReturnSignatureInfo", typeof(AttributeType[]), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("SignatureType", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlElementAttribute("ServicePolicy", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlElementAttribute("ReturnUpdatedSignature", typeof(ReturnUpdatedSignature))]
        [System.Xml.Serialization.XmlElementAttribute("VerificationTime", typeof(System.DateTime))]
        [System.Xml.Serialization.XmlElementAttribute("ReturnSignatureReason", typeof(object), Namespace="urn:oasis:names:tc:dss:1.0:profiles:DSS_PDF")]
        [System.Xml.Serialization.XmlElementAttribute("VerifyManifests", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("IncludeObject", typeof(IncludeObject))]
        [System.Xml.Serialization.XmlElementAttribute("ReturnSigningTime", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("X509CertificateValidationOptions", typeof(CertificateTrustTreesType), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("SignatureForm", typeof(string), Namespace="http://www.docs.oasis-open.org/dss/oasis-dss-1.0-profiles-XAdES-cd-01#", DataType="anyURI")]
        [System.Xml.Serialization.XmlElementAttribute("Archive", typeof(Archive), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("ReturnSignerIdentity", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("ClaimedIdentity", typeof(ClaimedIdentity))]
        [System.Xml.Serialization.XmlElementAttribute("ReturnProcessingDetails", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("AdditionalProfile", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlElementAttribute("Scheme", typeof(Scheme), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("SignedReferences", typeof(SignedReference[]))]
        [System.Xml.Serialization.XmlElementAttribute("RequireQualifiedCertificate", typeof(object), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("Properties", typeof(Properties))]
        [System.Xml.Serialization.XmlElementAttribute("ReturnSignedResponse", typeof(ReturnSignedResponse), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("ReturnX509CertificateInfo", typeof(AttributeDesignator[]), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("Language", typeof(string), DataType="language")]
        [System.Xml.Serialization.XmlElementAttribute("SignaturePlacement", typeof(SignaturePlacement))]
        [System.Xml.Serialization.XmlElementAttribute("ReturnTransformedDocument", typeof(ReturnTransformedDocument))]
        [System.Xml.Serialization.XmlElementAttribute("KeySelector", typeof(KeySelector))]
        [System.Xml.Serialization.XmlElementAttribute("AddTimestamp", typeof(AddTimestamp))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType6[] ItemsElementName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class AdditionalKeyInfo {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public KeyInfoType KeyInfo;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class KeyInfoType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        [System.Xml.Serialization.XmlElementAttribute("SPKIData", typeof(SPKIDataType))]
        [System.Xml.Serialization.XmlElementAttribute("PGPData", typeof(PGPDataType))]
        [System.Xml.Serialization.XmlElementAttribute("X509Data", typeof(X509DataType))]
        [System.Xml.Serialization.XmlElementAttribute("MgmtData", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("KeyName", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("KeyValue", typeof(KeyValueType))]
        [System.Xml.Serialization.XmlElementAttribute("RetrievalMethod", typeof(RetrievalMethodType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType1[] ItemsElementName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SPKIDataType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SPKISexp", DataType="base64Binary")]
        public System.Byte[][] SPKISexp;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement Any;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
    public class ArchiveSubmitRequest {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public OptionalInputs OptionalInputs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public SignatureObjectType SignatureObject;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RequestID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Profile;
    }
    
    /// <remarks/>
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
	public class SignatureObjectType 
	{
        
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("Other", typeof(SignatureObjectTypeOther))]
		[System.Xml.Serialization.XmlElementAttribute("SignaturePtr", typeof(SignaturePtr))]
		[System.Xml.Serialization.XmlElementAttribute("Base64Signature", typeof(Base64Signature))]
		[System.Xml.Serialization.XmlElementAttribute("Timestamp", typeof(System.Xml.XmlElement))]
		public object Item;

		[System.Xml.Serialization.XmlAnyElementAttribute]
		public System.Xml.XmlElement Any;

		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREFS")]
		public string SchemaRefs;
	}
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SignatureObjectTypeOther {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public X509DataType X509Data;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class X509DataType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("X509IssuerSerial", typeof(X509IssuerSerialType))]
        [System.Xml.Serialization.XmlElementAttribute("X509Certificate", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlElementAttribute("X509SubjectName", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("X509SKI", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlElementAttribute("X509CRL", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType[] ItemsElementName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class X509IssuerSerialType {
        
        /// <remarks/>
        public string X509IssuerName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string X509SerialNumber;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", IncludeInSchema=false)]
    public enum ItemsChoiceType {
        
        /// <remarks/>
        X509IssuerSerial,
        
        /// <remarks/>
        X509Certificate,
        
        /// <remarks/>
        X509SubjectName,
        
        /// <remarks/>
        X509SKI,
        
        /// <remarks/>
        X509CRL,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SignaturePtr {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string WhichDocument;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string XPath;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class Base64Signature {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="base64Binary")]
        public System.Byte[] Value;
    }
    
    /// <remarks/>
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema",TypeName="Timestamp")]
	public class Timestamp {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Other", typeof(AnyType1))]
        [System.Xml.Serialization.XmlElementAttribute("RFC3161TimeStampToken", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlElementAttribute("Signature", typeof(SignatureType))]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class AnyType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SignatureType {
        
        /// <remarks/>
        public SignedInfoType SignedInfo;
        
        /// <remarks/>
        public SignatureValueType SignatureValue;
        
        /// <remarks/>
        public KeyInfoType KeyInfo;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Object")]
        public ObjectType[] Object;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SignedInfoType {
        
        /// <remarks/>
        public CanonicalizationMethodType CanonicalizationMethod;
        
        /// <remarks/>
        public SignatureMethodType SignatureMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Reference")]
        public ReferenceType[] Reference;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class CanonicalizationMethodType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SignatureMethodType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string HMACOutputLength;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class ReferenceType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        public DigestMethodType DigestMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] DigestValue;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class TransformType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        [System.Xml.Serialization.XmlElementAttribute("XPath", typeof(string))]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class DigestMethodType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SignatureValueType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="base64Binary")]
        public System.Byte[] Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class ObjectType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MimeType;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Encoding;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class InputDocuments {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Document", typeof(DocumentType))]
        [System.Xml.Serialization.XmlElementAttribute("DocumentHash", typeof(DocumentHash))]
        [System.Xml.Serialization.XmlElementAttribute("TransformedData", typeof(TransformedData))]
        [System.Xml.Serialization.XmlElementAttribute("Other", typeof(AnyType))]
        public object[] Items;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class DocumentType : DocumentBaseType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EscapedXML", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("Base64Data", typeof(Base64Data))]
        [System.Xml.Serialization.XmlElementAttribute("Base64XML", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlElementAttribute("InlineXML", typeof(InlineXMLType))]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class Base64Data {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MimeType;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="base64Binary")]
        public System.Byte[] Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class InlineXMLType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool ignorePIs = true;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool ignoreComments = true;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DocumentHash))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TransformedData))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DocumentType))]
    public abstract class DocumentBaseType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string ID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RefURI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RefType;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREFS")]
        public string SchemaRefs;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class DocumentHash : DocumentBaseType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public DigestMethodType DigestMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", DataType="base64Binary")]
        public System.Byte[] DigestValue;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class TransformedData : DocumentBaseType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        public Base64Data Base64Data;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class Scheme {
        
        /// <remarks/>
        public InternationalNamesType SchemeName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class InternationalNamesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Name")]
        public InternationalNamesTypeName[] Name;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class InternationalNamesTypeName {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class CounterSignature {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string WhichDocument;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
    public class UpdateSignature {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class Archive {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RetentionPeriod", typeof(string), Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive", DataType="duration")]
        [System.Xml.Serialization.XmlElementAttribute("ArchivePolicy", typeof(ObjectIdentifierType), Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public object Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
        public UpdateSignature UpdateSignature;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive", DataType="anyURI")]
        public string ArchiveMode;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignaturePolicy))]
    public class ObjectIdentifierType {
        
        /// <remarks/>
        public IdentifierType Identifier;
        
        /// <remarks/>
        public string Description;
        
        /// <remarks/>
        public DocumentationReferencesType DocumentationReferences;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class IdentifierType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public QualifierType Qualifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool QualifierSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="anyURI")]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public enum QualifierType {
        
        /// <remarks/>
        OIDAsURI,
        
        /// <remarks/>
        OIDAsURN,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class DocumentationReferencesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DocumentationReference", DataType="anyURI")]
        public string[] DocumentationReference;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class SignaturePolicy : ObjectIdentifierType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool allowPolicyMappings = false;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class ReturnSignedResponse {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
        public CommitmentType[] RequiredCommitments;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CommitmentType {
        
        /// <remarks/>
        public ObjectIdentifierType CommitmentIdentifier;
        
        /// <remarks/>
        public string FieldOfApplication;
        
        /// <remarks/>
        public string Semantics;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class ReturnTransformedDocument {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string WhichReference;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class ReturnUpdatedSignature {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SignedReference {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string WhichDocument;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string RefURI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RefId;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SignaturePlacement {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("XPathFirstChildOf", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("XPathAfter", typeof(string))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public string Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType3 ItemElementName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string WhichDocument;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool createEnvelopedSignature = true;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema", IncludeInSchema=false)]
    public enum ItemChoiceType3 {
        
        /// <remarks/>
        XPathFirstChildOf,
        
        /// <remarks/>
        XPathAfter,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class TrustStatusListType {
        
        /// <remarks/>
        public string TSLTag;
        
        /// <remarks/>
        public TSLSchemeInformationType SchemeInformation;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TrustServiceProvider")]
        public TSPType[] TrustServiceProvider;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public SignatureType Signature;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class TSLSchemeInformationType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string TSLVersionIdentifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string TSLSequenceNumber;
        
        /// <remarks/>
        public InternationalNamesType SchemeName;
        
        /// <remarks/>
        public AddressType SchemeOperatorAddress;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string SchemeInformationURN;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string StatusDeterminationApproach;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string SchemeType;
        
        /// <remarks/>
        public string SchemeTerritory;
        
        /// <remarks/>
        public PolicyOrLegalnoticeType PolicyOrLegalNotice;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string HistoricalInformationPeriod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
        public OtherTSLPointer[] PointersToOtherTSL;
        
        /// <remarks/>
        public System.DateTime ListIssueDateTime;
        
        /// <remarks/>
        public System.DateTime NextUpdate;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class AddressType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("PostalAddress", IsNullable=false)]
        public PostalAddressType[] PostalAddresses;
        
        /// <remarks/>
        public ElectronicAddressType ElectronicAddress;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class PostalAddressType {
        
        /// <remarks/>
        public string StreetAddress;
        
        /// <remarks/>
        public string Locality;
        
        /// <remarks/>
        public string StateOrProvince;
        
        /// <remarks/>
        public string PostalCode;
        
        /// <remarks/>
        public string CountryName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class ElectronicAddressType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("URN", DataType="anyURI")]
        public string[] URN;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class PolicyOrLegalnoticeType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TSLLegalNotice", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("TSLPolicy", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public string Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType2 ItemElementName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#", IncludeInSchema=false)]
    public enum ItemChoiceType2 {
        
        /// <remarks/>
        TSLLegalNotice,
        
        /// <remarks/>
        TSLPolicy,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class OtherTSLPointer {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string TSLLocation;
        
        /// <remarks/>
        public string AdditionalInformation;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class TSPType {
        
        /// <remarks/>
        public TSPInformationType TSPInformation;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TSPServices")]
        public TSPServicesType[] TSPServices;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class TSPInformationType {
        
        /// <remarks/>
        public InternationalNamesType TSPName;
        
        /// <remarks/>
        public InternationalNamesType TSPTradeName;
        
        /// <remarks/>
        public AddressType TSPAddress;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string TSPInformationURI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class TSPServicesType {
        
        /// <remarks/>
        public TSPServiceInformationType ServiceInformation;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("ServiceStatusInformation", IsNullable=false)]
        public ServiceStatusInformationType[] ServiceHistory;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class TSPServiceInformationType {
        
        /// <remarks/>
        public ServiceStatusInformationType ServiceStatusInformation;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string SchemeServiceDefinitionURI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string TSPServiceDefinitionURI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class ServiceStatusInformationType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string ServiceTypeIdentifier;
        
        /// <remarks/>
        public InternationalNamesType ServiceName;
        
        /// <remarks/>
        public digitalIdentityListType ServiceDigitalIdentity;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string ServiceStatus;
        
        /// <remarks/>
        public System.DateTime StatusStartingTime;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class digitalIdentityListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("digitalId")]
        public digitalIdentityType[] digitalId;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/02231/v1.0bis-2005-04#")]
    public class digitalIdentityType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("digitalIdValue", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("X509Certificate", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlElementAttribute("keyValue", typeof(KeyValueType))]
        [System.Xml.Serialization.XmlElementAttribute("digitalIdType", typeof(string))]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class KeyValueType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DSAKeyValue", typeof(DSAKeyValueType))]
        [System.Xml.Serialization.XmlElementAttribute("RSAKeyValue", typeof(RSAKeyValueType))]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public object Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class DSAKeyValueType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] P;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] Q;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] G;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] Y;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] J;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] Seed;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] PgenCounter;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class RSAKeyValueType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] Modulus;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] Exponent;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SelectedCommitmentType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RecognizedCommitmentType", typeof(CommitmentType))]
        [System.Xml.Serialization.XmlElementAttribute("Empty", typeof(object))]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SelectedCommitmentTypeList {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SelCommitmentType")]
        public SelectedCommitmentType[] SelCommitmentType;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CommitmentRuleType {
        
        /// <remarks/>
        public SelectedCommitmentTypeList SelCommitmentTypes;
        
        /// <remarks/>
        public SignerAndVerifierRulesType SignerAndVerifierRules;
        
        /// <remarks/>
        public SigningCertTrustConditionType SigningCertTrustCondition;
        
        /// <remarks/>
        public TimeStampTrustConditionType TimeStampTrustCondition;
        
        /// <remarks/>
        public RoleTrustConditionType RoleTrustCondition;
        
        /// <remarks/>
        public AlgorithmConstraintSetType AlgorithmConstraintSet;
        
        /// <remarks/>
        public SignPolExtensionsListType SignPolExtensions;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SignerAndVerifierRulesType {
        
        /// <remarks/>
        public SignerRulesType SignerRules;
        
        /// <remarks/>
        public VerifierRulesType VerifierRules;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SignerRulesType {
        
        /// <remarks/>
        public bool ExternalSignedObjects;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ExternalSignedObjectsSpecified;
        
        /// <remarks/>
        public QPropertiesListType MandatedSignedQProperties;
        
        /// <remarks/>
        public QPropertiesListType MandatedUnsignedQProperties;
        
        /// <remarks/>
        public CertificateReqType MandatedCertificateRef;
        
        /// <remarks/>
        public CertificateReqType MandatedCertificateInfo;
        
        /// <remarks/>
        public SignPolExtensionsListType SignPolicyExtensions;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class QPropertiesListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("QPropertyID", DataType="anyURI")]
        public string[] QPropertyID;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public enum CertificateReqType {
        
        /// <remarks/>
        signerOnly,
        
        /// <remarks/>
        fullPath,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SignPolExtensionsListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SignPolExtension")]
        public AnyType1[] SignPolExtension;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="AnyType", Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class AnyType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class VerifierRulesType {
        
        /// <remarks/>
        public QPropertiesListType MandatedQUnsignedProperties;
        
        /// <remarks/>
        public SignPolExtensionsListType SignPolicyExtensions;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SigningCertTrustConditionType {
        
        /// <remarks/>
        public CertificateTrustTreesType SignerTrustTrees;
        
        /// <remarks/>
        public CertificateRevReqType SignerRevReq;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CertificateTrustTreesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CertificateTrustPoint")]
        public CertificateTrustPointType[] CertificateTrustPoint;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CertificateTrustPointType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] TrustPoint;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string PathLenConstraint;
        
        /// <remarks/>
        public AcceptablePoliciesListType AcceptablePolicySet;
        
        /// <remarks/>
        public NameConstraintsType NameConstraints;
        
        /// <remarks/>
        public PolicyConstraintsType PolicyConstraints;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class AcceptablePoliciesListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AcceptablePolicy")]
        public ObjectIdentifierType[] AcceptablePolicy;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class NameConstraintsType {
        
        /// <remarks/>
        public GeneralSubTreesListType PermittedSubtrees;
        
        /// <remarks/>
        public GeneralSubTreesListType ExcludedSubtrees;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class GeneralSubTreesListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("GeneralSubTree")]
        public GeneralSubTreeType[] GeneralSubTree;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class GeneralSubTreeType {
        
        /// <remarks/>
        public string Base;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string Minimum = "0";
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string Maximum;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class PolicyConstraintsType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string RequireExplicitPolicy;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string InhibitExplicitPolicy;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CertificateRevReqType {
        
        /// <remarks/>
        public RevocationReqType EndRevReq;
        
        /// <remarks/>
        public RevocationReqType CACerts;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class RevocationReqType {
        
        /// <remarks/>
        public EnuRevReqType EnuRevReq;
        
        /// <remarks/>
        public SignPolExtensionsListType exRevReq;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public enum EnuRevReqType {
        
        /// <remarks/>
        clrcheck,
        
        /// <remarks/>
        ocspcheck,
        
        /// <remarks/>
        bothcheck,
        
        /// <remarks/>
        eithercheck,
        
        /// <remarks/>
        nocheck,
        
        /// <remarks/>
        other,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class TimeStampTrustConditionType {
        
        /// <remarks/>
        public CertificateTrustTreesType TtsCertificateTrustTrees;
        
        /// <remarks/>
        public CertificateRevReqType TtsRevReq;
        
        /// <remarks/>
        public NameConstraintsType TtsNameConstraints;
        
        /// <remarks/>
        public DeltaTimeType CautionPeriod;
        
        /// <remarks/>
        public DeltaTimeType SignatureTimeStampDelay;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class DeltaTimeType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string DeltaSeconds;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string DeltaMinutes;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string DeltaHours;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string DeltaDays;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class RoleTrustConditionType {
        
        /// <remarks/>
        public bool RoleMandated;
        
        /// <remarks/>
        public HowCertRoleType HowCertRole;
        
        /// <remarks/>
        public CertificateTrustTreesType AttrCertTrustTrees;
        
        /// <remarks/>
        public CertificateRevReqType RoleRevReq;
        
        /// <remarks/>
        public RoleConstraintsType RoleConstraints;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public enum HowCertRoleType {
        
        /// <remarks/>
        ClaimedRole,
        
        /// <remarks/>
        CertifiedRole,
        
        /// <remarks/>
        Either,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class RoleConstraintsType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RoleTypeConstraint")]
        public ObjectIdentifierType[] RoleTypeConstraint;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RoleValueConstraint")]
        public AnyType1[] RoleValueConstraint;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class AlgorithmConstraintSetType {
        
        /// <remarks/>
        public AlgConstraintsListType SignerAlgConstraints;
        
        /// <remarks/>
        public AlgConstraintsListType EeCertAlgConstraints;
        
        /// <remarks/>
        public AlgConstraintsListType CACertAlgConstraints;
        
        /// <remarks/>
        public AlgConstraintsListType AaCertAlgConstraints;
        
        /// <remarks/>
        public AlgConstraintsListType TSACertAlgConstraints;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class AlgConstraintsListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AlgAndLength")]
        public AlgAndLengthType[] AlgAndLength;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class AlgAndLengthType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string AlgId;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string MinKeyLength;
        
        /// <remarks/>
        public SignPolExtensionsListType Other;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CommitmentRulesListType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CommitmentRule")]
        public CommitmentRuleType[] CommitmentRule;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class TimePeriodType {
        
        /// <remarks/>
        public System.DateTime NotBefore;
        
        /// <remarks/>
        public System.DateTime NotAfter;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotAfterSpecified;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SignatureValidationPolicyType {
        
        /// <remarks/>
        public TimePeriodType SigningPeriod;
        
        /// <remarks/>
        public CommonRulesType CommonRules;
        
        /// <remarks/>
        public CommitmentRulesListType CommitmentRules;
        
        /// <remarks/>
        public SignPolExtensionsListType SignPolicyExtensions;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class CommonRulesType {
        
        /// <remarks/>
        public SignerAndVerifierRulesType SignerAndVerifierRules;
        
        /// <remarks/>
        public SigningCertTrustConditionType SigningCertTrustCondition;
        
        /// <remarks/>
        public TimeStampTrustConditionType TimeStampTrustCondition;
        
        /// <remarks/>
        public RoleTrustConditionType RoleTrustCondition;
        
        /// <remarks/>
        public AlgorithmConstraintSetType AlgorithmConstraintSet;
        
        /// <remarks/>
        public SignPolExtensionsListType SignPolExtensions;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SignaturePolicyInfoType {
        
        /// <remarks/>
        public ObjectIdentifierType SignPolicyIdentifier;
        
        /// <remarks/>
        public System.DateTime DateOfIssue;
        
        /// <remarks/>
        public string PolicyIssuerName;
        
        /// <remarks/>
        public string FieldOfApplication;
        
        /// <remarks/>
        public SignatureValidationPolicyType SignatureValidationPolicy;
        
        /// <remarks/>
        public SignPolExtensionsListType SignPolExtensions;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/2038/v1.1.1#")]
    public class SignaturePolicyType {
        
        /// <remarks/>
        public DigestMethodType SignPolicyDigestAlg;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        public SignaturePolicyInfoType SignPolicyInfo;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] SignPolicyDigest;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class AgreementMethodType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("KA-Nonce", DataType="base64Binary")]
        public System.Byte[] KANonce;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        public KeyInfoType OriginatorKeyInfo;
        
        /// <remarks/>
        public KeyInfoType RecipientKeyInfo;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="EvidenceType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class EvidenceType2 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AssertionIDRef", typeof(string), DataType="NCName")]
        [System.Xml.Serialization.XmlElementAttribute("EncryptedAssertion", typeof(EncryptedElementType))]
        [System.Xml.Serialization.XmlElementAttribute("AssertionURIRef", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlElementAttribute("Assertion", typeof(AssertionType1))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType5[] ItemsElementName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class EncryptedElementType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
        public EncryptedDataType EncryptedData;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EncryptedKey", Namespace="http://www.w3.org/2001/04/xmlenc#")]
        public EncryptedKeyType[] EncryptedKey;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class EncryptedDataType : EncryptedType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EncryptedDataType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EncryptedKeyType))]
    public abstract class EncryptedType {
        
        /// <remarks/>
        public EncryptionMethodType EncryptionMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public KeyInfoType KeyInfo;
        
        /// <remarks/>
        public CipherDataType CipherData;
        
        /// <remarks/>
        public EncryptionPropertiesType EncryptionProperties;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string MimeType;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Encoding;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class EncryptionMethodType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string KeySize;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] OAEPparams;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlNode[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Algorithm;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class CipherDataType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CipherReference", typeof(CipherReferenceType))]
        [System.Xml.Serialization.XmlElementAttribute("CipherValue", typeof(System.Byte[]), DataType="base64Binary")]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class CipherReferenceType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute("Transforms")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class EncryptionPropertiesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EncryptionProperty")]
        public EncryptionPropertyType[] EncryptionProperty;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class EncryptionPropertyType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Target;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class EncryptedKeyType : EncryptedType {
        
        /// <remarks/>
        public ReferenceList ReferenceList;
        
        /// <remarks/>
        public string CarriedKeyName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Recipient;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class ReferenceList {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("KeyReference", typeof(ReferenceType1))]
        [System.Xml.Serialization.XmlElementAttribute("DataReference", typeof(ReferenceType1))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public ReferenceType1[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType3[] ItemsElementName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="ReferenceType", Namespace="http://www.w3.org/2001/04/xmlenc#")]
    public class ReferenceType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/04/xmlenc#", IncludeInSchema=false)]
    public enum ItemsChoiceType3 {
        
        /// <remarks/>
        KeyReference,
        
        /// <remarks/>
        DataReference,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="AssertionType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AssertionType1 {
        
        /// <remarks/>
        public NameIDType Issuer;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public SignatureType Signature;
        
        /// <remarks/>
        public SubjectType1 Subject;
        
        /// <remarks/>
        public ConditionsType1 Conditions;
        
        /// <remarks/>
        public AdviceType1 Advice;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Statement", typeof(StatementAbstractType1))]
        [System.Xml.Serialization.XmlElementAttribute("AuthnStatement", typeof(AuthnStatementType))]
        [System.Xml.Serialization.XmlElementAttribute("AttributeStatement", typeof(AttributeStatementType1))]
        [System.Xml.Serialization.XmlElementAttribute("AuthzDecisionStatement", typeof(AuthzDecisionStatementType))]
        public StatementAbstractType1[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Version;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string ID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime IssueInstant;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class NameIDType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string NameQualifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SPNameQualifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Format;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SPProvidedID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="SubjectType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class SubjectType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubjectConfirmation", typeof(SubjectConfirmationType1))]
        [System.Xml.Serialization.XmlElementAttribute("EncryptedID", typeof(EncryptedElementType))]
        [System.Xml.Serialization.XmlElementAttribute("NameID", typeof(NameIDType))]
        [System.Xml.Serialization.XmlElementAttribute("BaseID", typeof(BaseIDAbstractType))]
        public object[] Items;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="SubjectConfirmationType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class SubjectConfirmationType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EncryptedID", typeof(EncryptedElementType))]
        [System.Xml.Serialization.XmlElementAttribute("NameID", typeof(NameIDType))]
        [System.Xml.Serialization.XmlElementAttribute("BaseID", typeof(BaseIDAbstractType))]
        public object Item;
        
        /// <remarks/>
        public SubjectConfirmationDataType SubjectConfirmationData;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Method;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public abstract class BaseIDAbstractType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string NameQualifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SPNameQualifier;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(KeyInfoConfirmationDataType))]
    public class SubjectConfirmationDataType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class KeyInfoConfirmationDataType : SubjectConfirmationDataType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="ConditionsType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class ConditionsType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudienceRestriction", typeof(AudienceRestrictionType))]
        [System.Xml.Serialization.XmlElementAttribute("Condition", typeof(ConditionAbstractType1))]
        [System.Xml.Serialization.XmlElementAttribute("OneTimeUse", typeof(OneTimeUseType))]
        [System.Xml.Serialization.XmlElementAttribute("ProxyRestriction", typeof(ProxyRestrictionType))]
        public ConditionAbstractType1[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime NotBefore;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotBeforeSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime NotOnOrAfter;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotOnOrAfterSpecified;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AudienceRestrictionType : ConditionAbstractType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Audience", DataType="anyURI")]
        public string[] Audience;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="ConditionAbstractType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AudienceRestrictionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ProxyRestrictionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OneTimeUseType))]
    public abstract class ConditionAbstractType1 {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class ProxyRestrictionType : ConditionAbstractType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Audience", DataType="anyURI")]
        public string[] Audience;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="nonNegativeInteger")]
        public string Count;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class OneTimeUseType : ConditionAbstractType1 {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="AdviceType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AdviceType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AssertionIDRef", typeof(string), DataType="NCName")]
        [System.Xml.Serialization.XmlElementAttribute("EncryptedAssertion", typeof(EncryptedElementType))]
        [System.Xml.Serialization.XmlElementAttribute("AssertionURIRef", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        [System.Xml.Serialization.XmlElementAttribute("Assertion", typeof(AssertionType1))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType4[] ItemsElementName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion", IncludeInSchema=false)]
    public enum ItemsChoiceType4 {
        
        /// <remarks/>
        AssertionIDRef,
        
        /// <remarks/>
        EncryptedAssertion,
        
        /// <remarks/>
        AssertionURIRef,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
        
        /// <remarks/>
        Assertion,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="StatementAbstractType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AttributeStatementType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuthnStatementType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuthzDecisionStatementType))]
    public abstract class StatementAbstractType1 {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="AttributeStatementType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AttributeStatementType1 : StatementAbstractType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EncryptedAttribute", typeof(EncryptedElementType))]
        [System.Xml.Serialization.XmlElementAttribute("Attribute", typeof(AttributeType))]
        public object[] Items;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(Attribute))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AttributeDesignator))]
    public class AttributeType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AttributeValue", IsNullable=true)]
        public object[] AttributeValue;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Name;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string NameFormat;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string FriendlyName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class Attribute : AttributeType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class AttributeDesignator : AttributeType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AuthnStatementType : StatementAbstractType1 {
        
        /// <remarks/>
        public SubjectLocalityType1 SubjectLocality;
        
        /// <remarks/>
        public AuthnContextType AuthnContext;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime AuthnInstant;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SessionIndex;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime SessionNotOnOrAfter;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SessionNotOnOrAfterSpecified;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="SubjectLocalityType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class SubjectLocalityType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Address;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DNSName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AuthnContextType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AuthnContextDecl", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("AuthnContextClassRef", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlElementAttribute("AuthnContextDeclRef", typeof(string), DataType="anyURI")]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType1 ItemElementName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AuthenticatingAuthority", DataType="anyURI")]
        public string[] AuthenticatingAuthority;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion", IncludeInSchema=false)]
    public enum ItemChoiceType1 {
        
        /// <remarks/>
        AuthnContextDecl,
        
        /// <remarks/>
        AuthnContextClassRef,
        
        /// <remarks/>
        AuthnContextDeclRef,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class AuthzDecisionStatementType : StatementAbstractType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Action")]
        public ActionType1[] Action;
        
        /// <remarks/>
        public EvidenceType2 Evidence;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Resource;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public DecisionType1 Decision;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="ActionType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public class ActionType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Namespace;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="DecisionType", Namespace="urn:oasis:names:tc:SAML:2.0:assertion")]
    public enum DecisionType1 {
        
        /// <remarks/>
        Permit,
        
        /// <remarks/>
        Deny,
        
        /// <remarks/>
        Indeterminate,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:2.0:assertion", IncludeInSchema=false)]
    public enum ItemsChoiceType5 {
        
        /// <remarks/>
        AssertionIDRef,
        
        /// <remarks/>
        EncryptedAssertion,
        
        /// <remarks/>
        AssertionURIRef,
        
        /// <remarks/>
        Assertion,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class UnsignedPropertiesType {
        
        /// <remarks/>
        public UnsignedSignaturePropertiesType UnsignedSignatureProperties;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("UnsignedDataObjectProperty", IsNullable=false)]
        public AnyType1[] UnsignedDataObjectProperties;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class UnsignedSignaturePropertiesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CounterSignature")]
        public CounterSignatureType[] CounterSignature;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SignatureTimeStamp")]
        public TimeStampType[] SignatureTimeStamp;
        
        /// <remarks/>
        public CompleteCertificateRefsType CompleteCertificateRefs;
        
        /// <remarks/>
        public CompleteRevocationRefsType CompleteRevocationRefs;
        
        /// <remarks/>
        public CompleteCertificateRefsType AttributeCertificateRefs;
        
        /// <remarks/>
        public CompleteRevocationRefsType AttributeRevocationRefs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SigAndRefsTimeStamp", typeof(TimeStampType))]
        [System.Xml.Serialization.XmlElementAttribute("RefsOnlyTimeStamp", typeof(TimeStampType))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public TimeStampType[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType2[] ItemsElementName;
        
        /// <remarks/>
        public CertificateValuesType CertificateValues;
        
        /// <remarks/>
        public RevocationValuesType RevocationValues;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ArchiveTimeStamp")]
        public TimeStampType[] ArchiveTimeStamp;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CounterSignatureType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public SignatureType Signature;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class TimeStampType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Include")]
        public IncludeType[] Include;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public CanonicalizationMethodType CanonicalizationMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("XMLTimeStamp", typeof(AnyType1))]
        [System.Xml.Serialization.XmlElementAttribute("EncapsulatedTimeStamp", typeof(EncapsulatedPKIDataType))]
        public object Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class IncludeType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool referencedData;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool referencedDataSpecified;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class EncapsulatedPKIDataType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="base64Binary")]
        public System.Byte[] Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CompleteCertificateRefsType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Cert", IsNullable=false)]
        public CertIDType[] CertRefs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CertIDType {
        
        /// <remarks/>
        public DigestAlgAndValueType CertDigest;
        
        /// <remarks/>
        public X509IssuerSerialType IssuerSerial;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class DigestAlgAndValueType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public DigestMethodType DigestMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", DataType="base64Binary")]
        public System.Byte[] DigestValue;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CompleteRevocationRefsType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("CRLRef", IsNullable=false)]
        public CRLRefType[] CRLRefs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("OCSPRef", IsNullable=false)]
        public OCSPRefType[] OCSPRefs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("OtherRef", IsNullable=false)]
        public AnyType1[] OtherRefs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CRLRefType {
        
        /// <remarks/>
        public DigestAlgAndValueType DigestAlgAndValue;
        
        /// <remarks/>
        public CRLIdentifierType CRLIdentifier;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CRLIdentifierType {
        
        /// <remarks/>
        public string Issuer;
        
        /// <remarks/>
        public System.DateTime IssueTime;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string Number;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class OCSPRefType {
        
        /// <remarks/>
        public OCSPIdentifierType OCSPIdentifier;
        
        /// <remarks/>
        public DigestAlgAndValueType DigestAlgAndValue;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class OCSPIdentifierType {
        
        /// <remarks/>
        public string ResponderID;
        
        /// <remarks/>
        public System.DateTime ProducedAt;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#", IncludeInSchema=false)]
    public enum ItemsChoiceType2 {
        
        /// <remarks/>
        SigAndRefsTimeStamp,
        
        /// <remarks/>
        RefsOnlyTimeStamp,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CertificateValuesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EncapsulatedX509Certificate", typeof(EncapsulatedPKIDataType))]
        [System.Xml.Serialization.XmlElementAttribute("OtherCertificate", typeof(AnyType1))]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class RevocationValuesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("EncapsulatedCRLValue", IsNullable=false)]
        public EncapsulatedPKIDataType[] CRLValues;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("EncapsulatedOCSPValue", IsNullable=false)]
        public EncapsulatedPKIDataType[] OCSPValues;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("OtherValue", IsNullable=false)]
        public AnyType1[] OtherValues;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class QualifyingPropertiesType {
        
        /// <remarks/>
        public SignedPropertiesType SignedProperties;
        
        /// <remarks/>
        public UnsignedPropertiesType UnsignedProperties;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Target;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignedPropertiesType {
        
        /// <remarks/>
        public SignedSignaturePropertiesType SignedSignatureProperties;
        
        /// <remarks/>
        public SignedDataObjectPropertiesType SignedDataObjectProperties;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignedSignaturePropertiesType {
        
        /// <remarks/>
        public System.DateTime SigningTime;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SigningTimeSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Cert", IsNullable=false)]
        public CertIDType[] SigningCertificate;
        
        /// <remarks/>
        public SignaturePolicyIdentifierType SignaturePolicyIdentifier;
        
        /// <remarks/>
        public SignatureProductionPlaceType SignatureProductionPlace;
        
        /// <remarks/>
        public SignerRoleType SignerRole;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignaturePolicyIdentifierType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SignaturePolicyImplied", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("SignaturePolicyId", typeof(SignaturePolicyIdType))]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignaturePolicyIdType {
        
        /// <remarks/>
        public ObjectIdentifierType SigPolicyId;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        public DigestAlgAndValueType SigPolicyHash;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("SigPolicyQualifier", IsNullable=false)]
        public AnyType1[] SigPolicyQualifiers;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignatureProductionPlaceType {
        
        /// <remarks/>
        public string City;
        
        /// <remarks/>
        public string StateOrProvince;
        
        /// <remarks/>
        public string PostalCode;
        
        /// <remarks/>
        public string CountryName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignerRoleType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("ClaimedRole", IsNullable=false)]
        public AnyType1[] ClaimedRoles;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("CertifiedRole", IsNullable=false)]
        public EncapsulatedPKIDataType[] CertifiedRoles;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SignedDataObjectPropertiesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DataObjectFormat")]
        public DataObjectFormatType[] DataObjectFormat;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("CommitmentTypeIndication")]
        public CommitmentTypeIndicationType[] CommitmentTypeIndication;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AllDataObjectsTimeStamp")]
        public TimeStampType[] AllDataObjectsTimeStamp;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("IndividualDataObjectsTimeStamp")]
        public TimeStampType[] IndividualDataObjectsTimeStamp;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class DataObjectFormatType {
        
        /// <remarks/>
        public string Description;
        
        /// <remarks/>
        public ObjectIdentifierType ObjectIdentifier;
        
        /// <remarks/>
        public string MimeType;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string Encoding;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string ObjectReference;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class CommitmentTypeIndicationType {
        
        /// <remarks/>
        public ObjectIdentifierType CommitmentTypeId;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AllSignedDataObjects", typeof(object))]
        [System.Xml.Serialization.XmlElementAttribute("ObjectReference", typeof(string), DataType="anyURI")]
        public object[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("CommitmentTypeQualifier", IsNullable=false)]
        public AnyType1[] CommitmentTypeQualifiers;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class NoticeReferenceType {
        
        /// <remarks/>
        public string Organization;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("int", DataType="integer", IsNullable=false)]
        public string[] NoticeNumbers;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class SPUserNoticeType {
        
        /// <remarks/>
        public NoticeReferenceType NoticeRef;
        
        /// <remarks/>
        public string ExplicitText;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
    public class QualifyingPropertiesReferenceType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.docs.oasis-open.org/dss/oasis-dss-1.0-profiles-XAdES-cd-01#")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DocFormatType))]
    public class DocReferenceType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string WhichDocument;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RefId;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.docs.oasis-open.org/dss/oasis-dss-1.0-profiles-XAdES-cd-01#")]
    public class DocFormatType : DocReferenceType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://uri.etsi.org/01903/v1.2.2#")]
        public DataObjectFormatType DataObjectFormat;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.docs.oasis-open.org/dss/oasis-dss-1.0-profiles-XAdES-cd-01#")]
    public class DocsFormatType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DocFormat", typeof(DocFormatType))]
        [System.Xml.Serialization.XmlElementAttribute("BinaryValue", typeof(System.Byte[]), DataType="base64Binary")]
        public object[] Items;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AttributeType1))]
    public class AttributeDesignatorType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AttributeName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string AttributeNamespace;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="AttributeType", Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AttributeType1 : AttributeDesignatorType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AttributeValue")]
        public object[] AttributeValue;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class ActionType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Namespace;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AuthorityBindingType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.Xml.XmlQualifiedName AuthorityKind;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Location;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Binding;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class SubjectLocalityType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string IPAddress;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DNSAddress;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class SubjectConfirmationType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ConfirmationMethod", DataType="anyURI")]
        public string[] ConfirmationMethod;
        
        /// <remarks/>
        public object SubjectConfirmationData;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public KeyInfoType KeyInfo;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class SubjectType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NameIdentifier", typeof(NameIdentifierType))]
        [System.Xml.Serialization.XmlElementAttribute("SubjectConfirmation", typeof(SubjectConfirmationType))]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class NameIdentifierType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string NameQualifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Format;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubjectStatementAbstractType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AttributeStatementType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuthorizationDecisionStatementType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuthenticationStatementType))]
    public abstract class StatementAbstractType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AttributeStatementType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuthorizationDecisionStatementType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuthenticationStatementType))]
    public abstract class SubjectStatementAbstractType : StatementAbstractType {
        
        /// <remarks/>
        public SubjectType Subject;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AttributeStatementType : SubjectStatementAbstractType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Attribute")]
        public AttributeType1[] Attribute;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AuthorizationDecisionStatementType : SubjectStatementAbstractType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Action")]
        public ActionType[] Action;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("AssertionIDReference", typeof(string), DataType="NCName", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Assertion", typeof(AssertionType), IsNullable=false)]
        public object[] Evidence;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Resource;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public DecisionType Decision;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AssertionType {
        
        /// <remarks/>
        public ConditionsType Conditions;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("AssertionIDReference", typeof(string), DataType="NCName", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("", typeof(System.Xml.XmlElement), IsNullable=false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Assertion", typeof(AssertionType), IsNullable=false)]
        public object[] Advice;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SubjectStatement", typeof(SubjectStatementAbstractType))]
        [System.Xml.Serialization.XmlElementAttribute("AuthorizationDecisionStatement", typeof(AuthorizationDecisionStatementType))]
        [System.Xml.Serialization.XmlElementAttribute("AttributeStatement", typeof(AttributeStatementType))]
        [System.Xml.Serialization.XmlElementAttribute("Statement", typeof(StatementAbstractType))]
        [System.Xml.Serialization.XmlElementAttribute("AuthenticationStatement", typeof(AuthenticationStatementType))]
        public StatementAbstractType[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public SignatureType Signature;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string MajorVersion;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string MinorVersion;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string AssertionID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Issuer;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime IssueInstant;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class ConditionsType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AudienceRestrictionCondition", typeof(AudienceRestrictionConditionType))]
        [System.Xml.Serialization.XmlElementAttribute("DoNotCacheCondition", typeof(DoNotCacheConditionType))]
        [System.Xml.Serialization.XmlElementAttribute("Condition", typeof(ConditionAbstractType))]
        public ConditionAbstractType[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime NotBefore;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotBeforeSpecified;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime NotOnOrAfter;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NotOnOrAfterSpecified;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AudienceRestrictionConditionType : ConditionAbstractType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Audience", DataType="anyURI")]
        public string[] Audience;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(DoNotCacheConditionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AudienceRestrictionConditionType))]
    public abstract class ConditionAbstractType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class DoNotCacheConditionType : ConditionAbstractType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public class AuthenticationStatementType : SubjectStatementAbstractType {
        
        /// <remarks/>
        public SubjectLocalityType SubjectLocality;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("AuthorityBinding")]
        public AuthorityBindingType[] AuthorityBinding;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string AuthenticationMethod;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime AuthenticationInstant;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:SAML:1.0:assertion")]
    public enum DecisionType {
        
        /// <remarks/>
        Permit,
        
        /// <remarks/>
        Deny,
        
        /// <remarks/>
        Indeterminate,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class ManifestType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Reference")]
        public ReferenceType[] Reference;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SignaturePropertyType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Items;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Target;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class SignaturePropertiesType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SignatureProperty")]
        public SignaturePropertyType[] SignatureProperty;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
        public string Id;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
    public class ArchiveIdentifierRequest {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public OptionalInputs OptionalInputs;
        
        /// <remarks/>
        public string ArchiveIdentifier;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RequestID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Profile;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class SchemeInfo {
        
        /// <remarks/>
        public InternationalNamesType SchemeName;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string TSLSequenceNumber;
        
        /// <remarks/>
        public ObjectIdentifierType TSLDigestAlgorithm;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] TSLDigestValue;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class SignaturePolicyInfo {
        
        /// <remarks/>
        public string SignaturePolicyIssuer;
        
        /// <remarks/>
        public ObjectIdentifierType SignaturePolicyIdentifier;
        
        /// <remarks/>
        public ObjectIdentifierType SignaturePolicyDigestAlgorithm;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public System.Byte[] SignaturePolicyDigestValue;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", Namespace="http://www.w3.org/2000/09/xmldsig#", IsNullable=false)]
        public TransformType[] Transforms;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class X509CertificateInfo {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Attribute")]
        public Attribute[] Attribute;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string internalId;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class ArchiveInfo {
        
        /// <remarks/>
        public object ArchiveIdentifier;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
    public class ResponseSignature {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public SignatureType Signature;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class TransformedDocument {
        
        /// <remarks/>
        public DocumentType Document;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
        public string WhichReference;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class UpdatedSignature {
        
        /// <remarks/>
        public SignatureObjectType SignatureObject;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SigningTime {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool ThirdPartyTimestamp;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public System.DateTime Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class ProcessingDetails {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ValidDetail")]
        public DetailType[] ValidDetail;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("IndeterminateDetail")]
        public DetailType[] IndeterminateDetail;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InvalidDetail")]
        public DetailType[] InvalidDetail;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class DetailType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string Code;
        
        /// <remarks/>
        public InternationalStringType Message;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class InternationalStringType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class DocumentWithSignature {
        
        /// <remarks/>
        public DocumentType Document;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class OptionalOutputs {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TransformedDocument", typeof(TransformedDocument))]
        [System.Xml.Serialization.XmlElementAttribute("DocumentWithSignature", typeof(DocumentWithSignature))]
        [System.Xml.Serialization.XmlElementAttribute("VerifyManifestResults", typeof(ManifestResult[]))]
        [System.Xml.Serialization.XmlElementAttribute("SchemeInfo", typeof(SchemeInfo), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("SignatureInfo", typeof(AttributeType[]), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("SignatureReason", typeof(string), Namespace="urn:oasis:names:tc:dss:1.0:profiles:DSS_PDF")]
        [System.Xml.Serialization.XmlElementAttribute("SigningTime", typeof(SigningTime))]
        [System.Xml.Serialization.XmlElementAttribute("UpdatedSignature", typeof(UpdatedSignature))]
        [System.Xml.Serialization.XmlElementAttribute("ResponseSignature", typeof(ResponseSignature), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("X509CertificateInfo", typeof(X509CertificateInfo), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("SignaturePolicyInfo", typeof(SignaturePolicyInfo), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("ArchiveInfo", typeof(ArchiveInfo), Namespace="urn:oasis:names:tc:dss:1.0:profiles:XSS")]
        [System.Xml.Serialization.XmlElementAttribute("ProcessingDetails", typeof(ProcessingDetails))]
        [System.Xml.Serialization.XmlElementAttribute("SignerIdentity", typeof(NameIdentifierType))]
        public object[] Items;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class ManifestResult {
        
        /// <remarks/>
        public string ReferenceXpath;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string Status;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class Result {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string ResultMajor;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string ResultMinor;
        
        /// <remarks/>
        public InternationalStringType ResultMessage;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArchiveDeleteResponse))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArchiveRetrievalResponse))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArchiveSubmitResponse))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(VerifyResponse))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignResponse))]
    public class ResponseBaseType {
        
        /// <remarks/>
        public Result Result;
        
        /// <remarks/>
        public OptionalOutputs OptionalOutputs;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string RequestID;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Profile;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
    public class ArchiveDeleteResponse : ResponseBaseType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public SignatureObjectType SignatureObject;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
    public class ArchiveRetrievalResponse : ResponseBaseType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
        public SignatureObjectType SignatureObject;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:profiles:archive")]
    public class ArchiveSubmitResponse : ResponseBaseType {
        
        /// <remarks/>
        public string ArchiveIdentifier;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class VerifyResponse : ResponseBaseType {
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class SignResponse : ResponseBaseType {
        
        /// <remarks/>
        public SignatureObjectType SignatureObject;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class IncludeObject {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="IDREF")]
        public string WhichDocument;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool hasObjectTagsAndAttributesSet = false;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ObjId;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(true)]
        public bool createReference = true;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class Property {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
        public string Identifier;
        
        /// <remarks/>
        public AnyType Value;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class Properties {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
        public Property[] SignedProperties;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
        public Property[] UnsignedProperties;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class PGPDataType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("PGPKeyID", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlElementAttribute("PGPKeyPacket", typeof(System.Byte[]), DataType="base64Binary")]
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public object Item;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        PGPKeyID,
        
        /// <remarks/>
        PGPKeyPacket,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#")]
    public class RetrievalMethodType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Transform", IsNullable=false)]
        public TransformType[] Transforms;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string URI;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class KeySelector {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Other", typeof(AnyType))]
        [System.Xml.Serialization.XmlElementAttribute("KeyInfo", typeof(KeyInfoType), Namespace="http://www.w3.org/2000/09/xmldsig#")]
        public object Item;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class AddTimestamp {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string Type;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class ClaimedIdentity {
        
        /// <remarks/>
        public NameIdentifierType Name;
        
        /// <remarks/>
        public AnyType SupportingInfo;
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2000/09/xmldsig#", IncludeInSchema=false)]
    public enum ItemsChoiceType1 {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("##any:")]
        Item,
        
        /// <remarks/>
        SPKIData,
        
        /// <remarks/>
        PGPData,
        
        /// <remarks/>
        X509Data,
        
        /// <remarks/>
        MgmtData,
        
        /// <remarks/>
        KeyName,
        
        /// <remarks/>
        KeyValue,
        
        /// <remarks/>
        RetrievalMethod,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema", IncludeInSchema=false)]
    public enum ItemsChoiceType6 {
        
        /// <remarks/>
        AdditionalKeyInfo,
        
        /// <remarks/>
        Schemas,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:SignaturePolicy")]
        SignaturePolicy,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:CounterSignature")]
        CounterSignature,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:ParallelSignature")]
        ParallelSignature,
        
        /// <remarks/>
        IntendedAudience,
        
        /// <remarks/>
        IncludeEContent,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:ReturnSignatureInfo")]
        ReturnSignatureInfo,
        
        /// <remarks/>
        SignatureType,
        
        /// <remarks/>
        ServicePolicy,
        
        /// <remarks/>
        ReturnUpdatedSignature,
        
        /// <remarks/>
        VerificationTime,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:DSS_PDF:ReturnSignatureReason")]
        ReturnSignatureReason,
        
        /// <remarks/>
        VerifyManifests,
        
        /// <remarks/>
        IncludeObject,
        
        /// <remarks/>
        ReturnSigningTime,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:X509CertificateValidationOptions")]
        X509CertificateValidationOptions,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("http://www.docs.oasis-open.org/dss/oasis-dss-1.0-profiles-XAdES-cd-01#:SignatureF" +
"orm")]
        SignatureForm,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:Archive")]
        Archive,
        
        /// <remarks/>
        ReturnSignerIdentity,
        
        /// <remarks/>
        ClaimedIdentity,
        
        /// <remarks/>
        ReturnProcessingDetails,
        
        /// <remarks/>
        AdditionalProfile,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:Scheme")]
        Scheme,
        
        /// <remarks/>
        SignedReferences,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:RequireQualifiedCertificate")]
        RequireQualifiedCertificate,
        
        /// <remarks/>
        Properties,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:ReturnSignedResponse")]
        ReturnSignedResponse,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("urn:oasis:names:tc:dss:1.0:profiles:XSS:ReturnX509CertificateInfo")]
        ReturnX509CertificateInfo,
        
        /// <remarks/>
        Language,
        
        /// <remarks/>
        SignaturePlacement,
        
        /// <remarks/>
        ReturnTransformedDocument,
        
        /// <remarks/>
        KeySelector,
        
        /// <remarks/>
        AddTimestamp,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:dss:1.0:core:schema")]
    public class VerifyRequest : RequestBaseType {
        
        /// <remarks/>
        public SignatureObjectType SignatureObject;
    }
}
