diff --git a/.gitignore b/.gitignore index 101eafa5..4dff12c4 100644 --- a/.gitignore +++ b/.gitignore @@ -189,5 +189,15 @@ FakesAssemblies/ #MsBuildTasks !.build/*.* +*.sqlite +*.jfm + +# Visual Studio 2015 cache/options directory +.vs/ +BugNetDeploy/ /src/.vs/config/applicationhost.config /src/.vs/BugNET_WAP +/src/.vs/BugNET/v15/Server/sqlite3 + +/src/.vs/config/applicationhost.config +/src/.vs/BugNET_WAP \ No newline at end of file diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 00000000..f8b48885 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 00000000..2e76e4ef --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,19 @@ +{ + "ExpandedNodes": [ + "", + "\\src", + "\\src\\BugNET.Database", + "\\src\\BugNET.Database\\Scripts", + "\\src\\BugNET_WAP", + "\\src\\BugNET_WAP\\Scripts", + "\\src\\BugNET_WAP\\Scripts\\ckeditor", + "\\src\\BugNET_WAP\\Scripts\\ckeditor\\skins", + "\\src\\BugNET_WAP\\Scripts\\ckeditor\\skins\\moono", + "\\src\\Library", + "\\src\\Library\\Providers", + "\\src\\Library\\Providers\\DataProviders", + "\\src\\Library\\Providers\\DataProviders\\SqlDataProvider" + ], + "SelectedNode": "\\src\\BugNET_WAP\\Web.config", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/README.md b/README.md index 2f8fb7fc..e4480d4c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ## BugNET -[![Build status](https://ci.appveyor.com/api/projects/status/ror9c96krbd7knld?svg=true)](https://ci.appveyor.com/project/dubeaud/bugnet) +[![Build status](https://ci.appveyor.com/api/projects/status/cxjoko5pb3sxv0a1?svg=true)](https://ci.appveyor.com/project/wrhighfield/bugnet) BugNET is a free, open source issue tracking and project issue management solution for the ASP.NET platform. @@ -7,8 +7,6 @@ BugNET is a free, open source issue tracking and project issue management soluti To report issues use the github issue tracker. -* Code Metrics - https://www.openhub.net/p/bugnet - ### Getting started **Getting started with Git and GitHub** diff --git a/src/.vs/config/applicationhost.config b/src/.vs/config/applicationhost.config new file mode 100644 index 00000000..c825c51b --- /dev/null +++ b/src/.vs/config/applicationhost.config @@ -0,0 +1,1038 @@ + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/BugNET.Database/BugNET.Compare.scmp b/src/BugNET.Database/BugNET.Compare.scmp new file mode 100644 index 00000000..4f021aa1 --- /dev/null +++ b/src/BugNET.Database/BugNET.Compare.scmp @@ -0,0 +1,921 @@ + + + 10 + + + {7f2ebe35-394e-4fb5-b2cb-3fdd0bebf010} + BugNET.Database + + + + + Data Source=ZOIDBERG\SQL2016;Initial Catalog=BugNET.1.6.327;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True + + + + + + Version + 1 + + + + + PlanGenerationType + SqlDeploymentOptions + + + AllowExistingModelErrors + False + + + AllowIncompatiblePlatform + False + + + BackupDatabaseBeforeChanges + False + + + BlockOnPossibleDataLoss + True + + + BlockWhenDriftDetected + False + + + CompareUsingTargetCollation + False + + + CommentOutSetVarDeclarations + False + + + CreateNewDatabase + False + + + DeployDatabaseInSingleUserMode + False + + + DisableAndReenableDdlTriggers + True + + + DoNotAlterChangeDataCaptureObjects + True + + + DoNotAlterReplicatedObjects + True + + + DropConstraintsNotInSource + True + + + DropDmlTriggersNotInSource + True + + + DropExtendedPropertiesNotInSource + True + + + DropIndexesNotInSource + True + + + DropPermissionsNotInSource + False + + + DropObjectsNotInSource + True + + + DropRoleMembersNotInSource + False + + + DropStatisticsNotInSource + True + + + GenerateSmartDefaults + False + + + IgnoreDdlTriggerOrder + False + + + IgnoreDdlTriggerState + False + + + IgnoreObjectPlacementOnPartitionScheme + True + + + IgnoreAuthorizer + False + + + IgnoreDefaultSchema + False + + + IgnoreRouteLifetime + True + + + IgnoreCryptographicProviderFilePath + True + + + IgnoreComments + False + + + IgnoreWhitespace + True + + + IgnoreKeywordCasing + True + + + IgnoreSemicolonBetweenStatements + True + + + IgnorePartitionSchemes + False + + + IgnoreWithNocheckOnCheckConstraints + False + + + IgnoreWithNocheckOnForeignKeys + False + + + IgnoreIdentitySeed + False + + + IgnoreIncrement + False + + + IgnoreFillFactor + True + + + IgnoreIndexPadding + True + + + IgnoreColumnCollation + False + + + IgnoreLockHintsOnIndexes + False + + + IgnoreTableOptions + False + + + IgnoreIndexOptions + False + + + IgnoreDmlTriggerOrder + False + + + IgnoreDmlTriggerState + False + + + IgnoreAnsiNulls + True + + + IgnoreQuotedIdentifiers + True + + + IgnoreUserSettingsObjects + False + + + IgnoreFilegroupPlacement + True + + + IgnoreFullTextCatalogFilePath + True + + + IgnoreFileAndLogFilePath + True + + + IgnoreLoginSids + True + + + IgnoreNotForReplication + False + + + IgnoreFileSize + True + + + AllowUnsafeRowLevelSecurityDataMovement + False + + + IncludeCompositeObjects + False + + + IncludeTransactionalScripts + False + + + NoAlterStatementsToChangeCLRTypes + False + + + PopulateFilesOnFileGroups + True + + + RegisterDataTierApplication + False + + + ScriptDatabaseCollation + False + + + ScriptDatabaseCompatibility + False + + + ScriptDatabaseOptions + False + + + ScriptDeployStateChecks + False + + + ScriptFileSize + False + + + ScriptNewConstraintValidation + True + + + ScriptRefreshModule + True + + + TargetDatabaseName + BugNET.1.6.327 + + + TargetConnectionString + Data Source=ZOIDBERG\SQL2016;Initial Catalog=BugNET.1.6.327;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;Application Name="Microsoft SQL Server Data Tools, Schema Compare" + + + TreatVerificationErrorsAsWarnings + False + + + UnmodifiableObjectWarnings + True + + + VerifyCollationCompatibility + True + + + VerifyDeployment + True + + + RunDeploymentPlanExecutors + False + + + AllowDropBlockingAssemblies + False + + + DoNotDropAggregates + False + + + DoNotDropApplicationRoles + False + + + DoNotDropAssemblies + False + + + DoNotDropAsymmetricKeys + False + + + DoNotDropAudits + False + + + DoNotDropBrokerPriorities + False + + + DoNotDropCertificates + False + + + DoNotDropClrUserDefinedTypes + False + + + DoNotDropColumnEncryptionKeys + False + + + DoNotDropColumnMasterKeys + False + + + DoNotDropContracts + False + + + DoNotDropCredentials + False + + + DoNotDropDatabaseScopedCredentials + False + + + DoNotDropCryptographicProviders + False + + + DoNotDropDatabaseAuditSpecifications + False + + + DoNotDropDatabaseRoles + False + + + DoNotDropDatabaseTriggers + False + + + DoNotDropDefaults + False + + + DoNotDropEndpoints + False + + + DoNotDropErrorMessages + False + + + DoNotDropEventNotifications + False + + + DoNotDropEventSessions + False + + + DoNotDropExtendedProperties + False + + + DoNotDropExternalDataSources + False + + + DoNotDropExternalFileFormats + False + + + DoNotDropExternalTables + False + + + DoNotDropFilegroups + False + + + DoNotDropFileTables + False + + + DoNotDropFullTextCatalogs + False + + + DoNotDropFullTextStoplists + False + + + DoNotDropTableValuedFunctions + False + + + DoNotDropLinkedServerLogins + False + + + DoNotDropLinkedServers + False + + + DoNotDropLogins + False + + + DoNotDropMessageTypes + False + + + DoNotDropPartitionFunctions + False + + + DoNotDropPartitionSchemes + False + + + DoNotDropPermissions + False + + + DoNotDropQueues + False + + + DoNotDropRemoteServiceBindings + False + + + DoNotDropRoleMembership + False + + + DoNotDropRoutes + False + + + DoNotDropRules + False + + + DoNotDropScalarValuedFunctions + False + + + DoNotDropSearchPropertyLists + False + + + DoNotDropSecurityPolicies + False + + + DoNotDropSequences + False + + + DoNotDropServerAuditSpecifications + False + + + DoNotDropServerRoleMembership + False + + + DoNotDropServerRoles + False + + + DoNotDropServerTriggers + False + + + DoNotDropServices + False + + + DoNotDropSignatures + False + + + DoNotDropStoredProcedures + False + + + DoNotDropSymmetricKeys + False + + + DoNotDropSynonyms + False + + + DoNotDropTables + False + + + DoNotDropUserDefinedDataTypes + False + + + DoNotDropUserDefinedTableTypes + False + + + DoNotDropUsers + False + + + DoNotDropViews + False + + + DoNotDropXmlSchemaCollections + False + + + ExcludeAggregates + False + + + ExcludeApplicationRoles + False + + + ExcludeAssemblies + False + + + ExcludeAsymmetricKeys + False + + + ExcludeAudits + True + + + ExcludeBrokerPriorities + False + + + ExcludeCertificates + False + + + ExcludeClrUserDefinedTypes + False + + + ExcludeColumnEncryptionKeys + False + + + ExcludeColumnMasterKeys + False + + + ExcludeContracts + False + + + ExcludeCredentials + True + + + ExcludeDatabaseScopedCredentials + True + + + ExcludeCryptographicProviders + True + + + ExcludeDatabaseAuditSpecifications + True + + + ExcludeDatabaseRoles + False + + + ExcludeDatabaseTriggers + False + + + ExcludeDefaults + False + + + ExcludeEndpoints + True + + + ExcludeErrorMessages + True + + + ExcludeEventNotifications + False + + + ExcludeExternalDataSources + False + + + ExcludeExternalFileFormats + False + + + ExcludeExternalTables + False + + + ExcludeEventSessions + True + + + ExcludeFilegroups + False + + + ExcludeFileTables + False + + + ExcludeFullTextCatalogs + False + + + ExcludeFullTextStoplists + False + + + ExcludeTableValuedFunctions + False + + + ExcludeLinkedServerLogins + True + + + ExcludeLinkedServers + True + + + ExcludeLogins + True + + + ExcludeMessageTypes + False + + + ExcludePartitionFunctions + False + + + ExcludePartitionSchemes + False + + + ExcludeQueues + False + + + ExcludeRemoteServiceBindings + False + + + ExcludeRoutes + True + + + ExcludeRules + False + + + ExcludeScalarValuedFunctions + False + + + ExcludeSearchPropertyLists + False + + + ExcludeSecurityPolicies + False + + + ExcludeSequences + False + + + ExcludeServerAuditSpecifications + True + + + ExcludeServerRoleMembership + True + + + ExcludeServerRoles + True + + + ExcludeServerTriggers + True + + + ExcludeServices + False + + + ExcludeSignatures + False + + + ExcludeStoredProcedures + False + + + ExcludeSymmetricKeys + False + + + ExcludeSynonyms + False + + + ExcludeTables + False + + + ExcludeUserDefinedDataTypes + False + + + ExcludeUserDefinedTableTypes + False + + + ExcludeUsers + False + + + ExcludeViews + False + + + ExcludeXmlSchemaCollections + False + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerDdlTrigger + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlRoute + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlEventNotification + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlEndpoint + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlErrorMessage + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlFile + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlLogin + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlLinkedServer + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlCredential + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseCredential + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseEncryptionKey + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlMasterKey + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseAuditSpecification + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerAudit + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerAuditSpecification + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlCryptographicProvider + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlUserDefinedServerRole + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlEventSession + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseOptions + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlLinkedServerLogin + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseEventSession + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerRoleMembership + ExcludedType + + + Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlAssemblyFile + ExcludedType + + + + + 2 + 100 + Equals_Objects,Not_Supported_Deploy + + + + ZOIDBERG\wrhig + + + + + db_owner + + + + \ No newline at end of file diff --git a/src/BugNET.Database/BugNET.Database.Local.publish.xml b/src/BugNET.Database/BugNET.Database.Local.publish.xml index ae03c26c..18ff6fa4 100644 --- a/src/BugNET.Database/BugNET.Database.Local.publish.xml +++ b/src/BugNET.Database/BugNET.Database.Local.publish.xml @@ -2,9 +2,10 @@ True - BugNET + + BugNET.Database.sql - Data Source=(localdb)\v11.0;Integrated Security=True;Pooling=False + Data Source=(localdb)\ProjectsV13;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True True False 1 diff --git a/src/BugNET.Database/BugNET.Database.sqlproj b/src/BugNET.Database/BugNET.Database.sqlproj index ac3c34e0..18ff4434 100644 --- a/src/BugNET.Database/BugNET.Database.sqlproj +++ b/src/BugNET.Database/BugNET.Database.sqlproj @@ -319,5 +319,6 @@ + \ No newline at end of file diff --git a/src/BugNET.Database/Stored Procedures/BugNet_IssueNotification_GetIssueNotificationsByIssueId.sql b/src/BugNET.Database/Stored Procedures/BugNet_IssueNotification_GetIssueNotificationsByIssueId.sql index 4a3594a8..bcf07b01 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_IssueNotification_GetIssueNotificationsByIssueId.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_IssueNotification_GetIssueNotificationsByIssueId.sql @@ -26,7 +26,6 @@ FROM LEFT OUTER JOIN BugNet_UserProfiles UP ON U.UserName = UP.UserName WHERE IssueId = @IssueId - AND M.Email IS NOT NULL ORDER BY DisplayName @@ -53,6 +52,5 @@ WHERE AND u.UserId = p.UserId AND u.UserId = m.UserId AND u.UserName = up.UserName - AND m.Email IS NOT NULL SELECT DISTINCT IssueId,NotificationUserId, NotificationUserName, NotificationDisplayName, NotificationEmail, NotificationCulture FROM @tmpTable ORDER BY NotificationDisplayName diff --git a/src/BugNET.Database/Stored Procedures/BugNet_ProjectNotification_GetProjectNotificationsByProjectId.sql b/src/BugNET.Database/Stored Procedures/BugNet_ProjectNotification_GetProjectNotificationsByProjectId.sql index 91c46cd0..7cec2f1b 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_ProjectNotification_GetProjectNotificationsByProjectId.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_ProjectNotification_GetProjectNotificationsByProjectId.sql @@ -18,6 +18,5 @@ FROM LEFT OUTER JOIN BugNet_UserProfiles ON U.UserName = BugNet_UserProfiles.UserName WHERE P.ProjectId = @ProjectId - AND m.Email IS NOT NULL ORDER BY DisplayName diff --git a/src/BugNET.Database/Stored Procedures/BugNet_Project_CloneProject.sql b/src/BugNET.Database/Stored Procedures/BugNet_Project_CloneProject.sql index e5b7f313..074acb82 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_Project_CloneProject.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_Project_CloneProject.sql @@ -29,6 +29,7 @@ INSERT BugNet_Projects ProjectManagerUserId, ProjectCreatorUserId, AllowAttachments, + AttachmentStorageType, SvnRepositoryUrl ) SELECT @@ -42,6 +43,7 @@ SELECT ProjectManagerUserId, @CreatorUserId, AllowAttachments, + AttachmentStorageType, SvnRepositoryUrl FROM BugNet_Projects @@ -58,22 +60,14 @@ INSERT BugNet_ProjectMilestones MilestoneName, MilestoneImageUrl, SortOrder, - DateCreated, - MilestoneDueDate, - MilestoneReleaseDate, - MilestoneNotes, - MilestoneCompleted + DateCreated ) SELECT @NewProjectId, MilestoneName, MilestoneImageUrl, SortOrder, - GetDate(), - MilestoneDueDate, - MilestoneReleaseDate, - MilestoneNotes, - MilestoneCompleted + GetDate() FROM BugNet_ProjectMilestones WHERE @@ -420,118 +414,4 @@ FROM WHERE ProjectId = @ProjectId --- Copy Project Defaults -INSERT INTO BugNet_DefaultValues - ([ProjectId] - ,[DefaultType] - ,[StatusId] - ,[IssueOwnerUserId] - ,[IssuePriorityId] - ,[IssueAffectedMilestoneId] - ,[IssueAssignedUserId] - ,[IssueVisibility] - ,[IssueCategoryId] - ,[IssueDueDate] - ,[IssueProgress] - ,[IssueMilestoneId] - ,[IssueEstimation] - ,[IssueResolutionId] - ,[OwnedByNotify] - ,[AssignedToNotify]) -SELECT - @NewProjectId, - DefaultType, - StatusId, - IssueOwnerUserId, - IssuePriorityId, - IssueAffectedMilestoneId, - IssueAssignedUserId, - IssueVisibility, - IssueCategoryId, - IssueDueDate, - IssueProgress, - IssueMilestoneId, - IssueEstimation, - IssueResolutionId, - OwnedByNotify, - AssignedToNotify -FROM - BugNet_DefaultValues -WHERE - ProjectId = @ProjectId - --- Update Default Values with new value keys -UPDATE BugNet_DefaultValues SET - DefaultType = (SELECT IssueTypeId FROM BugNet_ProjectIssueTypes WHERE ProjectId = @NewProjectId AND IssueTypeName = (SELECT IssueTypeName FROM BugNet_ProjectIssueTypes WHERE IssueTypeId = BugNet_DefaultValues.DefaultType)), - StatusId = (SELECT StatusId FROM BugNet_ProjectStatus WHERE ProjectId = @NewProjectId AND StatusName = (SELECT StatusName FROM BugNet_ProjectStatus WHERE StatusId = BugNet_DefaultValues.StatusId)), - IssuePriorityId = (SELECT PriorityId FROM BugNet_ProjectPriorities WHERE ProjectId = @NewProjectId AND PriorityName = (SELECT PriorityName FROM BugNet_ProjectPriorities WHERE PriorityId = BugNet_DefaultValues.IssuePriorityId)), - IssueAffectedMilestoneId = (SELECT MilestoneId FROM BugNet_ProjectMilestones WHERE ProjectId = @NewProjectId AND MilestoneName = (SELECT MilestoneName FROM BugNet_ProjectMilestones WHERE MilestoneId = BugNet_DefaultValues.IssueAffectedMilestoneId)), - IssueCategoryId = (SELECT CategoryId FROM BugNet_ProjectCategories WHERE ProjectId = @NewProjectId AND CategoryName = (SELECT CategoryName FROM BugNet_ProjectCategories WHERE CategoryId = BugNet_DefaultValues.IssueCategoryId)), - IssueMilestoneId = (SELECT MilestoneId FROM BugNet_ProjectMilestones WHERE ProjectId = @NewProjectId AND MilestoneName = (SELECT MilestoneName FROM BugNet_ProjectMilestones WHERE MilestoneId = BugNet_DefaultValues.IssueMilestoneId)), - IssueResolutionId =(SELECT ResolutionId FROM BugNet_ProjectResolutions WHERE ProjectId = @NewProjectId AND ResolutionName = (SELECT ResolutionName FROM BugNet_ProjectResolutions WHERE ResolutionId = BugNet_DefaultValues.IssueResolutionId)) - WHERE ProjectId = @NewProjectId - --- Copy default visiblity -INSERT INTO BugNet_DefaultValuesVisibility - ([ProjectId] - ,[StatusVisibility] - ,[OwnedByVisibility] - ,[PriorityVisibility] - ,[AssignedToVisibility] - ,[PrivateVisibility] - ,[CategoryVisibility] - ,[DueDateVisibility] - ,[TypeVisibility] - ,[PercentCompleteVisibility] - ,[MilestoneVisibility] - ,[EstimationVisibility] - ,[ResolutionVisibility] - ,[AffectedMilestoneVisibility] - ,[StatusEditVisibility] - ,[OwnedByEditVisibility] - ,[PriorityEditVisibility] - ,[AssignedToEditVisibility] - ,[PrivateEditVisibility] - ,[CategoryEditVisibility] - ,[DueDateEditVisibility] - ,[TypeEditVisibility] - ,[PercentCompleteEditVisibility] - ,[MilestoneEditVisibility] - ,[EstimationEditVisibility] - ,[ResolutionEditVisibility] - ,[AffectedMilestoneEditVisibility]) -SELECT - @NewProjectId, - StatusVisibility, - OwnedByVisibility, - PriorityVisibility, - AssignedToVisibility, - PrivateVisibility, - CategoryVisibility, - DueDateVisibility, - TypeVisibility, - PercentCompleteVisibility, - MilestoneVisibility, - EstimationVisibility, - ResolutionVisibility, - AffectedMilestoneVisibility, - StatusEditVisibility, - OwnedByEditVisibility, - PriorityEditVisibility, - AssignedToEditVisibility, - PrivateEditVisibility, - CategoryEditVisibility, - DueDateEditVisibility, - TypeEditVisibility, - PercentCompleteEditVisibility, - MilestoneEditVisibility, - EstimationEditVisibility, - ResolutionEditVisibility, - AffectedMilestoneEditVisibility -FROM - BugNet_DefaultValuesVisibility -WHERE - ProjectId = @ProjectId - - RETURN @NewProjectId \ No newline at end of file diff --git a/src/BugNET.Database/Stored Procedures/BugNet_Project_CreateNewProject.sql b/src/BugNET.Database/Stored Procedures/BugNet_Project_CreateNewProject.sql index 82e98bea..6e295b9d 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_Project_CreateNewProject.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_Project_CreateNewProject.sql @@ -6,7 +6,8 @@ @AttachmentUploadPath nvarchar(80), @ProjectAccessType int, @ProjectCreatorUserName nvarchar(255), - @AllowAttachments bit, + @AllowAttachments int, + @AttachmentStorageType int, @SvnRepositoryUrl nvarchar(255), @AllowIssueVoting bit, @ProjectImageFileContent varbinary(max), @@ -32,6 +33,7 @@ BEGIN ProjectCreatorUserId, ProjectAccessType, AllowAttachments, + AttachmentStorageType, SvnRepositoryUrl, AllowIssueVoting, ProjectImageFileContent, @@ -50,6 +52,7 @@ BEGIN @ProjectCreatorUserId, @ProjectAccessType, @AllowAttachments, + @AttachmentStorageType, @SvnRepositoryUrl, @AllowIssueVoting, @ProjectImageFileContent, @@ -60,4 +63,4 @@ BEGIN RETURN scope_identity() END ELSE - RETURN 0 + RETURN 0 \ No newline at end of file diff --git a/src/BugNET.Database/Stored Procedures/BugNet_Project_GetAllProjects.sql b/src/BugNET.Database/Stored Procedures/BugNet_Project_GetAllProjects.sql index ce0eee83..f267a4f4 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_Project_GetAllProjects.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_Project_GetAllProjects.sql @@ -17,9 +17,9 @@ SELECT CreatorUserName, CreatorDisplayName, AllowAttachments, + AttachmentStorageType, SvnRepositoryUrl, AllowIssueVoting FROM BugNet_ProjectsView -WHERE (@ActiveOnly IS NULL OR (ProjectDisabled = ~@ActiveOnly)) -ORDER BY ProjectName +WHERE (@ActiveOnly IS NULL OR (ProjectDisabled = ~@ActiveOnly)) \ No newline at end of file diff --git a/src/BugNET.Database/Stored Procedures/BugNet_Project_GetProjectsByMemberUsername.sql b/src/BugNET.Database/Stored Procedures/BugNet_Project_GetProjectsByMemberUsername.sql index 805d6106..1ebf5147 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_Project_GetProjectsByMemberUsername.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_Project_GetProjectsByMemberUsername.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [dbo].[BugNet_Project_GetProjectsByMemberUserName] +CREATE PROCEDURE [dbo].[BugNet_Project_GetProjectsByMemberUsername] @UserName nvarchar(255), @ActiveOnly bit AS @@ -26,7 +26,7 @@ SELECT DISTINCT CreatorUserName, CreatorDisplayName, AllowAttachments, - AllowAttachments, + AttachmentStorageType, SvnRepositoryUrl, AllowIssueVoting FROM [BugNet_ProjectsView] diff --git a/src/BugNET.Database/Stored Procedures/BugNet_Project_UpdateProject.sql b/src/BugNET.Database/Stored Procedures/BugNet_Project_UpdateProject.sql index 29eae762..8eafc5c2 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_Project_UpdateProject.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_Project_UpdateProject.sql @@ -8,6 +8,7 @@ @ProjectAccessType int, @ProjectDisabled int, @AllowAttachments bit, + @AttachmentStorageType int, @SvnRepositoryUrl nvarchar(255), @AllowIssueVoting bit, @ProjectImageFileContent varbinary(max), @@ -28,6 +29,7 @@ IF @ProjectImageFileContent IS NULL ProjectAccessType = @ProjectAccessType, ProjectDisabled = @ProjectDisabled, AllowAttachments = @AllowAttachments, + AttachmentStorageType = @AttachmentStorageType, SvnRepositoryUrl = @SvnRepositoryUrl, AllowIssueVoting = @AllowIssueVoting WHERE @@ -42,6 +44,7 @@ ELSE ProjectAccessType = @ProjectAccessType, ProjectDisabled = @ProjectDisabled, AllowAttachments = @AllowAttachments, + AttachmentStorageType = @AttachmentStorageType, SvnRepositoryUrl = @SvnRepositoryUrl, ProjectImageFileContent = @ProjectImageFileContent, ProjectImageFileName = @ProjectImageFileName, diff --git a/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetChildIssues.sql b/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetChildIssues.sql index ce5cc0a0..037b0ece 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetChildIssues.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetChildIssues.sql @@ -8,8 +8,6 @@ SELECT IssueTitle, StatusName as IssueStatus, ResolutionName as IssueResolution, - ISNULL(dbo.BugNet_ProjectStatus.StatusName, N'Unassigned') AS StatusName, - ISNULL(dbo.BugNet_ProjectStatus.StatusImageUrl, '') AS StatusImageUrl, DateCreated FROM BugNet_RelatedIssues diff --git a/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetParentIssues.sql b/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetParentIssues.sql index 502163a8..26763469 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetParentIssues.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetParentIssues.sql @@ -8,8 +8,6 @@ SELECT IssueTitle, StatusName as IssueStatus, ResolutionName as IssueResolution, - ISNULL(dbo.BugNet_ProjectStatus.StatusName, N'Unassigned') AS StatusName, - ISNULL(dbo.BugNet_ProjectStatus.StatusImageUrl, '') AS StatusImageUrl, DateCreated FROM BugNet_RelatedIssues diff --git a/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetRelatedIssues.sql b/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetRelatedIssues.sql index bf4c3ab3..e8eb7b17 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetRelatedIssues.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_RelatedIssue_GetRelatedIssues.sql @@ -8,8 +8,6 @@ SELECT IssueTitle, StatusName as IssueStatus, ResolutionName as IssueResolution, - ISNULL(dbo.BugNet_ProjectStatus.StatusName, N'Unassigned') AS StatusName, - ISNULL(dbo.BugNet_ProjectStatus.StatusImageUrl, '') AS StatusImageUrl, DateCreated FROM BugNet_Issues diff --git a/src/BugNET.Database/Stored Procedures/BugNet_User_GetUsersByProjectId.sql b/src/BugNET.Database/Stored Procedures/BugNet_User_GetUsersByProjectId.sql index 0864a04a..09ca37d3 100644 --- a/src/BugNET.Database/Stored Procedures/BugNet_User_GetUsersByProjectId.sql +++ b/src/BugNET.Database/Stored Procedures/BugNet_User_GetUsersByProjectId.sql @@ -2,7 +2,7 @@ @ProjectId Int, @ExcludeReadonlyUsers bit AS -SELECT DISTINCT U.UserId, U.UserName, FirstName, LastName, DisplayName, Email FROM +SELECT DISTINCT U.UserId, U.UserName, FirstName, LastName, DisplayName FROM Users U JOIN BugNet_UserProjects ON U.UserId = BugNet_UserProjects.UserId diff --git a/src/BugNET.Database/Tables/BugNet_ProjectCustomFieldValues.sql b/src/BugNET.Database/Tables/BugNet_ProjectCustomFieldValues.sql index 9651feed..e3ddf9a1 100644 --- a/src/BugNET.Database/Tables/BugNet_ProjectCustomFieldValues.sql +++ b/src/BugNET.Database/Tables/BugNet_ProjectCustomFieldValues.sql @@ -2,7 +2,7 @@ [CustomFieldValueId] INT IDENTITY (1, 1) NOT NULL, [IssueId] INT NOT NULL, [CustomFieldId] INT NOT NULL, - [CustomFieldValue] NVARCHAR (MAX) NULL, + [CustomFieldValue] NVARCHAR (MAX) NOT NULL, CONSTRAINT [PK_BugNet_ProjectCustomFieldValues] PRIMARY KEY CLUSTERED ([CustomFieldValueId] ASC), CONSTRAINT [FK_BugNet_ProjectCustomFieldValues_BugNet_Issues] FOREIGN KEY ([IssueId]) REFERENCES [dbo].[BugNet_Issues] ([IssueId]) ON DELETE CASCADE, CONSTRAINT [FK_BugNet_ProjectCustomFieldValues_BugNet_ProjectCustomFields] FOREIGN KEY ([CustomFieldId]) REFERENCES [dbo].[BugNet_ProjectCustomFields] ([CustomFieldId]) diff --git a/src/BugNET.Database/Tables/BugNet_Projects.sql b/src/BugNET.Database/Tables/BugNet_Projects.sql index e1b89fd4..1336e7c0 100644 --- a/src/BugNET.Database/Tables/BugNet_Projects.sql +++ b/src/BugNET.Database/Tables/BugNet_Projects.sql @@ -10,6 +10,7 @@ [ProjectManagerUserId] UNIQUEIDENTIFIER NOT NULL, [ProjectCreatorUserId] UNIQUEIDENTIFIER NOT NULL, [AllowAttachments] BIT CONSTRAINT [DF_BugNet_Projects_AllowAttachments] DEFAULT ((1)) NOT NULL, + [AttachmentStorageType] INT NULL, [SvnRepositoryUrl] NVARCHAR (255) NULL, [AllowIssueVoting] BIT CONSTRAINT [DF_BugNet_Projects_AllowIssueVoting] DEFAULT ((1)) NOT NULL, [ProjectImageFileContent] VARBINARY (MAX) NULL, diff --git a/src/BugNET.Database/Views/BugNet_ProjectsView.sql b/src/BugNET.Database/Views/BugNet_ProjectsView.sql index dcae3adf..89a823e9 100644 --- a/src/BugNET.Database/Views/BugNet_ProjectsView.sql +++ b/src/BugNET.Database/Views/BugNet_ProjectsView.sql @@ -4,7 +4,7 @@ SELECT TOP (100) PERCENT dbo.BugNet_Projects.ProjectId, dbo.BugNet_Projects. dbo.BugNet_Projects.AttachmentUploadPath, dbo.BugNet_Projects.ProjectManagerUserId, dbo.BugNet_Projects.ProjectCreatorUserId, dbo.BugNet_Projects.DateCreated, dbo.BugNet_Projects.ProjectDisabled, dbo.BugNet_Projects.ProjectAccessType, Managers.UserName AS ManagerUserName, ISNULL(ManagerUsersProfile.DisplayName, N'none') AS ManagerDisplayName, Creators.UserName AS CreatorUserName, ISNULL(CreatorUsersProfile.DisplayName, - N'none') AS CreatorDisplayName, dbo.BugNet_Projects.AllowAttachments, dbo.BugNet_Projects.SvnRepositoryUrl, + N'none') AS CreatorDisplayName, dbo.BugNet_Projects.AllowAttachments, dbo.BugNet_Projects.AttachmentStorageType, dbo.BugNet_Projects.SvnRepositoryUrl, dbo.BugNet_Projects.AllowIssueVoting FROM dbo.BugNet_Projects INNER JOIN dbo.Users AS Managers ON Managers.UserId = dbo.BugNet_Projects.ProjectManagerUserId INNER JOIN @@ -12,3 +12,4 @@ FROM dbo.BugNet_Projects INNER JOIN dbo.BugNet_UserProfiles AS CreatorUsersProfile ON Creators.UserName = CreatorUsersProfile.UserName LEFT OUTER JOIN dbo.BugNet_UserProfiles AS ManagerUsersProfile ON Managers.UserName = ManagerUsersProfile.UserName ORDER BY dbo.BugNet_Projects.ProjectName +GO \ No newline at end of file diff --git a/src/BugNET.GitHooks/App.config b/src/BugNET.GitHooks/App.config new file mode 100644 index 00000000..7b6851ea --- /dev/null +++ b/src/BugNET.GitHooks/App.config @@ -0,0 +1,80 @@ + + + + +
+ +
+ + + + + + + + admin + + + password + + + Data Source=.\SQLEXPRESS;Database=BugNET;Integrated Security=True; + + + \[?([A-Za-z]{1,50}-(\d+))\]? + + + http://localhost:59847/Webservices/BugNetServices.asmx + + + False + + + + + + http://localhost:59847/Webservices/BugNetServices.asmx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/BugNET.GitHooks.csproj b/src/BugNET.GitHooks/BugNET.GitHooks.csproj new file mode 100644 index 00000000..a5b8c1ad --- /dev/null +++ b/src/BugNET.GitHooks/BugNET.GitHooks.csproj @@ -0,0 +1,121 @@ + + + + + Debug + AnyCPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5} + Exe + BugNET.GitHooks + BugNET.GitHooks + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\log4net.2.0.5\lib\net45-full\log4net.dll + + + + 3.5 + + + + + + + + + Properties\GlobalAssemblyInfo.cs + + + + + + + + Settings.settings + True + True + + + True + True + Reference.map + + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + Dynamic + Web References\WebServices\ + http://localhost:59847/Webservices/BugNetServices.asmx + + + + + Settings + BugNET_SubversionHooks_BugNetServices_BugNetServices + + + + + + + MSDiscoCodeGenerator + Reference.cs + + + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/CommandExecutor.cs b/src/BugNET.GitHooks/CommandExecutor.cs new file mode 100644 index 00000000..d037a311 --- /dev/null +++ b/src/BugNET.GitHooks/CommandExecutor.cs @@ -0,0 +1,131 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text.RegularExpressions; + +namespace BugNET.GitHooks +{ + /// + /// + /// + public static class CommandExecutor + { + + private static readonly Dictionary Errors = new Dictionary(); + + + /// + /// Runs the command. + /// + /// The command. + /// The args. + /// if set to true [echo command]. + /// + public static string RunCommand(string command, string args, bool echoCommand) + { + return RunCommand(command, args, 300, echoCommand); + } + + + /// + /// Runs a separate process and returns the standard output and error text. This is intended for command line apps only. + /// + /// + /// + /// + /// + /// + public static string RunCommand(string command, string args, int killAfterSeconds = 300, bool echoCommand = true) + { + Process proc = null; + log4net.ILog logger = log4net.LogManager.GetLogger("CommandExecutor"); + + if (logger.IsDebugEnabled) logger.DebugFormat("Running Commandline: {0} {1}",command,args); + + try + { + var startInfo = new ProcessStartInfo(command, args) + { + CreateNoWindow = true, + WindowStyle = ProcessWindowStyle.Hidden, + UseShellExecute = false, + RedirectStandardOutput = true, + RedirectStandardError = true, + StandardOutputEncoding = System.Text.Encoding.Default + }; + + proc = new Process {StartInfo = startInfo}; + proc.ErrorDataReceived += CommandProcessErrorDataReceived; + proc.Start(); + + proc.BeginErrorReadLine(); + + var retVal = proc.StandardOutput.ReadToEnd(); + + if (!proc.WaitForExit(killAfterSeconds * 1000)) + proc.Kill(); + + if (Errors.ContainsKey(proc.Id)) + retVal += Environment.NewLine + "Error: " + Environment.NewLine + Errors[proc.Id]; + + if (echoCommand) + { + // hide password from being displayed + var regexObj = new Regex("--password\\s+\\S+\\s", RegexOptions.IgnoreCase); + args = regexObj.Replace(args, "--password **** "); + + + return command + " " + args + Environment.NewLine + retVal; + } + else + { + return retVal; + } + + } + catch (Exception ex) + { + logger.ErrorFormat("An error occurred running the command line: {2} {3}\n\n {0} \n\n {1}", ex.Message, ex.StackTrace, command, args); + return string.Empty; + } + finally + { + if (proc != null) + { + if (Errors.ContainsKey(proc.Id)) + Errors.Remove(proc.Id); + + proc.Dispose(); + } + } + + } + + /// + /// Event handler to capture error data. At least one of the output streams has to be read asynchronously + /// to avoid a deadlock. + /// + /// + /// + static void CommandProcessErrorDataReceived(object sender, DataReceivedEventArgs e) + { + // RC: Sometimes an error occurres in here. I think the process is ending while we are getting the data, but Im not sure. + // I'm stuffing it for now. + try + { + if (sender == null) return; + + if (string.IsNullOrEmpty(e.Data)) return; + + var id = ((Process)sender).Id; + + if (Errors.ContainsKey(id)) + Errors[id] += Environment.NewLine + e.Data; + else + Errors.Add(id, e.Data); + } + catch (Exception) + { } + } + } +} diff --git a/src/BugNET.GitHooks/IssueTrackerIntegration.cs b/src/BugNET.GitHooks/IssueTrackerIntegration.cs new file mode 100644 index 00000000..7f990fdf --- /dev/null +++ b/src/BugNET.GitHooks/IssueTrackerIntegration.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text.RegularExpressions; +using BugNET.GitHooks.Properties; +using BugNET.GitHooks.WebServices; + +namespace BugNET.GitHooks +{ + /// + /// + /// + public class IssueTrackerIntegration + { + log4net.ILog logger = log4net.LogManager.GetLogger("IssueTrackerIntegration"); + /// + /// Updates the issue tracker from revision. + /// + /// The repository. + /// The revision. + public void UpdateIssueTrackerFromRevision(string repository, string revision) + { + string svnlook = String.IsNullOrEmpty(Settings.Default.SubversionBinDirectory) ? + "git.exe" : Path.Combine(Settings.Default.SubversionBinDirectory, "git.exe"); + + var issueIds = new List(); + logger.Info("Running git.exe..."); + + // Pretty Format Paramters: https://git-scm.com/docs/pretty-formats + string infoOutput = CommandExecutor.RunCommand(svnlook, string.Format("-C \"{1}\" log {0} --max-count 1 --pretty=format:\"%cn%n%ct%n%B\"", revision, repository)); + + logger.DebugFormat("git output: {0}", infoOutput); + logger.DebugFormat("Looking for search pattern in revision:{0} and repository:{1}...", revision, repository); + + string[] infoLines = infoOutput.Split(new char[] { '\n' }, 4); + // Line 0 is the command + string author = infoLines[1]; + string dateTime = this.UnixTimeStampToDateTime(double.Parse(infoLines[2])).ToString(); + string logMessage = infoLines[3]; + + // Read the push count for checkin. GIT has no numeric revisions + // TODO: Check if revision can be changed to string to use the hash + string revOutput = CommandExecutor.RunCommand(svnlook, string.Format("-C \"{1}\" rev-list --count {0}", revision, repository)); + string[] revLines = revOutput.Split(new char[] { '\n' }, 3); + string revisioncount = revLines[1]; + + // get all the matching issue id's + Regex RegexObj = new Regex(Settings.Default.IssueIdRegEx.ToString()); + Match MatchResults = RegexObj.Match(logMessage); + + logger.InfoFormat("Found {0} matches...", MatchResults.Groups.Count); + + while (MatchResults.Success) + { + try + { + issueIds.Add(int.Parse(MatchResults.Groups[1].Value.Substring(MatchResults.Groups[1].Value.IndexOf("-") + 1))); + } + catch (Exception ex) + { + logger.ErrorFormat("An error occurred parsing the issue id: {0} \n\n {1}", ex.Message, ex.StackTrace); + } + finally + { + MatchResults = MatchResults.NextMatch(); + } + } + + if (issueIds.Count > 0) + { + + BugNetServices services = new BugNetServices(); + services.CookieContainer = new System.Net.CookieContainer(); + services.Url = Settings.Default.BugNetServicesUrl; + if (Convert.ToBoolean(Settings.Default.BugNetWindowsAuthentication)) + services.UseDefaultCredentials = true; + + try + { + logger.Info("Logging in to BugNET webservices..."); + if (Convert.ToBoolean(Settings.Default.BugNetWindowsAuthentication)) + { + services.UseDefaultCredentials = true; + } + else + { + logger.Info("Logging in to BugNET webservices..."); + bool result = services.LogIn(Settings.Default.BugNetUsername, Settings.Default.BugNetPassword); + if (result) + { + logger.Info("Login successful..."); + } + else + { + throw new UnauthorizedAccessException("Unauthorized access exception, please check the user name and password settings."); + } + } + + foreach (var id in issueIds) + { + try + { + logger.Info("Creating new issue revision..."); + logger.DebugFormat("\n Revision:{0} Id:{1} Repository:{2} Author:{3} DateTime:{4} LogMessage:{5}", revision, id, GetRepositoryName(repository), author, dateTime, Regex.Replace(logMessage, Settings.Default.IssueIdRegEx.ToString(), "$1")); + + bool success = services.CreateNewIssueRevision( + int.Parse(revisioncount), + id, + GetRepositoryName(repository), + author, + dateTime, + Regex.Replace(logMessage, Settings.Default.IssueIdRegEx.ToString(), "$1"), + revision, + ""); + + if (success) + logger.Info("Successfully added new issue revision..."); + else + logger.Warn("Adding new issue revision failed!"); + } + catch (Exception ex) + { + logger.ErrorFormat("An error occurred adding a new issue revision to BugNET: {0} \n\n {1}", ex.Message, ex.StackTrace); + } + + } + } + catch (UnauthorizedAccessException ex) + { + logger.ErrorFormat("{0} \n\n {1}", ex.Message, ex.StackTrace); + } + catch (Exception ex) + { + logger.FatalFormat("An error occurred contacting the BugNET web services: {0} \n\n {1}", ex.Message, ex.StackTrace); + System.Environment.Exit(1); + } + + + }//if + + } + + /// + /// Gets the name of the repository from the directory name repository. + /// + /// The repository path. + /// + public static string GetRepositoryName(string repositoryPath) + { + try + { + DirectoryInfo di = new DirectoryInfo(repositoryPath); + return di.Name; + } + catch + { + return string.Empty; + } + } + + /// + /// Converts a Unixtimestamp to a Local Time + /// + /// Unix Timestamp + /// Local Time + private DateTime UnixTimeStampToDateTime(double unixTimeStamp) + { + // Unix timestamp is seconds past epoch + System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc); + dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime(); + return dtDateTime; + } + } +} diff --git a/src/BugNET.GitHooks/Program.cs b/src/BugNET.GitHooks/Program.cs new file mode 100644 index 00000000..b57cf8e2 --- /dev/null +++ b/src/BugNET.GitHooks/Program.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BugNET.GitHooks +{ + class Program + { + /// + /// Mains the specified args. + /// + /// The args. + static void Main(string[] args) + { + + log4net.Config.XmlConfigurator.Configure(); + log4net.ILog logger = log4net.LogManager.GetLogger("Main"); + + //Console.WriteLine(IssueTrackerIntegration.GetRepositoryName(@"F:\SVN\Repositories\MyRepo")); + //Console.ReadLine(); + + try + { + if (string.Compare("post-commit", args[0], true) == 0) + { + logger.Info("Starting post-commit..."); + + string repository = args[1]; + string revision = args[2]; + + logger.InfoFormat("Executing IssueTrackerIntegration.UpdateIssueTrackerFromRevision(\"{0}\", \"{1}\")", repository, revision); + IssueTrackerIntegration integration = new IssueTrackerIntegration(); + integration.UpdateIssueTrackerFromRevision(repository, revision); + logger.Info("Finished IssueTrackerIntegration.UpdateIssueTrackerFromRevision\n"); + } + } + catch (Exception ex) + { + logger.ErrorFormat("An error occurred: {0} \n\n {1}", ex.Message, ex.StackTrace); + } + } + } +} diff --git a/src/BugNET.GitHooks/Properties/AssemblyInfo.cs b/src/BugNET.GitHooks/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..d16e8f99 --- /dev/null +++ b/src/BugNET.GitHooks/Properties/AssemblyInfo.cs @@ -0,0 +1,7 @@ +using System.Reflection; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("BugNET.GenericHooks")] +[assembly: AssemblyDescription("")] diff --git a/src/BugNET.GitHooks/Properties/Settings.Designer.cs b/src/BugNET.GitHooks/Properties/Settings.Designer.cs new file mode 100644 index 00000000..31146900 --- /dev/null +++ b/src/BugNET.GitHooks/Properties/Settings.Designer.cs @@ -0,0 +1,99 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace BugNET.GitHooks.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("admin")] + public string BugNetUsername { + get { + return ((string)(this["BugNetUsername"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("password")] + public string BugNetPassword { + get { + return ((string)(this["BugNetPassword"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.\\SQLEXPRESS;Database=BugNET;Integrated Security=True;")] + public string ConnectionString { + get { + return ((string)(this["ConnectionString"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("\\[?([A-Za-z]{1,50}-(\\d+))\\]?")] + public string IssueIdRegEx { + get { + return ((string)(this["IssueIdRegEx"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("http://localhost:59847/Webservices/BugNetServices.asmx")] + public string BugNetServicesUrl { + get { + return ((string)(this["BugNetServicesUrl"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public string BugNetWindowsAuthentication { + get { + return ((string)(this["BugNetWindowsAuthentication"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string SubversionBinDirectory { + get { + return ((string)(this["SubversionBinDirectory"])); + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)] + [global::System.Configuration.DefaultSettingValueAttribute("http://localhost:59847/Webservices/BugNetServices.asmx")] + public string BugNET_SubversionHooks_BugNetServices_BugNetServices { + get { + return ((string)(this["BugNET_SubversionHooks_BugNetServices_BugNetServices"])); + } + } + } +} diff --git a/src/BugNET.GitHooks/Properties/Settings.settings b/src/BugNET.GitHooks/Properties/Settings.settings new file mode 100644 index 00000000..89a9d307 --- /dev/null +++ b/src/BugNET.GitHooks/Properties/Settings.settings @@ -0,0 +1,30 @@ + + + + + + admin + + + password + + + Data Source=.\SQLEXPRESS;Database=BugNET;Integrated Security=True; + + + \[?([A-Za-z]{1,50}-(\d+))\]? + + + http://localhost:59847/Webservices/BugNetServices.asmx + + + False + + + + + + http://localhost:59847/Webservices/BugNetServices.asmx + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/Web References/WebServices/BugNetServices.disco b/src/BugNET.GitHooks/Web References/WebServices/BugNetServices.disco new file mode 100644 index 00000000..ccfef616 --- /dev/null +++ b/src/BugNET.GitHooks/Web References/WebServices/BugNetServices.disco @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/Web References/WebServices/BugNetServices.wsdl b/src/BugNET.GitHooks/Web References/WebServices/BugNetServices.wsdl new file mode 100644 index 00000000..3c8065a4 --- /dev/null +++ b/src/BugNET.GitHooks/Web References/WebServices/BugNetServices.wsdl @@ -0,0 +1,747 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/Web References/WebServices/Reference.cs b/src/BugNET.GitHooks/Web References/WebServices/Reference.cs new file mode 100644 index 00000000..00523f1c --- /dev/null +++ b/src/BugNET.GitHooks/Web References/WebServices/Reference.cs @@ -0,0 +1,1057 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// +// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.42000. +// +#pragma warning disable 1591 + +namespace BugNET.GitHooks.WebServices { + using System; + using System.Web.Services; + using System.Diagnostics; + using System.Web.Services.Protocols; + using System.Xml.Serialization; + using System.ComponentModel; + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Web.Services.WebServiceBindingAttribute(Name="BugNetServicesSoap", Namespace="http://bugnetproject.com/")] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(object[]))] + public partial class BugNetServices : System.Web.Services.Protocols.SoapHttpClientProtocol { + + private System.Threading.SendOrPostCallback ValidIssueOperationCompleted; + + private System.Threading.SendOrPostCallback CreateNewIssueRevisionOperationCompleted; + + private System.Threading.SendOrPostCallback CreateNewIssueAttachmentOperationCompleted; + + private System.Threading.SendOrPostCallback RenameCategoryOperationCompleted; + + private System.Threading.SendOrPostCallback MoveCategoryOperationCompleted; + + private System.Threading.SendOrPostCallback GetCategoriesOperationCompleted; + + private System.Threading.SendOrPostCallback AddCategoryOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteCategoryOperationCompleted; + + private System.Threading.SendOrPostCallback GetResolutionsOperationCompleted; + + private System.Threading.SendOrPostCallback GetMilestonesOperationCompleted; + + private System.Threading.SendOrPostCallback GetIssueTypesOperationCompleted; + + private System.Threading.SendOrPostCallback GetPrioritiesOperationCompleted; + + private System.Threading.SendOrPostCallback GetStatusOperationCompleted; + + private System.Threading.SendOrPostCallback GetProjectIdOperationCompleted; + + private System.Threading.SendOrPostCallback GetProjectIssuesOperationCompleted; + + private System.Threading.SendOrPostCallback LogInOperationCompleted; + + private System.Threading.SendOrPostCallback LogOutOperationCompleted; + + private bool useDefaultCredentialsSetExplicitly; + + /// + public BugNetServices() { + this.Url = global::BugNET.GitHooks.Properties.Settings.Default.BugNET_SubversionHooks_BugNetServices_BugNetServices; + if ((this.IsLocalFileSystemWebService(this.Url) == true)) { + this.UseDefaultCredentials = true; + this.useDefaultCredentialsSetExplicitly = false; + } + else { + this.useDefaultCredentialsSetExplicitly = true; + } + } + + public new string Url { + get { + return base.Url; + } + set { + if ((((this.IsLocalFileSystemWebService(base.Url) == true) + && (this.useDefaultCredentialsSetExplicitly == false)) + && (this.IsLocalFileSystemWebService(value) == false))) { + base.UseDefaultCredentials = false; + } + base.Url = value; + } + } + + public new bool UseDefaultCredentials { + get { + return base.UseDefaultCredentials; + } + set { + base.UseDefaultCredentials = value; + this.useDefaultCredentialsSetExplicitly = true; + } + } + + /// + public event ValidIssueCompletedEventHandler ValidIssueCompleted; + + /// + public event CreateNewIssueRevisionCompletedEventHandler CreateNewIssueRevisionCompleted; + + /// + public event CreateNewIssueAttachmentCompletedEventHandler CreateNewIssueAttachmentCompleted; + + /// + public event RenameCategoryCompletedEventHandler RenameCategoryCompleted; + + /// + public event MoveCategoryCompletedEventHandler MoveCategoryCompleted; + + /// + public event GetCategoriesCompletedEventHandler GetCategoriesCompleted; + + /// + public event AddCategoryCompletedEventHandler AddCategoryCompleted; + + /// + public event DeleteCategoryCompletedEventHandler DeleteCategoryCompleted; + + /// + public event GetResolutionsCompletedEventHandler GetResolutionsCompleted; + + /// + public event GetMilestonesCompletedEventHandler GetMilestonesCompleted; + + /// + public event GetIssueTypesCompletedEventHandler GetIssueTypesCompleted; + + /// + public event GetPrioritiesCompletedEventHandler GetPrioritiesCompleted; + + /// + public event GetStatusCompletedEventHandler GetStatusCompleted; + + /// + public event GetProjectIdCompletedEventHandler GetProjectIdCompleted; + + /// + public event GetProjectIssuesCompletedEventHandler GetProjectIssuesCompleted; + + /// + public event LogInCompletedEventHandler LogInCompleted; + + /// + public event LogOutCompletedEventHandler LogOutCompleted; + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/ValidIssue", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool ValidIssue(int issueId) { + object[] results = this.Invoke("ValidIssue", new object[] { + issueId}); + return ((bool)(results[0])); + } + + /// + public void ValidIssueAsync(int issueId) { + this.ValidIssueAsync(issueId, null); + } + + /// + public void ValidIssueAsync(int issueId, object userState) { + if ((this.ValidIssueOperationCompleted == null)) { + this.ValidIssueOperationCompleted = new System.Threading.SendOrPostCallback(this.OnValidIssueOperationCompleted); + } + this.InvokeAsync("ValidIssue", new object[] { + issueId}, this.ValidIssueOperationCompleted, userState); + } + + private void OnValidIssueOperationCompleted(object arg) { + if ((this.ValidIssueCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.ValidIssueCompleted(this, new ValidIssueCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/CreateNewIssueRevision", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool CreateNewIssueRevision(int revision, int issueId, string repository, string revisionAuthor, string revisionDate, string revisionMessage, string changeset, string branch) { + object[] results = this.Invoke("CreateNewIssueRevision", new object[] { + revision, + issueId, + repository, + revisionAuthor, + revisionDate, + revisionMessage, + changeset, + branch}); + return ((bool)(results[0])); + } + + /// + public void CreateNewIssueRevisionAsync(int revision, int issueId, string repository, string revisionAuthor, string revisionDate, string revisionMessage, string changeset, string branch) { + this.CreateNewIssueRevisionAsync(revision, issueId, repository, revisionAuthor, revisionDate, revisionMessage, changeset, branch, null); + } + + /// + public void CreateNewIssueRevisionAsync(int revision, int issueId, string repository, string revisionAuthor, string revisionDate, string revisionMessage, string changeset, string branch, object userState) { + if ((this.CreateNewIssueRevisionOperationCompleted == null)) { + this.CreateNewIssueRevisionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateNewIssueRevisionOperationCompleted); + } + this.InvokeAsync("CreateNewIssueRevision", new object[] { + revision, + issueId, + repository, + revisionAuthor, + revisionDate, + revisionMessage, + changeset, + branch}, this.CreateNewIssueRevisionOperationCompleted, userState); + } + + private void OnCreateNewIssueRevisionOperationCompleted(object arg) { + if ((this.CreateNewIssueRevisionCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateNewIssueRevisionCompleted(this, new CreateNewIssueRevisionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/CreateNewIssueAttachment", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool CreateNewIssueAttachment(int issueId, string creatorUserName, string fileName, string contentType, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] attachment, int size, string description) { + object[] results = this.Invoke("CreateNewIssueAttachment", new object[] { + issueId, + creatorUserName, + fileName, + contentType, + attachment, + size, + description}); + return ((bool)(results[0])); + } + + /// + public void CreateNewIssueAttachmentAsync(int issueId, string creatorUserName, string fileName, string contentType, byte[] attachment, int size, string description) { + this.CreateNewIssueAttachmentAsync(issueId, creatorUserName, fileName, contentType, attachment, size, description, null); + } + + /// + public void CreateNewIssueAttachmentAsync(int issueId, string creatorUserName, string fileName, string contentType, byte[] attachment, int size, string description, object userState) { + if ((this.CreateNewIssueAttachmentOperationCompleted == null)) { + this.CreateNewIssueAttachmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateNewIssueAttachmentOperationCompleted); + } + this.InvokeAsync("CreateNewIssueAttachment", new object[] { + issueId, + creatorUserName, + fileName, + contentType, + attachment, + size, + description}, this.CreateNewIssueAttachmentOperationCompleted, userState); + } + + private void OnCreateNewIssueAttachmentOperationCompleted(object arg) { + if ((this.CreateNewIssueAttachmentCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateNewIssueAttachmentCompleted(this, new CreateNewIssueAttachmentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/RenameCategory", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void RenameCategory(string categoryId, string name) { + this.Invoke("RenameCategory", new object[] { + categoryId, + name}); + } + + /// + public void RenameCategoryAsync(string categoryId, string name) { + this.RenameCategoryAsync(categoryId, name, null); + } + + /// + public void RenameCategoryAsync(string categoryId, string name, object userState) { + if ((this.RenameCategoryOperationCompleted == null)) { + this.RenameCategoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameCategoryOperationCompleted); + } + this.InvokeAsync("RenameCategory", new object[] { + categoryId, + name}, this.RenameCategoryOperationCompleted, userState); + } + + private void OnRenameCategoryOperationCompleted(object arg) { + if ((this.RenameCategoryCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RenameCategoryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/MoveCategory", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void MoveCategory(string categoryId, string oldParentId, string newParentId) { + this.Invoke("MoveCategory", new object[] { + categoryId, + oldParentId, + newParentId}); + } + + /// + public void MoveCategoryAsync(string categoryId, string oldParentId, string newParentId) { + this.MoveCategoryAsync(categoryId, oldParentId, newParentId, null); + } + + /// + public void MoveCategoryAsync(string categoryId, string oldParentId, string newParentId, object userState) { + if ((this.MoveCategoryOperationCompleted == null)) { + this.MoveCategoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnMoveCategoryOperationCompleted); + } + this.InvokeAsync("MoveCategory", new object[] { + categoryId, + oldParentId, + newParentId}, this.MoveCategoryOperationCompleted, userState); + } + + private void OnMoveCategoryOperationCompleted(object arg) { + if ((this.MoveCategoryCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.MoveCategoryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetCategories", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string GetCategories(string projectId) { + object[] results = this.Invoke("GetCategories", new object[] { + projectId}); + return ((string)(results[0])); + } + + /// + public void GetCategoriesAsync(string projectId) { + this.GetCategoriesAsync(projectId, null); + } + + /// + public void GetCategoriesAsync(string projectId, object userState) { + if ((this.GetCategoriesOperationCompleted == null)) { + this.GetCategoriesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCategoriesOperationCompleted); + } + this.InvokeAsync("GetCategories", new object[] { + projectId}, this.GetCategoriesOperationCompleted, userState); + } + + private void OnGetCategoriesOperationCompleted(object arg) { + if ((this.GetCategoriesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetCategoriesCompleted(this, new GetCategoriesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/AddCategory", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int AddCategory(string projectId, string name, string parentCategoryId) { + object[] results = this.Invoke("AddCategory", new object[] { + projectId, + name, + parentCategoryId}); + return ((int)(results[0])); + } + + /// + public void AddCategoryAsync(string projectId, string name, string parentCategoryId) { + this.AddCategoryAsync(projectId, name, parentCategoryId, null); + } + + /// + public void AddCategoryAsync(string projectId, string name, string parentCategoryId, object userState) { + if ((this.AddCategoryOperationCompleted == null)) { + this.AddCategoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddCategoryOperationCompleted); + } + this.InvokeAsync("AddCategory", new object[] { + projectId, + name, + parentCategoryId}, this.AddCategoryOperationCompleted, userState); + } + + private void OnAddCategoryOperationCompleted(object arg) { + if ((this.AddCategoryCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddCategoryCompleted(this, new AddCategoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/DeleteCategory", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void DeleteCategory(string categoryId) { + this.Invoke("DeleteCategory", new object[] { + categoryId}); + } + + /// + public void DeleteCategoryAsync(string categoryId) { + this.DeleteCategoryAsync(categoryId, null); + } + + /// + public void DeleteCategoryAsync(string categoryId, object userState) { + if ((this.DeleteCategoryOperationCompleted == null)) { + this.DeleteCategoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteCategoryOperationCompleted); + } + this.InvokeAsync("DeleteCategory", new object[] { + categoryId}, this.DeleteCategoryOperationCompleted, userState); + } + + private void OnDeleteCategoryOperationCompleted(object arg) { + if ((this.DeleteCategoryCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteCategoryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetResolutions", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string[] GetResolutions(int ProjectId) { + object[] results = this.Invoke("GetResolutions", new object[] { + ProjectId}); + return ((string[])(results[0])); + } + + /// + public void GetResolutionsAsync(int ProjectId) { + this.GetResolutionsAsync(ProjectId, null); + } + + /// + public void GetResolutionsAsync(int ProjectId, object userState) { + if ((this.GetResolutionsOperationCompleted == null)) { + this.GetResolutionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetResolutionsOperationCompleted); + } + this.InvokeAsync("GetResolutions", new object[] { + ProjectId}, this.GetResolutionsOperationCompleted, userState); + } + + private void OnGetResolutionsOperationCompleted(object arg) { + if ((this.GetResolutionsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetResolutionsCompleted(this, new GetResolutionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetMilestones", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string[] GetMilestones(int ProjectId) { + object[] results = this.Invoke("GetMilestones", new object[] { + ProjectId}); + return ((string[])(results[0])); + } + + /// + public void GetMilestonesAsync(int ProjectId) { + this.GetMilestonesAsync(ProjectId, null); + } + + /// + public void GetMilestonesAsync(int ProjectId, object userState) { + if ((this.GetMilestonesOperationCompleted == null)) { + this.GetMilestonesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMilestonesOperationCompleted); + } + this.InvokeAsync("GetMilestones", new object[] { + ProjectId}, this.GetMilestonesOperationCompleted, userState); + } + + private void OnGetMilestonesOperationCompleted(object arg) { + if ((this.GetMilestonesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetMilestonesCompleted(this, new GetMilestonesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetIssueTypes", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string[] GetIssueTypes(int ProjectId) { + object[] results = this.Invoke("GetIssueTypes", new object[] { + ProjectId}); + return ((string[])(results[0])); + } + + /// + public void GetIssueTypesAsync(int ProjectId) { + this.GetIssueTypesAsync(ProjectId, null); + } + + /// + public void GetIssueTypesAsync(int ProjectId, object userState) { + if ((this.GetIssueTypesOperationCompleted == null)) { + this.GetIssueTypesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetIssueTypesOperationCompleted); + } + this.InvokeAsync("GetIssueTypes", new object[] { + ProjectId}, this.GetIssueTypesOperationCompleted, userState); + } + + private void OnGetIssueTypesOperationCompleted(object arg) { + if ((this.GetIssueTypesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetIssueTypesCompleted(this, new GetIssueTypesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetPriorities", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string[] GetPriorities(int ProjectId) { + object[] results = this.Invoke("GetPriorities", new object[] { + ProjectId}); + return ((string[])(results[0])); + } + + /// + public void GetPrioritiesAsync(int ProjectId) { + this.GetPrioritiesAsync(ProjectId, null); + } + + /// + public void GetPrioritiesAsync(int ProjectId, object userState) { + if ((this.GetPrioritiesOperationCompleted == null)) { + this.GetPrioritiesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPrioritiesOperationCompleted); + } + this.InvokeAsync("GetPriorities", new object[] { + ProjectId}, this.GetPrioritiesOperationCompleted, userState); + } + + private void OnGetPrioritiesOperationCompleted(object arg) { + if ((this.GetPrioritiesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetPrioritiesCompleted(this, new GetPrioritiesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetStatus", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string[] GetStatus(int ProjectId) { + object[] results = this.Invoke("GetStatus", new object[] { + ProjectId}); + return ((string[])(results[0])); + } + + /// + public void GetStatusAsync(int ProjectId) { + this.GetStatusAsync(ProjectId, null); + } + + /// + public void GetStatusAsync(int ProjectId, object userState) { + if ((this.GetStatusOperationCompleted == null)) { + this.GetStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetStatusOperationCompleted); + } + this.InvokeAsync("GetStatus", new object[] { + ProjectId}, this.GetStatusOperationCompleted, userState); + } + + private void OnGetStatusOperationCompleted(object arg) { + if ((this.GetStatusCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetStatusCompleted(this, new GetStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetProjectId", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int GetProjectId(string ProjectCode) { + object[] results = this.Invoke("GetProjectId", new object[] { + ProjectCode}); + return ((int)(results[0])); + } + + /// + public void GetProjectIdAsync(string ProjectCode) { + this.GetProjectIdAsync(ProjectCode, null); + } + + /// + public void GetProjectIdAsync(string ProjectCode, object userState) { + if ((this.GetProjectIdOperationCompleted == null)) { + this.GetProjectIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProjectIdOperationCompleted); + } + this.InvokeAsync("GetProjectId", new object[] { + ProjectCode}, this.GetProjectIdOperationCompleted, userState); + } + + private void OnGetProjectIdOperationCompleted(object arg) { + if ((this.GetProjectIdCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetProjectIdCompleted(this, new GetProjectIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/GetProjectIssues", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public object[] GetProjectIssues(int ProjectId, string Filter) { + object[] results = this.Invoke("GetProjectIssues", new object[] { + ProjectId, + Filter}); + return ((object[])(results[0])); + } + + /// + public void GetProjectIssuesAsync(int ProjectId, string Filter) { + this.GetProjectIssuesAsync(ProjectId, Filter, null); + } + + /// + public void GetProjectIssuesAsync(int ProjectId, string Filter, object userState) { + if ((this.GetProjectIssuesOperationCompleted == null)) { + this.GetProjectIssuesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProjectIssuesOperationCompleted); + } + this.InvokeAsync("GetProjectIssues", new object[] { + ProjectId, + Filter}, this.GetProjectIssuesOperationCompleted, userState); + } + + private void OnGetProjectIssuesOperationCompleted(object arg) { + if ((this.GetProjectIssuesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetProjectIssuesCompleted(this, new GetProjectIssuesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/LogIn", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool LogIn(string userName, string password) { + object[] results = this.Invoke("LogIn", new object[] { + userName, + password}); + return ((bool)(results[0])); + } + + /// + public void LogInAsync(string userName, string password) { + this.LogInAsync(userName, password, null); + } + + /// + public void LogInAsync(string userName, string password, object userState) { + if ((this.LogInOperationCompleted == null)) { + this.LogInOperationCompleted = new System.Threading.SendOrPostCallback(this.OnLogInOperationCompleted); + } + this.InvokeAsync("LogIn", new object[] { + userName, + password}, this.LogInOperationCompleted, userState); + } + + private void OnLogInOperationCompleted(object arg) { + if ((this.LogInCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.LogInCompleted(this, new LogInCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://bugnetproject.com/LogOut", RequestNamespace="http://bugnetproject.com/", ResponseNamespace="http://bugnetproject.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void LogOut() { + this.Invoke("LogOut", new object[0]); + } + + /// + public void LogOutAsync() { + this.LogOutAsync(null); + } + + /// + public void LogOutAsync(object userState) { + if ((this.LogOutOperationCompleted == null)) { + this.LogOutOperationCompleted = new System.Threading.SendOrPostCallback(this.OnLogOutOperationCompleted); + } + this.InvokeAsync("LogOut", new object[0], this.LogOutOperationCompleted, userState); + } + + private void OnLogOutOperationCompleted(object arg) { + if ((this.LogOutCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.LogOutCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + public new void CancelAsync(object userState) { + base.CancelAsync(userState); + } + + private bool IsLocalFileSystemWebService(string url) { + if (((url == null) + || (url == string.Empty))) { + return false; + } + System.Uri wsUri = new System.Uri(url); + if (((wsUri.Port >= 1024) + && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) { + return true; + } + return false; + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void ValidIssueCompletedEventHandler(object sender, ValidIssueCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ValidIssueCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal ValidIssueCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void CreateNewIssueRevisionCompletedEventHandler(object sender, CreateNewIssueRevisionCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateNewIssueRevisionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateNewIssueRevisionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void CreateNewIssueAttachmentCompletedEventHandler(object sender, CreateNewIssueAttachmentCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateNewIssueAttachmentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateNewIssueAttachmentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void RenameCategoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void MoveCategoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetCategoriesCompletedEventHandler(object sender, GetCategoriesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetCategoriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetCategoriesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void AddCategoryCompletedEventHandler(object sender, AddCategoryCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddCategoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddCategoryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void DeleteCategoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetResolutionsCompletedEventHandler(object sender, GetResolutionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetResolutionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetResolutionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetMilestonesCompletedEventHandler(object sender, GetMilestonesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMilestonesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMilestonesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetIssueTypesCompletedEventHandler(object sender, GetIssueTypesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetIssueTypesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetIssueTypesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetPrioritiesCompletedEventHandler(object sender, GetPrioritiesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetPrioritiesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetPrioritiesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetStatusCompletedEventHandler(object sender, GetStatusCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetProjectIdCompletedEventHandler(object sender, GetProjectIdCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetProjectIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetProjectIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void GetProjectIssuesCompletedEventHandler(object sender, GetProjectIssuesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetProjectIssuesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetProjectIssuesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public object[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((object[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void LogInCompletedEventHandler(object sender, LogInCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class LogInCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal LogInCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.7.2046.0")] + public delegate void LogOutCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); +} + +#pragma warning restore 1591 \ No newline at end of file diff --git a/src/BugNET.GitHooks/Web References/WebServices/Reference.map b/src/BugNET.GitHooks/Web References/WebServices/Reference.map new file mode 100644 index 00000000..284bcf20 --- /dev/null +++ b/src/BugNET.GitHooks/Web References/WebServices/Reference.map @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/packages.config b/src/BugNET.GitHooks/packages.config new file mode 100644 index 00000000..c40d18e3 --- /dev/null +++ b/src/BugNET.GitHooks/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/BugNET.GitHooks/post-receive b/src/BugNET.GitHooks/post-receive new file mode 100644 index 00000000..d4fa8079 --- /dev/null +++ b/src/BugNET.GitHooks/post-receive @@ -0,0 +1,3 @@ +#!/bin/sh +revision=$(git log -1 --pretty=format:'%H' $newrev) +"C:\inetpub\web\git.intra.jnetwork.ch\App_Data\BugnetProject\BugNET.GitHooks.exe" post-commit ./ $revision \ No newline at end of file diff --git a/src/BugNET.MercurialChangeGroupHook/BugNET.MercurialChangeGroupHook.csproj b/src/BugNET.MercurialChangeGroupHook/BugNET.MercurialChangeGroupHook.csproj index 92c41ff8..24f2fd80 100644 --- a/src/BugNET.MercurialChangeGroupHook/BugNET.MercurialChangeGroupHook.csproj +++ b/src/BugNET.MercurialChangeGroupHook/BugNET.MercurialChangeGroupHook.csproj @@ -16,6 +16,7 @@ 512 ..\ true + false publish\ true Disk @@ -26,9 +27,8 @@ false false true - 0 + 1 1.0.0.%2a - false false true diff --git a/src/BugNET.SubversionHooks/BugNET.SubversionHooks.csproj b/src/BugNET.SubversionHooks/BugNET.SubversionHooks.csproj index f6c8698e..14aebb94 100644 --- a/src/BugNET.SubversionHooks/BugNET.SubversionHooks.csproj +++ b/src/BugNET.SubversionHooks/BugNET.SubversionHooks.csproj @@ -30,7 +30,7 @@ false false true - 0 + 2 1.0.0.%2a false true diff --git a/src/BugNET.sln b/src/BugNET.sln index 0634162d..3435ce38 100644 --- a/src/BugNET.sln +++ b/src/BugNET.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2009 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Library", "Library", "{DDC6CC4C-AABD-4AF2-A512-F48C9F964E05}" EndProject @@ -80,6 +80,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".build", ".build", "{3CD2E8 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{C3A7E838-782B-4F8D-A6B3-4A2C3A2A3480}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BugNET.GitHooks", "BugNET.GitHooks\BugNET.GitHooks.csproj", "{DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|.NET = Debug|.NET @@ -357,6 +359,22 @@ Global {7F2EBE35-394E-4FB5-B2CB-3FDD0BEBF010}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {7F2EBE35-394E-4FB5-B2CB-3FDD0BEBF010}.Release|Mixed Platforms.Build.0 = Release|Any CPU {7F2EBE35-394E-4FB5-B2CB-3FDD0BEBF010}.Release|x86.ActiveCfg = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|.NET.ActiveCfg = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|.NET.Build.0 = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|x86.ActiveCfg = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Debug|x86.Build.0 = Debug|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|.NET.ActiveCfg = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|.NET.Build.0 = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|Any CPU.Build.0 = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|x86.ActiveCfg = Release|Any CPU + {DFFF7129-FA65-4B99-BFEA-7F32CF206EE5}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -378,4 +396,7 @@ Global {DF8C87FA-3398-4AEE-99B0-D47F1831C158} = {B2D1A025-9A81-4F08-A0BA-ACE9086CEA7F} {FDF4A25C-52BE-46EC-AFC3-49965F085E16} = {C3A7E838-782B-4F8D-A6B3-4A2C3A2A3480} EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {EFD02BB0-4347-4962-A3AA-E4BA9842760A} + EndGlobalSection EndGlobal diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.de-DE.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.de-DE.resx index 5531ca34..e3fc28a5 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.de-DE.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.de-DE.resx @@ -123,6 +123,9 @@ Anhänge + + Enable Attachments + Maximale Dateigröße diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.es-ES.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.es-ES.resx index a2310f62..7fffbb0b 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.es-ES.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.es-ES.resx @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Extensiones permitidas - - - Adjuntos - - - Tamaño máximo - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Extensiones permitidas + + + Adjuntos + + + Enable Attachments + + + Tamaño máximo + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.it-IT.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.it-IT.resx index a3f7d0bf..6251d82f 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.it-IT.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.it-IT.resx @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Estensioni consentite - + Allegati - + + Enable Attachments + + Limite dimensione file - - (bytes) + + (bytes) - - (separate da punto e virgola) + + (separate da punto e virgola) \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.nl-NL.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.nl-NL.resx index ba77e548..5c2ee6a7 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.nl-NL.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.nl-NL.resx @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Toegestane bestands extensies - - - Bijlagen - - - Maximale bestandsgrootte - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Toegestane bestands extensies + + + Bijlagen + + + Enable Attachments + + + Maximale bestandsgrootte + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.resx index 5bf89645..e53b84aa 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.resx @@ -147,4 +147,7 @@ Allows file attachments to issues + + Enable Attachments + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ro-RO.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ro-RO.resx index 7c30267e..80c58757 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ro-RO.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ro-RO.resx @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Extensii de fisiere permise - + Atasamente - + + Enable Attachments + + Limita dimensiune fisier - - (bytes) - - - (separate de punct si virgula) - + + (bytes) + + + (separate de punct si virgula) + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ru-RU.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ru-RU.resx index aeafe805..c2b08bf4 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ru-RU.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.ru-RU.resx @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Допустимые маски файла - + Вложения - + + Enable Attachments + + Максимальный размер - - (байты) - - - (разделяется точкой с запятой) - + + (байты) + + + (разделяется точкой с запятой) + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.zh-CN.resx b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.zh-CN.resx index d1a84f11..f5f4739c 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.zh-CN.resx +++ b/src/BugNET_WAP/Administration/Host/UserControls/App_LocalResources/AttachmentSettings.ascx.zh-CN.resx @@ -123,6 +123,9 @@ 附件 + + Enable Attachments + 文件大小上限 diff --git a/src/BugNET_WAP/Administration/Host/UserControls/UserCustomFieldsSettings.ascx b/src/BugNET_WAP/Administration/Host/UserControls/UserCustomFieldsSettings.ascx index d773545d..d52c3c2a 100644 --- a/src/BugNET_WAP/Administration/Host/UserControls/UserCustomFieldsSettings.ascx +++ b/src/BugNET_WAP/Administration/Host/UserControls/UserCustomFieldsSettings.ascx @@ -20,7 +20,7 @@ - private void LoadWizardStep() { + if (StepIndex < 0) StepIndex = 0; + _ctlWizardStep = Page.LoadControl((string)_wizardSteps[StepIndex]); _ctlWizardStep.ID = "ctlWizardStep"; ((IEditProjectControl)_ctlWizardStep).ProjectId = ProjectId; diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.de-DE.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.de-DE.resx index 47b28818..ca5d850d 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.de-DE.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.de-DE.resx @@ -186,4 +186,7 @@ Dateisystem + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.es-ES.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.es-ES.resx index 6e69c897..c992c674 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.es-ES.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.es-ES.resx @@ -162,4 +162,7 @@ Permitir votaciones + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.it-IT.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.it-IT.resx index 1428fc4c..e46b02ed 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.it-IT.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.it-IT.resx @@ -186,4 +186,7 @@ File System + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.nl-NL.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.nl-NL.resx index f1f918cd..f9a8eeb7 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.nl-NL.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.nl-NL.resx @@ -162,4 +162,7 @@ Stemmen op punten toestaan + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.resx index 4f613b1b..55fc1842 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.resx @@ -180,4 +180,7 @@ Storage Type + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ro-RO.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ro-RO.resx index 86cd4b29..6256ae16 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ro-RO.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ro-RO.resx @@ -180,4 +180,7 @@ Securitate + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ru-RU.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ru-RU.resx index be8fa22b..9c402bcd 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ru-RU.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.ru-RU.resx @@ -186,4 +186,7 @@ Файловая система + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.zh-CN.resx b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.zh-CN.resx index 37394f69..01b40a99 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.zh-CN.resx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/App_LocalResources/ProjectDescription.ascx.zh-CN.resx @@ -186,4 +186,7 @@ 文件夹 + + Allows file attachments to issues + \ No newline at end of file diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/ProjectCustomFields.ascx b/src/BugNET_WAP/Administration/Projects/UserControls/ProjectCustomFields.ascx index f50c8f2d..1f820d88 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/ProjectCustomFields.ascx +++ b/src/BugNET_WAP/Administration/Projects/UserControls/ProjectCustomFields.ascx @@ -2,7 +2,8 @@ CodeBehind="ProjectCustomFields.ascx.cs" %>

-

+ +

@@ -28,7 +29,7 @@
- - - - + + + @@ -127,7 +128,8 @@

-

+ +
-
+ +
@@ -222,7 +225,8 @@

-

+ +
diff --git a/src/BugNET_WAP/Administration/Projects/UserControls/ProjectMailbox.ascx.designer.cs b/src/BugNET_WAP/Administration/Projects/UserControls/ProjectMailbox.ascx.designer.cs index 47b35949..24cf9aca 100644 --- a/src/BugNET_WAP/Administration/Projects/UserControls/ProjectMailbox.ascx.designer.cs +++ b/src/BugNET_WAP/Administration/Projects/UserControls/ProjectMailbox.ascx.designer.cs @@ -155,5 +155,7 @@ public partial class Mailboxes { /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Button btnAddMailbox; + + protected global::System.Web.UI.WebControls.Label IssueCategoryLabel; } } diff --git a/src/BugNET_WAP/BugNET_WAP.csproj b/src/BugNET_WAP/BugNET_WAP.csproj index b6a47d5f..0881f8b4 100644 --- a/src/BugNET_WAP/BugNET_WAP.csproj +++ b/src/BugNET_WAP/BugNET_WAP.csproj @@ -24,7 +24,7 @@ true enabled - disabled + enabled false false @@ -197,9 +197,6 @@ - - ..\packages\Microsoft.Bcl.1.1.6\lib\net45\System.IO.dll - ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll @@ -210,18 +207,12 @@ True - - ..\packages\Microsoft.Bcl.1.1.6\lib\net45\System.Runtime.dll - ..\packages\System.Spatial.5.7.0\lib\net40\System.Spatial.dll True - - ..\packages\Microsoft.Bcl.1.1.6\lib\net45\System.Threading.Tasks.dll - @@ -1463,6 +1454,7 @@ + diff --git a/src/BugNET_WAP/Issues/CreateIssue.aspx.designer.cs b/src/BugNET_WAP/Issues/CreateIssue.aspx.designer.cs index bd249ed4..4822c78f 100644 --- a/src/BugNET_WAP/Issues/CreateIssue.aspx.designer.cs +++ b/src/BugNET_WAP/Issues/CreateIssue.aspx.designer.cs @@ -542,5 +542,9 @@ public partial class CreateIssue { /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lnkCancel; + + protected global::System.Web.UI.WebControls.Label IssueDescriptionLabel; + + protected global::System.Web.UI.WebControls.Label IssueTitleLabel; } } diff --git a/src/BugNET_WAP/Issues/UserControls/TimeTracking.ascx b/src/BugNET_WAP/Issues/UserControls/TimeTracking.ascx index 05743dda..cd0e9f7c 100644 --- a/src/BugNET_WAP/Issues/UserControls/TimeTracking.ascx +++ b/src/BugNET_WAP/Issues/UserControls/TimeTracking.ascx @@ -5,7 +5,7 @@ GridLines="None" OnItemCommand="TimeEntriesDataGrid_ItemCommand" OnItemDataBound="TimeEntriesDataGridItemDataBound" - ShowFooter="True" SkinID="DataGrid"> + ShowFooter="True"> diff --git a/src/BugNET_WAP/Projects/App_LocalResources/Roadmap.aspx.resx b/src/BugNET_WAP/Projects/App_LocalResources/Roadmap.aspx.resx index d11b58c6..0ae0abfd 100644 --- a/src/BugNET_WAP/Projects/App_LocalResources/Roadmap.aspx.resx +++ b/src/BugNET_WAP/Projects/App_LocalResources/Roadmap.aspx.resx @@ -129,6 +129,9 @@ {0} of {1} issues have been resolved + + Roadmap + Roadmap diff --git a/src/BugNET_WAP/Properties/PublishProfiles/Local.pubxml b/src/BugNET_WAP/Properties/PublishProfiles/Local.pubxml index 6c2468a8..abdf7768 100644 --- a/src/BugNET_WAP/Properties/PublishProfiles/Local.pubxml +++ b/src/BugNET_WAP/Properties/PublishProfiles/Local.pubxml @@ -10,7 +10,7 @@ by editing this MSBuild file. In order to learn more about this please visit htt Any CPU True - C:\Projects\CodePlex\BugNetDeploy + D:\Sandbox\Source\Git\BugNET\BugNetDeploy True True diff --git a/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/1.6.339.0.SqlDataProvider.sql b/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/1.6.339.0.SqlDataProvider.sql new file mode 100644 index 00000000..05cdb695 --- /dev/null +++ b/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/1.6.339.0.SqlDataProvider.sql @@ -0,0 +1,529 @@ +PRINT '1.6.339.0.SqlDataProvider.sql' +GO + +SET NOEXEC OFF +GO +SET NUMERIC_ROUNDABORT OFF +GO +SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON +GO +SET XACT_ABORT ON +GO + +BEGIN TRANSACTION +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionsByCustomFieldId]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionsByCustomFieldId]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionsByCustomFieldId] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionById]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionById]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionById] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomFieldSelection_DeleteCustomFieldSelection]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomFieldSelection_DeleteCustomFieldSelection]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_DeleteCustomFieldSelection] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomFieldSelection_CreateNewCustomFieldSelection]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomFieldSelection_CreateNewCustomFieldSelection]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_CreateNewCustomFieldSelection] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_UpdateCustomField]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_UpdateCustomField]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_UpdateCustomField] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_SaveCustomFieldValue]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_SaveCustomFieldValue]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_SaveCustomFieldValue] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_GetCustomFieldsByUserId]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_GetCustomFieldsByUserId]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_GetCustomFieldsByUserId] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_GetCustomFields]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_GetCustomFields]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_GetCustomFields] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_GetCustomFieldById]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_GetCustomFieldById]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_GetCustomFieldById] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_DeleteCustomField]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_DeleteCustomField]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_DeleteCustomField] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomField_CreateNewCustomField]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomField_CreateNewCustomField]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomField_CreateNewCustomField] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT N'Dropping [dbo].[BugNet_UserCustomFieldSelection_Update]' +GO +IF OBJECT_ID(N'[dbo].[BugNet_UserCustomFieldSelection_Update]', 'P') IS NOT NULL +DROP PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_Update] +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +IF OBJECT_ID('[dbo].[UsersOpenAuthData]') IS NULL +BEGIN + PRINT 'Creating [dbo].[UsersOpenAuthData]'; + EXEC('CREATE TABLE [dbo].[UsersOpenAuthData] ( + [ApplicationName] NVARCHAR (128) NOT NULL, + [MembershipUserName] NVARCHAR (128) NOT NULL, + [HasLocalPassword] BIT NOT NULL, + PRIMARY KEY CLUSTERED ([ApplicationName] ASC, [MembershipUserName] ASC));'); +END +IF @@ERROR <> 0 SET NOEXEC ON +GO + +IF OBJECT_ID('[dbo].[UsersOpenAuthAccounts]') IS NULL +BEGIN + PRINT 'Creating [dbo].[UsersOpenAuthAccounts]'; + EXEC('CREATE TABLE [dbo].[UsersOpenAuthAccounts] ( + [ApplicationName] NVARCHAR (128) NOT NULL, + [ProviderName] NVARCHAR (128) NOT NULL, + [ProviderUserId] NVARCHAR (128) NOT NULL, + [ProviderUserName] NVARCHAR (MAX) NOT NULL, + [MembershipUserName] NVARCHAR (128) NOT NULL, + [LastUsedUtc] DATETIME NULL, + PRIMARY KEY CLUSTERED ([ApplicationName] ASC, [ProviderName] ASC, [ProviderUserId] ASC), + CONSTRAINT [OpenAuthUserData_Accounts] FOREIGN KEY ([ApplicationName], [MembershipUserName]) REFERENCES [dbo].[UsersOpenAuthData] ([ApplicationName], [MembershipUserName]) ON DELETE CASCADE);'); +END +IF @@ERROR <> 0 SET NOEXEC ON +GO + +IF OBJECT_ID('[dbo].[BugNet_UserCustomFieldTypes]') IS NULL +BEGIN + PRINT 'Creating [dbo].[BugNet_UserCustomFieldTypes]'; + EXEC('CREATE TABLE [dbo].[BugNet_UserCustomFieldTypes]( + [CustomFieldTypeId] [int] IDENTITY(1,1) NOT NULL, + [CustomFieldTypeName] [nvarchar](50) NOT NULL, + CONSTRAINT [PK_BugNet_UserCustomFieldTypes] PRIMARY KEY CLUSTERED ([CustomFieldTypeId] ASC));'); +END +IF @@ERROR <> 0 SET NOEXEC ON +GO + +IF OBJECT_ID('[dbo].[BugNet_UserCustomFields]') IS NULL +BEGIN + PRINT 'Creating [dbo].[BugNet_UserCustomFields]'; + EXEC('CREATE TABLE [dbo].[BugNet_UserCustomFields]( + [CustomFieldId] [int] IDENTITY(1,1) NOT NULL, + [CustomFieldName] [nvarchar](50) NOT NULL, + [CustomFieldRequired] [bit] NOT NULL, + [CustomFieldDataType] [int] NOT NULL, + [CustomFieldTypeId] [int] NOT NULL, + CONSTRAINT [PK_BugNet_UserCustomFields] PRIMARY KEY CLUSTERED ([CustomFieldId] ASC));'); + + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFields] WITH CHECK ADD CONSTRAINT [FK_BugNet_UserCustomFields_BugNet_UserCustomFieldType] FOREIGN KEY([CustomFieldTypeId]) REFERENCES [dbo].[BugNet_UserCustomFieldTypes] ([CustomFieldTypeId]) ON DELETE CASCADE') + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFields] CHECK CONSTRAINT [FK_BugNet_UserCustomFields_BugNet_UserCustomFieldType]') +END +IF @@ERROR <> 0 SET NOEXEC ON +GO + +IF OBJECT_ID('[dbo].[BugNet_UserCustomFieldSelections]') IS NULL +BEGIN + PRINT 'Creating [dbo].[BugNet_UserCustomFieldSelections]'; + EXEC('CREATE TABLE [dbo].[BugNet_UserCustomFieldSelections]( + [CustomFieldSelectionId] [int] IDENTITY(1,1) NOT NULL, + [CustomFieldId] [int] NOT NULL, + [CustomFieldSelectionValue] [nvarchar](255) NOT NULL, + [CustomFieldSelectionName] [nvarchar](255) NOT NULL, + [CustomFieldSelectionSortOrder] [int] NOT NULL, + CONSTRAINT [PK_BugNet_UserCustomFieldSelections] PRIMARY KEY CLUSTERED ([CustomFieldSelectionId] ASC));'); + + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldSelections] ADD CONSTRAINT [DF_BugNet_UserCustomFieldSelections_CustomFieldSelectionSortOrder] DEFAULT ((0)) FOR [CustomFieldSelectionSortOrder]') + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldSelections] WITH CHECK ADD CONSTRAINT [FK_BugNet_UserCustomFieldSelections_BugNet_UserCustomFields] FOREIGN KEY([CustomFieldId]) REFERENCES [dbo].[BugNet_UserCustomFields] ([CustomFieldId]) ON DELETE CASCADE') + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldSelections] CHECK CONSTRAINT [FK_BugNet_UserCustomFieldSelections_BugNet_UserCustomFields]') +END +IF @@ERROR <> 0 SET NOEXEC ON +GO + +IF OBJECT_ID('[dbo].[BugNet_UserCustomFieldValues]') IS NULL +BEGIN + PRINT 'Creating [dbo].[BugNet_UserCustomFieldValues]'; + EXEC('CREATE TABLE [dbo].[BugNet_UserCustomFieldValues]( + [CustomFieldValueId] [int] IDENTITY(1,1) NOT NULL, + [UserId] [uniqueidentifier] NOT NULL, + [CustomFieldId] [int] NOT NULL, + [CustomFieldValue] [nvarchar](max) NOT NULL, + CONSTRAINT [PK_BugNet_UserCustomFieldValues] PRIMARY KEY CLUSTERED ([CustomFieldValueId] ASC));'); + + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldValues] WITH CHECK ADD CONSTRAINT [FK_BugNet_UserCustomFieldValues_BugNet_UserCustomFields] FOREIGN KEY([CustomFieldId]) REFERENCES [dbo].[BugNet_UserCustomFields] ([CustomFieldId])') + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldValues] CHECK CONSTRAINT [FK_BugNet_UserCustomFieldValues_BugNet_UserCustomFields]') + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldValues] WITH CHECK ADD CONSTRAINT [FK_BugNet_UserCustomFieldValues_BugNet_Users] FOREIGN KEY([UserId]) REFERENCES [dbo].[Users] ([UserId]) ON DELETE CASCADE') + EXEC('ALTER TABLE [dbo].[BugNet_UserCustomFieldValues] CHECK CONSTRAINT [FK_BugNet_UserCustomFieldValues_BugNet_Users]') +END +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_CreateNewCustomField]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_CreateNewCustomField] + @CustomFieldName NVarChar(50), + @CustomFieldDataType Int, + @CustomFieldRequired Bit, + @CustomFieldTypeId Int +AS +IF NOT EXISTS(SELECT CustomFieldId FROM BugNet_UserCustomFields WHERE LOWER(CustomFieldName) = LOWER(@CustomFieldName) ) +BEGIN + INSERT BugNet_UserCustomFields + ( + CustomFieldName, + CustomFieldDataType, + CustomFieldRequired, + CustomFieldTypeId + ) + VALUES + ( + @CustomFieldName, + @CustomFieldDataType, + @CustomFieldRequired, + @CustomFieldTypeId + ) + + RETURN scope_identity() +END +RETURN 0'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_DeleteCustomField]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_DeleteCustomField] + @CustomFieldIdToDelete INT +AS + +SET XACT_ABORT ON + +BEGIN TRAN + /*Copied from BugNet_ProjectCustomField_DeleteCustomField but this field not point at BugNet_UserCustomField_DeleteCustomField, the field should be renamed in BugNet_QueryClauses? */ + /*DELETE + FROM BugNet_QueryClauses + WHERE CustomFieldId = @CustomFieldIdToDelete*/ + + DELETE + FROM BugNet_UserCustomFieldValues + WHERE CustomFieldId = @CustomFieldIdToDelete + + DELETE + FROM BugNet_UserCustomFields + WHERE CustomFieldId = @CustomFieldIdToDelete +COMMIT'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_GetCustomFieldById] '; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_GetCustomFieldById] + @CustomFieldId Int +AS + +SELECT + Fields.CustomFieldId, + Fields.CustomFieldName, + Fields.CustomFieldDataType, + Fields.CustomFieldRequired, + '''' CustomFieldValue, + Fields.CustomFieldTypeId +FROM + BugNet_UserCustomFields Fields +WHERE + Fields.CustomFieldId = @CustomFieldId'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_GetCustomFields]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_GetCustomFields] +AS + +SELECT + Fields.CustomFieldId, + Fields.CustomFieldName, + Fields.CustomFieldDataType, + Fields.CustomFieldRequired, + '''' CustomFieldValue, + Fields.CustomFieldTypeId +FROM + BugNet_UserCustomFields Fields'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_GetCustomFieldsByUserId] '; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_GetCustomFieldsByUserId] + @UserId UNIQUEIDENTIFIER +AS + +SELECT + Fields.CustomFieldId, + Fields.CustomFieldName, + Fields.CustomFieldDataType, + Fields.CustomFieldRequired, + ISNULL(CustomFieldValue,'''') CustomFieldValue, + Fields.CustomFieldTypeId +FROM + BugNet_UserCustomFields Fields + LEFT OUTER JOIN BugNet_UserCustomFieldValues FieldValues ON (Fields.CustomFieldId = FieldValues.CustomFieldId AND FieldValues.UserId = @UserId)'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_SaveCustomFieldValue]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_SaveCustomFieldValue] + @UserId UNIQUEIDENTIFIER, + @CustomFieldId Int, + @CustomFieldValue NVarChar(MAX) +AS +UPDATE + BugNet_UserCustomFieldValues +SET + CustomFieldValue = @CustomFieldValue +WHERE + UserId = @UserId + AND CustomFieldId = @CustomFieldId + +IF @@ROWCOUNT = 0 + INSERT BugNet_UserCustomFieldValues + ( + UserId, + CustomFieldId, + CustomFieldValue + ) + VALUES + ( + @UserId, + @CustomFieldId, + @CustomFieldValue + )'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomField_UpdateCustomField]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomField_UpdateCustomField] + @CustomFieldId Int, + @CustomFieldName NVarChar(50), + @CustomFieldDataType Int, + @CustomFieldRequired Bit, + @CustomFieldTypeId Int +AS +UPDATE + BugNet_UserCustomFields +SET + CustomFieldName = @CustomFieldName, + CustomFieldDataType = @CustomFieldDataType, + CustomFieldRequired = @CustomFieldRequired, + CustomFieldTypeId = @CustomFieldTypeId +WHERE + CustomFieldId = @CustomFieldId'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomFieldSelection_CreateNewCustomFieldSelection]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_CreateNewCustomFieldSelection] + @CustomFieldId INT, + @CustomFieldSelectionValue NVARCHAR(255), + @CustomFieldSelectionName NVARCHAR(255) +AS + +DECLARE @CustomFieldSelectionSortOrder int +SELECT @CustomFieldSelectionSortOrder = ISNULL(MAX(CustomFieldSelectionSortOrder),0) + 1 FROM BugNet_UserCustomFieldSelections + +IF NOT EXISTS(SELECT CustomFieldSelectionId FROM BugNet_UserCustomFieldSelections WHERE CustomFieldId = @CustomFieldId AND LOWER(CustomFieldSelectionName) = LOWER(@CustomFieldSelectionName) ) +BEGIN + INSERT BugNet_UserCustomFieldSelections + ( + CustomFieldId, + CustomFieldSelectionValue, + CustomFieldSelectionName, + CustomFieldSelectionSortOrder + ) + VALUES + ( + @CustomFieldId, + @CustomFieldSelectionValue, + @CustomFieldSelectionName, + @CustomFieldSelectionSortOrder + + ) + + RETURN scope_identity() +END +RETURN 0'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomFieldSelection_DeleteCustomFieldSelection]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_DeleteCustomFieldSelection] + @CustomFieldSelectionIdToDelete INT +AS + +SET XACT_ABORT ON + +DECLARE + @CustomFieldId INT + +SET @CustomFieldId = (SELECT TOP 1 CustomFieldId + FROM BugNet_UserCustomFieldSelections + WHERE CustomFieldSelectionId = @CustomFieldSelectionIdToDelete) + +BEGIN TRAN + UPDATE BugNet_UserCustomFieldValues + SET CustomFieldValue = NULL + WHERE CustomFieldId = @CustomFieldId + + DELETE + FROM BugNet_UserCustomFieldSelections + WHERE CustomFieldSelectionId = @CustomFieldSelectionIdToDelete +COMMIT TRAN'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionById]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionById] + @CustomFieldSelectionId Int +AS + + +SELECT + CustomFieldSelectionId, + CustomFieldId, + CustomFieldSelectionName, + rtrim(CustomFieldSelectionValue) CustomFieldSelectionValue, + CustomFieldSelectionSortOrder +FROM + BugNet_UserCustomFieldSelections +WHERE + CustomFieldSelectionId = @CustomFieldSelectionId +ORDER BY CustomFieldSelectionSortOrder'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionsByCustomFieldId]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_GetCustomFieldSelectionsByCustomFieldId] + @CustomFieldId Int +AS + + +SELECT + CustomFieldSelectionId, + CustomFieldId, + CustomFieldSelectionName, + rtrim(CustomFieldSelectionValue) CustomFieldSelectionValue, + CustomFieldSelectionSortOrder +FROM + BugNet_UserCustomFieldSelections +WHERE + CustomFieldId = @CustomFieldId +ORDER BY CustomFieldSelectionSortOrder'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +PRINT 'Creating [dbo].[BugNet_UserCustomFieldSelection_Update]'; +EXEC('CREATE PROCEDURE [dbo].[BugNet_UserCustomFieldSelection_Update] + @CustomFieldSelectionId INT, + @CustomFieldId INT, + @CustomFieldSelectionName NVARCHAR(255), + @CustomFieldSelectionValue NVARCHAR(255), + @CustomFieldSelectionSortOrder INT +AS + +SET XACT_ABORT ON +SET NOCOUNT ON + +DECLARE + @OldSortOrder INT, + @OldCustomFieldSelectionId INT, + @OldSelectionValue NVARCHAR(255) + +SELECT TOP 1 + @OldSortOrder = CustomFieldSelectionSortOrder, + @OldSelectionValue = CustomFieldSelectionValue +FROM BugNet_UserCustomFieldSelections +WHERE CustomFieldSelectionId = @CustomFieldSelectionId + +SET @OldCustomFieldSelectionId = (SELECT TOP 1 CustomFieldSelectionId FROM BugNet_UserCustomFieldSelections WHERE CustomFieldSelectionSortOrder = @CustomFieldSelectionSortOrder AND CustomFieldId = @CustomFieldId) + +UPDATE + BugNet_UserCustomFieldSelections +SET + CustomFieldId = @CustomFieldId, + CustomFieldSelectionName = @CustomFieldSelectionName, + CustomFieldSelectionValue = @CustomFieldSelectionValue, + CustomFieldSelectionSortOrder = @CustomFieldSelectionSortOrder +WHERE + CustomFieldSelectionId = @CustomFieldSelectionId + +UPDATE BugNet_UserCustomFieldSelections +SET CustomFieldSelectionSortOrder = @OldSortOrder +WHERE CustomFieldSelectionId = @OldCustomFieldSelectionId + +/* + this will not work very well with regards to case sensitivity so + we only will care if the value is somehow different than the original +*/ +IF (@OldSelectionValue != @CustomFieldSelectionValue) +BEGIN + UPDATE BugNet_UserCustomFieldValues + SET CustomFieldValue = @CustomFieldSelectionValue + WHERE CustomFieldId = @CustomFieldId AND CustomFieldValue = @OldSelectionValue +END'); +IF @@ERROR <> 0 SET NOEXEC ON +GO + +COMMIT TRANSACTION +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +DECLARE @Success AS BIT +SET @Success = 1 +SET NOEXEC OFF + +IF (@Success = 1) PRINT 'The database update succeeded' +ELSE BEGIN + IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION + PRINT 'The database update failed' +END +GO \ No newline at end of file diff --git a/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/BugNet.Schema.SqlDataProvider.sql b/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/BugNet.Schema.SqlDataProvider.sql index 176bd774..fe65ff30 100644 --- a/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/BugNet.Schema.SqlDataProvider.sql +++ b/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/BugNet.Schema.SqlDataProvider.sql @@ -4120,7 +4120,6 @@ SELECT CreatorUserName, CreatorDisplayName, AllowAttachments, - AllowAttachments, AttachmentStorageType, SvnRepositoryUrl, AllowIssueVoting @@ -4234,7 +4233,6 @@ SELECT DISTINCT CreatorUserName, CreatorDisplayName, AllowAttachments, - AllowAttachments, AttachmentStorageType, SvnRepositoryUrl, AllowIssueVoting diff --git a/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/Latest.SqlDataProvider.sql b/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/Latest.SqlDataProvider.sql index 86c0934d..3fe0f149 100644 --- a/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/Latest.SqlDataProvider.sql +++ b/src/BugNET_WAP/Providers/DataProviders/SqlDataProvider/Latest.SqlDataProvider.sql @@ -16,7 +16,6 @@ IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[db REFERENCES [dbo].[BugNet_ProjectCategories] ([CategoryId]) GO - ALTER PROCEDURE [dbo].[BugNet_Project_CloneProject] ( @ProjectId INT, @@ -556,7 +555,6 @@ WHERE RETURN @NewProjectId GO - ALTER PROCEDURE [dbo].[BugNet_ProjectMailbox_CreateProjectMailbox] @MailBox nvarchar (100), @ProjectId int, @@ -609,8 +607,6 @@ WHERE BugNet_ProjectMailBoxes.ProjectMailboxId = @ProjectMailboxId GO - - ALTER PROCEDURE [dbo].[BugNet_ProjectMailbox_GetMailboxByProjectId] @ProjectId int AS @@ -633,7 +629,6 @@ WHERE BugNet_ProjectMailBoxes.ProjectId = @ProjectId GO - ALTER PROCEDURE [dbo].[BugNet_ProjectMailbox_GetProjectByMailbox] @mailbox nvarchar(100) AS @@ -656,7 +651,6 @@ WHERE BugNet_ProjectMailBoxes.MailBox = @mailbox GO - ALTER PROCEDURE [dbo].[BugNet_ProjectMailbox_UpdateProjectMailbox] @ProjectMailboxId int, @MailBoxEmailAddress nvarchar (100), @@ -678,7 +672,6 @@ UPDATE BugNet_ProjectMailBoxes SET WHERE ProjectMailboxId = @ProjectMailboxId GO - ALTER PROCEDURE [dbo].[BugNet_User_GetUsersByProjectId] @ProjectId Int, @ExcludeReadonlyUsers bit diff --git a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie.css b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie.css index c17de74b..8939845b 100644 --- a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie.css +++ b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie.css @@ -2,4 +2,4 @@ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie7.css b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie7.css index c1050c21..e0d3c7dd 100644 --- a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie7.css +++ b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie7.css @@ -2,4 +2,4 @@ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon,{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_toolgroup,.cke_combo{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:#c0c0c0}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_toolbox{display:inline-block;padding-bottom:5px;height:100%}.cke_rtl .cke_toolbox{padding-bottom:0}.cke_toolbar{margin-bottom:5px}.cke_rtl .cke_toolbar{margin-bottom:0}.cke_toolgroup{height:26px}.cke_toolgroup,.cke_combo{position:relative}a.cke_button{float:none;vertical-align:top}.cke_toolbar_separator{display:inline-block;float:none;vertical-align:top;background-color:#c0c0c0}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_rtl .cke_button_arrow{padding-top:8px;margin-right:2px}.cke_rtl .cke_combo_inlinelabel{display:table-cell;vertical-align:middle}.cke_menubutton{display:block;height:24px}.cke_menubutton_inner{display:block;position:relative}.cke_menubutton_icon{height:16px;width:16px}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:inline-block}.cke_menubutton_label{width:auto;vertical-align:top;line-height:24px;height:24px;margin:0 10px 0 0}.cke_menuarrow{width:5px;height:6px;padding:0;position:absolute;right:8px;top:10px;background-position:0 0}.cke_rtl .cke_menubutton_icon{position:absolute;right:0;top:0}.cke_rtl .cke_menubutton_label{float:right;clear:both;margin:0 24px 0 10px}.cke_hc .cke_rtl .cke_menubutton_label{margin-right:0}.cke_rtl .cke_menuarrow{left:8px;right:auto;background-position:0 -24px}.cke_hc .cke_menuarrow{top:5px;padding:0 5px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{position:relative}.cke_wysiwyg_div{padding-top:0!important;padding-bottom:0!important}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie8.css b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie8.css index 752cc804..07a9854a 100644 --- a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie8.css +++ b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_ie8.css @@ -2,4 +2,4 @@ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_iequirks.css b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_iequirks.css index 046d8e00..8e76a94d 100644 --- a/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_iequirks.css +++ b/src/BugNET_WAP/Scripts/ckeditor/skins/moono/editor_iequirks.css @@ -2,4 +2,4 @@ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon,{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.cke_chrome{display:block;border:1px solid #b6b6b6;padding:0;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #b6b6b6;padding:6px 8px 2px;white-space:normal;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #bfbfbf;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#cfd1cf));background-image:-moz-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-webkit-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-o-linear-gradient(top,#ebebeb,#cfd1cf);background-image:-ms-linear-gradient(top,#ebebeb,#cfd1cf);background-image:linear-gradient(top,#ebebeb,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ebebeb',endColorstr='#cfd1cf')}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #666 transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #b6b6b6;border-bottom-color:#999;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 3px rgba(0,0,0,.15);-webkit-box-shadow:0 0 3px rgba(0,0,0,.15);box-shadow:0 0 3px rgba(0,0,0,.15)}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap}.cke_panel_listItem{margin:0;padding-bottom:1px}.cke_panel_listItem a{padding:3px 4px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:4px 6px;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.75);border-bottom:1px solid #b6b6b6;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;-moz-box-shadow:0 1px 0 #fff inset;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;background:#cfd1cf;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#cfd1cf));background-image:-moz-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-webkit-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-o-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:-ms-linear-gradient(top,#f5f5f5,#cfd1cf);background-image:linear-gradient(top,#f5f5f5,#cfd1cf);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f5f5f5',endColorstr='#cfd1cf')}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#b6b6b6 1px solid;background-color:#e5e5e5}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0}.cke_ltr .cke_button:last-child,.cke_rtl .cke_button:first-child{-moz-border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.cke_ltr .cke_button:first-child,.cke_rtl .cke_button:last-child{-moz-border-radius:2px 0 0 2px;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid black;padding:3px 5px;margin:-2px 4px 0 -2px}.cke_button_on{-moz-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 5px rgba(0,0,0,.6) inset,0 1px 0 rgba(0,0,0,.2);background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_on:hover,a.cke_button_on:focus,a.cke_button_on:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{-moz-box-shadow:0 0 1px rgba(0,0,0,.3) inset;-webkit-box-shadow:0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;-webkit-box-shadow:1px 0 1px rgba(255,255,255,.5);-moz-box-shadow:1px 0 1px rgba(255,255,255,.5);box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;-webkit-box-shadow:-1px 0 1px rgba(255,255,255,.1);-moz-box-shadow:-1px 0 1px rgba(255,255,255,.1);box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#d7d8d7;opacity:.70;filter:alpha(opacity=70);padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#d0d2d0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{border:1px solid #dedede;background-color:#f2f2f2;-moz-box-shadow:0 0 2px rgba(0,0,0,.1) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 2px rgba(0,0,0,.1) inset}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#eff0ef}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #a6a6a6;border-bottom-color:#979797;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e4e4e4));background-image:-moz-linear-gradient(top,#fff,#e4e4e4);background-image:-webkit-linear-gradient(top,#fff,#e4e4e4);background-image:-o-linear-gradient(top,#fff,#e4e4e4);background-image:-ms-linear-gradient(top,#fff,#e4e4e4);background-image:linear-gradient(top,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{background:#ccc;background-image:-webkit-gradient(linear,left top,left bottom,from(#f2f2f2),to(#ccc));background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:-ms-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(top,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc');outline:0}.cke_combo_off a.cke_combo_button:active,.cke_combo_on a.cke_combo_button{border:1px solid #777;-moz-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;box-shadow:0 1px 0 rgba(255,255,255,.5),0 1px 5px rgba(0,0,0,.6) inset;background:#b5b5b5;background-image:-webkit-gradient(linear,left top,left bottom,from(#aaa),to(#cacaca));background-image:-moz-linear-gradient(top,#aaa,#cacaca);background-image:-webkit-linear-gradient(top,#aaa,#cacaca);background-image:-o-linear-gradient(top,#aaa,#cacaca);background-image:-ms-linear-gradient(top,#aaa,#cacaca);background-image:linear-gradient(top,#aaa,#cacaca);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#aaaaaa',endColorstr='#cacaca')}.cke_combo_on a.cke_combo_button:hover,.cke_combo_on a.cke_combo_button:focus,.cke_combo_on a.cke_combo_button:active{-moz-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.7) inset,0 1px 0 rgba(0,0,0,.2)}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 7px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#4c4c4c;text-shadow:0 1px 0 #fff;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#bfbfbf;color:#333;text-shadow:0 1px 0 rgba(255,255,255,.5);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 4px rgba(0,0,0,.5) inset,0 1px 0 rgba(255,255,255,.5)}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__about_icon {background: url(icons.png) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png) no-repeat 0 -144px !important;}.cke_button__blockquote_icon {background: url(icons.png) no-repeat 0 -168px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -192px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png) no-repeat 0 -216px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -240px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png) no-repeat 0 -264px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -288px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png) no-repeat 0 -312px !important;}.cke_button__horizontalrule_icon {background: url(icons.png) no-repeat 0 -336px !important;}.cke_button__image_icon {background: url(icons.png) no-repeat 0 -360px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -384px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png) no-repeat 0 -408px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -432px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png) no-repeat 0 -456px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -480px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png) no-repeat 0 -504px !important;}.cke_button__link_icon {background: url(icons.png) no-repeat 0 -528px !important;}.cke_button__unlink_icon {background: url(icons.png) no-repeat 0 -552px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -576px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png) no-repeat 0 -600px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -624px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png) no-repeat 0 -648px !important;}.cke_button__maximize_icon {background: url(icons.png) no-repeat 0 -672px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -696px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png) no-repeat 0 -720px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -744px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png) no-repeat 0 -768px !important;}.cke_button__removeformat_icon {background: url(icons.png) no-repeat 0 -792px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png) no-repeat 0 -816px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png) no-repeat 0 -840px !important;}.cke_button__specialchar_icon {background: url(icons.png) no-repeat 0 -864px !important;}.cke_button__scayt_icon {background: url(icons.png) no-repeat 0 -888px !important;}.cke_button__table_icon {background: url(icons.png) no-repeat 0 -912px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -936px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png) no-repeat 0 -960px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -984px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png) no-repeat 0 -1008px !important;}.cke_button__spellchecker_icon {background: url(icons.png) no-repeat 0 -1032px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png) no-repeat 0 -1032px !important;background-size: 16px !important;} \ No newline at end of file diff --git a/src/BugNET_WAP/Scripts/themes/default/style.css b/src/BugNET_WAP/Scripts/themes/default/style.css index 1d450da1..a04c2b97 100644 --- a/src/BugNET_WAP/Scripts/themes/default/style.css +++ b/src/BugNET_WAP/Scripts/themes/default/style.css @@ -46,28 +46,10 @@ #vakata-contextmenu.jstree-default-context, #vakata-contextmenu.jstree-default-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; } -#vakata-contextmenu.jstree-default-context li { } #vakata-contextmenu.jstree-default-context a { color:black; } #vakata-contextmenu.jstree-default-context a:hover, #vakata-contextmenu.jstree-default-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; } #vakata-contextmenu.jstree-default-context li.jstree-contextmenu-disabled a, #vakata-contextmenu.jstree-default-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; } #vakata-contextmenu.jstree-default-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; } -#vakata-contextmenu.jstree-default-context li ul { margin-left:-4px; } - -/* IE6 BEGIN */ -.jstree-default li, -.jstree-default ins, -#vakata-dragged.jstree-default .jstree-invalid, -#vakata-dragged.jstree-default .jstree-ok, -#jstree-marker.jstree-default { _background-image:url("d.gif"); } -.jstree-default .jstree-open ins { _background-position:-72px 0; } -.jstree-default .jstree-closed ins { _background-position:-54px 0; } -.jstree-default .jstree-leaf ins { _background-position:-36px 0; } -.jstree-default a ins.jstree-icon { _background-position:-56px -19px; } -#vakata-contextmenu.jstree-default-context ins { _display:none; } -#vakata-contextmenu.jstree-default-context li { _zoom:1; } -.jstree-default .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; } -.jstree-default .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; } -.jstree-default .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; } -/* IE6 END */ \ No newline at end of file +#vakata-contextmenu.jstree-default-context li ul { margin-left:-4px; } \ No newline at end of file diff --git a/src/BugNET_WAP/Web.config b/src/BugNET_WAP/Web.config index a1093ad9..3d206428 100644 --- a/src/BugNET_WAP/Web.config +++ b/src/BugNET_WAP/Web.config @@ -7,7 +7,7 @@ - + @@ -22,6 +22,7 @@ + @@ -93,7 +94,7 @@ - + diff --git a/src/Common/GlobalAssemblyInfo.cs b/src/Common/GlobalAssemblyInfo.cs index 8295aa92..f4de056e 100644 --- a/src/Common/GlobalAssemblyInfo.cs +++ b/src/Common/GlobalAssemblyInfo.cs @@ -10,8 +10,8 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.6.339.0")] +[assembly: AssemblyFileVersion("1.6.339.0")] [assembly: AssemblyProduct("BugNET")] [assembly: ComVisible(false)] [assembly: AssemblyCompany("http://www.bugnetproject.com")] diff --git a/src/DataGenerator/IssueGenerator/App.config b/src/DataGenerator/IssueGenerator/App.config index 3f505359..6d8663a1 100644 --- a/src/DataGenerator/IssueGenerator/App.config +++ b/src/DataGenerator/IssueGenerator/App.config @@ -1,16 +1,19 @@ - + -
-
+
+
- + - + - \ No newline at end of file + + + + diff --git a/src/DataGenerator/IssueGenerator/GenerateIssues.cs b/src/DataGenerator/IssueGenerator/GenerateIssues.cs index a53ecd57..7972207e 100644 --- a/src/DataGenerator/IssueGenerator/GenerateIssues.cs +++ b/src/DataGenerator/IssueGenerator/GenerateIssues.cs @@ -1,11 +1,9 @@ using System; -using System.Text; using System.Collections.Generic; -using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; -using BugNET.BLL; -using BugNET.Entities; using IssueGenerator.Helpers; +using BugNET.Entities; +using BugNET.BLL; namespace IssueGenerator { diff --git a/src/DataGenerator/IssueGenerator/Helpers/RandomProjectData.cs b/src/DataGenerator/IssueGenerator/Helpers/RandomProjectData.cs index 9f6cee74..29756465 100644 --- a/src/DataGenerator/IssueGenerator/Helpers/RandomProjectData.cs +++ b/src/DataGenerator/IssueGenerator/Helpers/RandomProjectData.cs @@ -1,11 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using BugNET.BLL; +using BugNET.BLL; using BugNET.Entities; -using System.Web.Security; -using BugNET.Providers.MembershipProviders; +using System; +using System.Collections.Generic; namespace IssueGenerator.Helpers { diff --git a/src/DataGenerator/IssueGenerator/Helpers/RandomStrings.cs b/src/DataGenerator/IssueGenerator/Helpers/RandomStrings.cs index a37d8c89..e4abc7f9 100644 --- a/src/DataGenerator/IssueGenerator/Helpers/RandomStrings.cs +++ b/src/DataGenerator/IssueGenerator/Helpers/RandomStrings.cs @@ -1,6 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Text; namespace IssueGenerator.Helpers diff --git a/src/DataGenerator/IssueGenerator/IssueGenerator.csproj b/src/DataGenerator/IssueGenerator/IssueGenerator.csproj index 57bce649..01ae9ef6 100644 --- a/src/DataGenerator/IssueGenerator/IssueGenerator.csproj +++ b/src/DataGenerator/IssueGenerator/IssueGenerator.csproj @@ -11,9 +11,10 @@ Properties IssueGenerator IssueGenerator - v4.0 + v4.5 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true @@ -23,6 +24,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -31,6 +33,7 @@ TRACE prompt 4 + false @@ -57,23 +60,23 @@ - {001B5C78-CC5E-4DB6-A03A-EAAE1D558D2C} + {001b5c78-cc5e-4db6-a03a-eaae1d558d2c} BugNET.BLL - {EFD03A92-584B-4930-9FB1-58DF64BF7FD4} + {efd03a92-584b-4930-9fb1-58df64bf7fd4} BugNET.DAL - {5A0AE67B-1F8C-4A6D-A02B-B57BB219288F} + {5a0ae67b-1f8c-4a6d-a02b-b57bb219288f} BugNET.Entities - {DF8C87FA-3398-4AEE-99B0-D47F1831C158} + {df8c87fa-3398-4aee-99b0-d47f1831c158} Provider.SqlDataProvider - {6B8EBBE2-196F-4F79-BC2F-918FC0AF3D67} + {6b8ebbe2-196f-4f79-bc2f-918fc0af3d67} Provider.MembershipProviders diff --git a/src/DataGenerator/IssueGenerator/IssueGenerator.sln b/src/DataGenerator/IssueGenerator/IssueGenerator.sln new file mode 100644 index 00000000..f67da2b6 --- /dev/null +++ b/src/DataGenerator/IssueGenerator/IssueGenerator.sln @@ -0,0 +1,61 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29009.5 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IssueGenerator", "IssueGenerator.csproj", "{39925BF0-1337-4D55-9670-7236F6B46525}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BugNET.DAL", "..\..\BugNET.DAL\BugNET.DAL.csproj", "{EFD03A92-584B-4930-9FB1-58DF64BF7FD4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BugNET.BLL", "..\..\BugNET.BLL\BugNET.BLL.csproj", "{001B5C78-CC5E-4DB6-A03A-EAAE1D558D2C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BugNET.Entities", "..\..\BugNET.Entities\BugNET.Entities.csproj", "{5A0AE67B-1F8C-4A6D-A02B-B57BB219288F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Provider.SqlDataProvider", "..\..\Library\Providers\DataProviders\SqlDataProvider\Provider.SqlDataProvider.csproj", "{DF8C87FA-3398-4AEE-99B0-D47F1831C158}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Provider.MembershipProviders", "..\..\Library\Providers\MembershipProviders\Provider.MembershipProviders.csproj", "{6B8EBBE2-196F-4F79-BC2F-918FC0AF3D67}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BugNET.Common", "..\..\BugNET.Common\BugNET.Common.csproj", "{69F2F661-AA9A-4C9F-8217-6A22E8C66FEB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {39925BF0-1337-4D55-9670-7236F6B46525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {39925BF0-1337-4D55-9670-7236F6B46525}.Debug|Any CPU.Build.0 = Debug|Any CPU + {39925BF0-1337-4D55-9670-7236F6B46525}.Release|Any CPU.ActiveCfg = Release|Any CPU + {39925BF0-1337-4D55-9670-7236F6B46525}.Release|Any CPU.Build.0 = Release|Any CPU + {EFD03A92-584B-4930-9FB1-58DF64BF7FD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EFD03A92-584B-4930-9FB1-58DF64BF7FD4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EFD03A92-584B-4930-9FB1-58DF64BF7FD4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EFD03A92-584B-4930-9FB1-58DF64BF7FD4}.Release|Any CPU.Build.0 = Release|Any CPU + {001B5C78-CC5E-4DB6-A03A-EAAE1D558D2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {001B5C78-CC5E-4DB6-A03A-EAAE1D558D2C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {001B5C78-CC5E-4DB6-A03A-EAAE1D558D2C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {001B5C78-CC5E-4DB6-A03A-EAAE1D558D2C}.Release|Any CPU.Build.0 = Release|Any CPU + {5A0AE67B-1F8C-4A6D-A02B-B57BB219288F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A0AE67B-1F8C-4A6D-A02B-B57BB219288F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A0AE67B-1F8C-4A6D-A02B-B57BB219288F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A0AE67B-1F8C-4A6D-A02B-B57BB219288F}.Release|Any CPU.Build.0 = Release|Any CPU + {DF8C87FA-3398-4AEE-99B0-D47F1831C158}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DF8C87FA-3398-4AEE-99B0-D47F1831C158}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF8C87FA-3398-4AEE-99B0-D47F1831C158}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF8C87FA-3398-4AEE-99B0-D47F1831C158}.Release|Any CPU.Build.0 = Release|Any CPU + {6B8EBBE2-196F-4F79-BC2F-918FC0AF3D67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6B8EBBE2-196F-4F79-BC2F-918FC0AF3D67}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6B8EBBE2-196F-4F79-BC2F-918FC0AF3D67}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6B8EBBE2-196F-4F79-BC2F-918FC0AF3D67}.Release|Any CPU.Build.0 = Release|Any CPU + {69F2F661-AA9A-4C9F-8217-6A22E8C66FEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {69F2F661-AA9A-4C9F-8217-6A22E8C66FEB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {69F2F661-AA9A-4C9F-8217-6A22E8C66FEB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {69F2F661-AA9A-4C9F-8217-6A22E8C66FEB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {23C454C8-6ADC-40A0-B7A4-67F52FBD1924} + EndGlobalSection +EndGlobal diff --git a/src/DataGenerator/IssueGenerator/Properties/AssemblyInfo.cs b/src/DataGenerator/IssueGenerator/Properties/AssemblyInfo.cs index b727d6de..ac491ad2 100644 --- a/src/DataGenerator/IssueGenerator/Properties/AssemblyInfo.cs +++ b/src/DataGenerator/IssueGenerator/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following diff --git a/src/Library/Providers/DataProviders/SqlDataProvider/Provider.SqlDataProvider.csproj b/src/Library/Providers/DataProviders/SqlDataProvider/Provider.SqlDataProvider.csproj index 62d71734..d9653262 100644 --- a/src/Library/Providers/DataProviders/SqlDataProvider/Provider.SqlDataProvider.csproj +++ b/src/Library/Providers/DataProviders/SqlDataProvider/Provider.SqlDataProvider.csproj @@ -65,7 +65,7 @@ - {69F2F661-AA9A-4C9F-8217-6A22E8C66FEB} + {69f2f661-aa9a-4c9f-8217-6a22e8c66feb} BugNET.Common diff --git a/src/LumiSoft.Net/LumiSoft.Net.csproj b/src/LumiSoft.Net/LumiSoft.Net.csproj index d1944ce1..6f41bb95 100644 --- a/src/LumiSoft.Net/LumiSoft.Net.csproj +++ b/src/LumiSoft.Net/LumiSoft.Net.csproj @@ -514,7 +514,6 @@ Code - diff --git a/src/LumiSoft.Net/LumiSoft.Net.xml b/src/LumiSoft.Net/LumiSoft.Net.xml index aa667f21..5d1fe9bb 100644 --- a/src/LumiSoft.Net/LumiSoft.Net.xml +++ b/src/LumiSoft.Net/LumiSoft.Net.xml @@ -409,6 +409,27 @@ HTTP digest authentication nonce manager. + + + This class represents nonce entry in active nonces collection. + + + + + Default constructor. + + + + + + Gets nonce value. + + + + + Gets time when this nonce entry was created. + + Default constructor. @@ -448,27 +469,6 @@ Gets or sets nonce expire time in seconds. - - - This class represents nonce entry in active nonces collection. - - - - - Default constructor. - - - - - - Gets nonce value. - - - - - Gets time when this nonce entry was created. - - This base class for client SASL authentication mechanisms. Defined in RFC 4422. @@ -629,43 +629,6 @@ Implements NTLM authentication. - - - Default constructor. - - Domain name. - User login name. - Password. - Is raised when domain,userName or passowrd is null reference. - - - - Continues authentication process. - - Server sent SASL response. - Returns challange request what must be sent to server or null if authentication has completed. - Is raised when this method is called when authentication is completed. - - - - Gets if the authentication exchange has completed. - - - - - Returns always "NTLM". - - - - - Gets user login name. - - - - - Gets if the authentication method supports SASL client "inital response". - - This class represents NTLM type 1 message. @@ -756,6 +719,43 @@ Returns NTLM LM response. Is raised when nonce or password is null reference. + + + Default constructor. + + Domain name. + User login name. + Password. + Is raised when domain,userName or passowrd is null reference. + + + + Continues authentication process. + + Server sent SASL response. + Returns challange request what must be sent to server or null if authentication has completed. + Is raised when this method is called when authentication is completed. + + + + Gets if the authentication exchange has completed. + + + + + Returns always "NTLM". + + + + + Gets user login name. + + + + + Gets if the authentication method supports SASL client "inital response". + + Implements "PLAIN" authenticaiton. @@ -1148,13 +1148,6 @@ Text to hash. Returns MD5 hash. - - - Raises GetUserInfo event. - - User name. - Returns specified user info. - Gets if the authentication exchange has completed. @@ -1185,6 +1178,13 @@ Is called when authentication mechanism needs to get user info to complete atuhentication. + + + Raises GetUserInfo event. + + User name. + Returns specified user info. + Implements "DIGEST-MD5" authenticaiton. Defined in RFC 2831. @@ -1209,13 +1209,6 @@ Retunrns challange response what must be sent to client or null if authentication has completed. Is raised when clientResponse is null reference. - - - Raises GetUserInfo event. - - User name. - Returns specified user info. - Gets if the authentication exchange has completed. @@ -1252,6 +1245,13 @@ Is called when authentication mechanism needs to get user info to complete atuhentication. + + + Raises GetUserInfo event. + + User name. + Returns specified user info. + Implements "LOGIN" authenticaiton. @@ -1276,15 +1276,6 @@ Retunrns challange response what must be sent to client or null if authentication has completed. Is raised when clientResponse is null reference. - - - Raises Authenticate event. - - Authorization ID. - User name. - Password. - Returns authentication result. - Gets if the authentication exchange has completed. @@ -1315,6 +1306,15 @@ Is called when authentication mechanism needs to authenticate specified user. + + + Raises Authenticate event. + + Authorization ID. + User name. + Password. + Returns authentication result. + Implements "PLAIN" authenticaiton. Defined in RFC 4616. @@ -1339,15 +1339,6 @@ Retunrns challange response what must be sent to client or null if authentication has completed. Is raised when clientResponse is null reference. - - - Raises Authenticate event. - - Authorization ID. - User name. - Password. - Returns authentication result. - Gets if the authentication exchange has completed. @@ -1378,6 +1369,15 @@ Is called when authentication mechanism needs to authenticate specified user. + + + Raises Authenticate event. + + Authorization ID. + User name. + Password. + Returns authentication result. + Implements byte data builder. @@ -1490,1188 +1490,1081 @@ This class implements FTP client. Defined in RFC 959. - - - This class implements generic TCP client. - - - + - This is base class for TCP_Client and TCP_ServerSession. + This class implements FTP client data connection. - + Default constructor. + Data connection owner FTP client. - + Cleans up any resources being used. - + - Disconnects session. + Swtiches FTP data connection to active mode. - + - Gets if session is connected. + Swtiches FTP data connection to passive mode and connects to the sepcified FTP server. + FTP server IP end point. + Is raised when remoteEP is null. - + - Gets session ID. + Reads all data from FTP data connection and stores to the specified stream. + Stream where to store data. + Is raised when stream is null. - + - Gets the time when session was connected. + Writes all data from the specified stream to FTP data connection. + Stream which data to write. + Is raised when stream is null. - + - Gets the last time when data was sent or received. + Waits FTP server to connect to this data connection. + Wait time out in seconds. + Returns connected network stream. - + - Gets session local IP end point. + Creates new socket for data connection. - + - Gets session remote IP end point. + Cleans up socket for reuse. - + - Gets if this session TCP connection is secure connection. + Copies all source stream data to the specified target stream. + Source stream. + Target stream. - + - Gets if this session is authenticated. + Gets data connection local IP end point. - + - Gets session authenticated user identity , returns null if not authenticated. + Gets last time when data connection has read or written data. - + - Gets TCP stream which must be used to send/receive data through this session. + Gets if there is active read or write job in data stream. - + - Default constructor. + Default connection. - + - Cleans up any resources being used. This method is thread-safe. + Clean up any resources being used. This method is thread-safe. - + - Connects to the specified host. If the hostname resolves to more than one IP address, - all IP addresses will be tried for connection, until one of them connects. + Closes connection to FTP server. - Host name or IP address. - Port to connect. Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when any of the arguments has invalid value. + Is raised when FTP client is not connected. - + - Connects to the specified host. If the hostname resolves to more than one IP address, - all IP addresses will be tried for connection, until one of them connects. + Terminates the user and flushes all state information on the server. The connection is left open. - Host name or IP address. - Port to connect. - Specifies if connects to SSL end point. Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when any of the arguments has invalid value. + Is raised when FTP client is not connected. + Is raised when FTP server returns error. - + - Connects to the specified remote end point. + Authenticates user. Authenticate method chooses strongest possible authentication method supported by server. - Remote IP end point where to connect. - Specifies if connects to SSL end point. + User login name. + Password. Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when remoteEP is null. - Is raised when any of the arguments has invalid value. + Is raised when FTP client is not connected or is already authenticated. + Is raised when userName is null. + Is raised when FTP server returns error. - + - Connects to the specified remote end point. + Send NOOP command to server. This method can be used for keeping connection alive(not timing out). - Local IP end point to use. Value null means that system will allocate it. - Remote IP end point to connect. - Specifies if connection switches to SSL affter connect. - Is raised when this object is disposed and and this method is accessed. - Is raised when TCP client is already connected. - Is raised when remoteEP is null reference. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when FTP server returns error. - + - Connects to the specified remote end point. + Aborts an active file transfer. - Local IP end point to use. Value null means that system will allocate it. - Remote IP end point to connect. - Specifies if connection switches to SSL affter connect. - SSL server certificate validation callback. Value null means any certificate is accepted. - Is raised when this object is disposed and and this method is accessed. - Is raised when TCP client is already connected. - Is raised when remoteEP is null reference. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when FTP server returns error. - + - Starts connecting to remote end point. + Gets current working directory in the sFTP server. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when op is null reference. + Returns current working directory. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when FTP server returns error. - + - Disconnects connection. + Changes the current working directory on the server. + Directory absolute or relative path to the current working directory. Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is not connected. + Is raised when FTP client is not connected. + Is raised when path is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Starts disconnecting connection. + Gets files and directories in the current server directory. - Callback to call when the asynchronous operation is complete. - User data. - An IAsyncResult that references the asynchronous disconnect. + Returns current working directory listing. Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is not connected. + Is raised when FTP client is not connected. + Is raised when FTP server returns error. - + - Ends a pending asynchronous disconnect request. + Gets files and directories in the current server directory. - An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Directory or file name which listing to get. Value null means current directory will be listed. + Returns current working directory listing. Is raised when this object is disposed and this method is accessed. - Is raised when asyncResult is null. - Is raised when argument asyncResult was not returned by a call to the BeginDisconnect method. - Is raised when EndDisconnect was previously called for the asynchronous connection. + Is raised when FTP client is not connected or FTP data connection has active read/write operation. + Is raised when FTP server returns error. - + - Switches session to secure connection. + Gets specified file from FTP server. + File absolute or relative path to the current working directory. + Local file path where to store received file. Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is not connected or is already secure. + Is raised when FTP client is not connected or FTP data connection has active read/write operation. + Is raised when path or storePath is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Starts switching connection to secure. + Gets specified file from FTP server. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when TCP client is not connected or connection is already secure. - Is raised when op is null reference. + File absolute or relative path to the current working directory. + Stream where to store received file. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected or FTP data connection has active read/write operation. + Is raised when path or stream is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - This method is called after TCP client has sucessfully connected. + Appends specified data to the existing file. If existing file doesn't exist, it will be created. + FTP server file absolute or relative path to the current working directory. + Stream which data append to the specified FTP server file. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected or FTP data connection has active read/write operation. + Is raied when file or stream is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - This method is called when TCP client has sucessfully connected. + Stores specified file to FTP server. - Callback to be called to complete connect operation. + File absolute or relative path to the current working directory. + File path which to store to FTP server. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected or FTP data connection has active read/write operation. + Is raised when path or sourcePath is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Reads and logs specified line from connected host. + Stores specified file to FTP server. - Returns readed line. + File absolute or relative path to the current working directory. + Stream which data to store to FTP server. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected or FTP data connection has active read/write operation. + Is raised when path or stream is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Sends and logs specified line to connected host. + Deletes specified file from ftp server. - Line to send. - Is raised when line is null reference. + File absolute or relative path to the current working directory. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when path is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Logs read operation. + Renames file or directory to the new specified name. - Number of bytes readed. - Log text. + Exisitng file or directory absolute or relative path to the current working directory. + New file or directory absolute or relative path to the current working directory. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when fromPath or toPath is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Logs write operation. + Creates a directory on the FTP server. - Number of bytes written. - Log text. + Directory absolute or relative path to the current working directory. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when path is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Logs free text entry. + Deletes specified directory from FTP server. - Log text. + Directory absolute or relative path to the current working directory. + Is raised when this object is disposed and this method is accessed. + Is raised when FTP client is not connected. + Is raised when path is null. + Is raised when any of the arguments has invalid value. + Is raised when FTP server returns error. - + - Logs exception. + Sets transfer typr. - Log text. - Exception happened. + Transfer type. - + - Starts connection to the specified host. + Sends PORT command to server. - Host name or IP address. - Port to connect. - Callback to call when the connect operation is complete. - User data. - An IAsyncResult that references the asynchronous connection. - Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when any of the arguments has invalid value. - + - Starts connection to the specified host. + Sends PASV command to server. - Host name or IP address. - Port to connect. - Specifies if connects to SSL end point. - Callback to call when the connect operation is complete. - User data. - An IAsyncResult that references the asynchronous connection. - Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when any of the arguments has invalid value. - + - Starts connection to the specified remote end point. + Reads FTP server response line(s). - Remote IP end point where to connect. - Specifies if connects to SSL end point. - Callback to call when the connect operation is complete. - User data. - An IAsyncResult that references the asynchronous connection. - Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when remoteEP is null. - Is raised when any of the arguments has invalid value. - - - - Starts connection to the specified remote end point. - - Local IP end point to use for connect. - Remote IP end point where to connect. - Specifies if connects to SSL end point. - Callback to call when the connect operation is complete. - User data. - An IAsyncResult that references the asynchronous connection. - Is raised when this object is disposed and this method is accessed. - Is raised when TCP client is already connected. - Is raised when remoteEP is null. - Is raised when any of the arguments has invalid value. - - - - Ends a pending asynchronous connection request. - - An IAsyncResult that stores state information and any user defined data for this asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when asyncResult is null. - Is raised when argument asyncResult was not returned by a call to the BeginConnect method. - Is raised when EndConnect was previously called for the asynchronous connection. + Returns FTP server response. - + - This must be called when unexpected error happens. When inheriting TCP_Client class, be sure that you call OnError - method for each unexpected error. + This method is called after TCP client has sucessfully connected. - Exception happened. - + - Gets if this object is disposed. + Gets or sets data connection establish mode. + Is raised when this object is disposed and this property is accessed. - + - Gets or sets TCP client logger. Value null means no logging. + Gets or sets local IP address to use for data connection. Value null means that system will allocate it. + Is raised when this object is disposed and this property is accessed. - + - Gets if TCP client is connected. + Gets or sets ports what data connection may use. Value null means that system will allocate it. + Is raised when this object is disposed and this property is accessed. - + - Gets session ID. + Gets greeting text which was sent by FTP server. Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. + Is raised when this property is accessed and FTP client is not connected. - + - Gets the time when session was connected. + Gets FTP exteneded capabilities supported by FTP server. Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. + Is raised when this property is accessed and FTP client is not connected. - + - Gets the last time when data was sent or received. + Gets session authenticated user identity, returns null if not authenticated. Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. + Is raised when this property is accessed and FTP client is not connected. - + - Gets session local IP end point. + FTP client exception. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. - + - Gets session remote IP end point. + Default constructor. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. + FTP server response line. + Is raised when responseLine is null. - + - Gets if this session TCP connection is secure connection. + Gets FTP status code. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. - + - Gets TCP stream which must be used to send/receive data through this session. + Gets FTP server response text after status code. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP client is not connected. - + - Gets or stes remote callback which is called when remote server certificate needs to be validated. - Value null means not sepcified. + Gets if it is permanent FTP(5xx) error. - + - Gets or sets default TCP read/write timeout. + This class holds single file or directory in the FTP server. - This timeout applies only synchronous TCP read/write operations. - + - This class represents asynchronous operation. + Default constructor. + Directory or file name. + File size in bytes, zero for directory. + Directory or file last modification time. + Specifies if list item is directory or file. + Is raised when name is null. + Is raised when any of the arguments has invalid value. - + - Represents asynchronous operation. + Gets if current item is directory. - + - Gets asynchronous operation state. + Gets if current item is file. - + - Gets error happened during operation. Returns null if no error. + Gets the name of the file or directory. - + - Default constructor. + Gets file size in bytes. - Local IP end point to use. Value null means that system will allocate it. - Remote IP end point to connect. - Specifies if connection switches to SSL affter connect. - SSL server certificate validation callback. Value null means any certificate is accepted. - Is raised when remoteEP is null reference. - + - Cleans up any resource being used. + Gets last time file or direcory was modified. - + - Starts operation processing. + Specifies FTP data connection transfer mode. - Owner TCP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Active transfer mode - FTP server opens data connection FTP client. - New state. - + - This method is called when "BeginConnect" has completed. + Passive transfer mode - FTP client opens data connection FTP server. - Asynchronous result. - + - This method is called when "BeginAuthenticateAsClient" has completed. + This class represent DNS host entry. - Asynchronous result. - + - This method is called when we need to validate remote server certificate. + Default constructor. - Sender. - Certificate. - Certificate chain. - SSL policy errors. - Returns true if certificate validated, otherwise false. + DNS host name. + Host IP addresses. + Host aliases(CNAME). + Is raised when hostName or ipAddresses is null reference. - + - Cleans up any socket related resources. + Gets DNS host name. - + - Is called when when connecting has finished. + Gets list of IP addresses that are associated with a host. - + - This method is called when this derrived class OnConnected processing has completed. + Gets list of aliases(CNAME) that are associated with a host. - Exception happened or null if no errors. - + - Raises CompletedAsync event. + Represents asynchronous operation. - + Gets asynchronous operation state. - + Gets error happened during operation. Returns null if no error. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets connected socket. + IMAP v4 Client. Defined in RFC 3501. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + + + /* + To make this code to work, you need to import following namespaces: + using LumiSoft.Net.IMAP.Client; + */ + + using(IMAP_Client imap = new IMAP_Client()){ + imap.Connect("host",143); + // Call Capability even if you don't care about capabilities, it also controls IMAP client features. + imap.Capability(); + + imap.Authenticate(... choose auth method ...); + + // Do do your stuff ... + } + + - + - Gets connected TCP stream. + This class represent IMAP single command line. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Is called when asynchronous operation has completed. + Default constructor. + Command line data. + Command line log text. + Is raised when data or logText is null reference. - + - Internal helper method for asynchronous Disconnect method. + Gets command line data. - + - This class represents asynchronous operation. + Gets command line data. - + - Default constructor. + This class is base class for simple(request -> response) IMAP commands. - SSL server certificate validation callback. Value null means any certificate is accepted. - + - Cleans up any resource being used. + Default constructor. + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. - + + + Cleans up any resource being used. + + + Starts operation processing. - Owner TCP client. + Owner IMAP client. Returns true if asynchronous operation in progress or false if operation completed synchronously. Is raised when owner is null reference. - + - Sets operation state. + Is called when we need to init command line info. - New state. + IMAP client. - + - This method is called when we need to validate remote server certificate. + Sets operation state. - Sender. - Certificate. - Certificate chain. - SSL policy errors. - Returns true if certificate validated, otherwise false. + New state. - + - This method is called when "BeginAuthenticateAsClient" has completed. + Gets asynchronous operation state. - Asynchronous result. - + - Raises CompletedAsync event. + Gets error happened during operation. Returns null if no error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets asynchronous operation state. + Returns IMAP server final response. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets error happened during operation. Returns null if no error. + Gets command lines. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + Is called when asynchronous operation has completed. - + - Represents callback to be called when to complete connect operation. + Raises CompletedAsync event. - Exception happened or null if no errors. - + - Internal helper method for asynchronous Connect method. + Default constructor. - Host name or IP address. - Port to connect. - Specifies if connects to SSL end point. - + - Internal helper method for asynchronous Connect method. + Closes connection to IMAP server. - Local IP end point to use for connect. - Remote IP end point where to connect. - Specifies if connects to SSL end point. + Is raised when this object is disposed and this method is accessed. + Is raised when IMAP client is not connected. - + - Default connection. + Switches connection to secure connection. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. - + - Clean up any resources being used. This method is thread-safe. + This class represents asynchronous operation. - + - Closes connection to FTP server. + Default constructor. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. + SSL server certificate validation callback. Value null means any certificate is accepted. + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. - + - Terminates the user and flushes all state information on the server. The connection is left open. + Cleans up any resource being used. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when FTP server returns error. - + - Authenticates user. Authenticate method chooses strongest possible authentication method supported by server. + Starts operation processing. - User login name. - Password. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or is already authenticated. - Is raised when userName is null. - Is raised when FTP server returns error. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Send NOOP command to server. This method can be used for keeping connection alive(not timing out). + Sets operation state. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when FTP server returns error. + New state. - + - Aborts an active file transfer. + Processes STARTTLS command result. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when FTP server returns error. + Asynchronous operation. - + - Gets current working directory in the sFTP server. + Gets asynchronous operation state. - Returns current working directory. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when FTP server returns error. - + - Changes the current working directory on the server. + Gets error happened during operation. Returns null if no error. - Directory absolute or relative path to the current working directory. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when path is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets files and directories in the current server directory. + Returns IMAP server final response. - Returns current working directory listing. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when FTP server returns error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets files and directories in the current server directory. + Is called when asynchronous operation has completed. - Directory or file name which listing to get. Value null means current directory will be listed. - Returns current working directory listing. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or FTP data connection has active read/write operation. - Is raised when FTP server returns error. - + - Gets specified file from FTP server. + Raises CompletedAsync event. - File absolute or relative path to the current working directory. - Local file path where to store received file. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or FTP data connection has active read/write operation. - Is raised when path or storePath is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. - + - Gets specified file from FTP server. + Executes STARTTLS command. - File absolute or relative path to the current working directory. - Stream where to store received file. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or FTP data connection has active read/write operation. - Is raised when path or stream is null. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. - + - Appends specified data to the existing file. If existing file doesn't exist, it will be created. + Authenticates user using IMAP-LOGIN method. - FTP server file absolute or relative path to the current working directory. - Stream which data append to the specified FTP server file. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or FTP data connection has active read/write operation. - Is raied when file or stream is null. + User name. + Password. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when user is null reference. Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. + Is raised when server refuses to complete this command and returns error. - + - Stores specified file to FTP server. + This class represents asynchronous operation. - File absolute or relative path to the current working directory. - File path which to store to FTP server. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or FTP data connection has active read/write operation. - Is raised when path or sourcePath is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. - + - Stores specified file to FTP server. + Default constructor. - File absolute or relative path to the current working directory. - Stream which data to store to FTP server. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected or FTP data connection has active read/write operation. - Is raised when path or stream is null. + User login name. + User password. + Optional callback to be called for each received untagged response. + Is raised when user or password is null reference. Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. - + - Deletes specified file from ftp server. + Cleans up any resource being used. - File absolute or relative path to the current working directory. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when path is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. - + - Renames file or directory to the new specified name. + Starts operation processing. - Exisitng file or directory absolute or relative path to the current working directory. - New file or directory absolute or relative path to the current working directory. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when fromPath or toPath is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Creates a directory on the FTP server. + Sets operation state. - Directory absolute or relative path to the current working directory. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when path is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. + New state. - + - Deletes specified directory from FTP server. + Gets asynchronous operation state. - Directory absolute or relative path to the current working directory. - Is raised when this object is disposed and this method is accessed. - Is raised when FTP client is not connected. - Is raised when path is null. - Is raised when any of the arguments has invalid value. - Is raised when FTP server returns error. - + - Sets transfer typr. + Gets error happened during operation. Returns null if no error. - Transfer type. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Sends PORT command to server. + Returns IMAP server final response. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Sends PASV command to server. + Is called when asynchronous operation has completed. - + - Reads FTP server response line(s). + Raises CompletedAsync event. - Returns FTP server response. - + - This method is called after TCP client has sucessfully connected. + Executes LOGIN command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Gets or sets data connection establish mode. + Sends AUTHENTICATE command to IMAP server. - Is raised when this object is disposed and this property is accessed. + SASL authentication. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when sasl is null reference. + Is raised when IMAP server returns error. - + - Gets or sets local IP address to use for data connection. Value null means that system will allocate it. + This class represents asynchronous operation. - Is raised when this object is disposed and this property is accessed. - + - Gets or sets ports what data connection may use. Value null means that system will allocate it. + Default constructor. - Is raised when this object is disposed and this property is accessed. + SASL authentication. + Is raised when sasl is null reference. - + - Gets greeting text which was sent by FTP server. + Cleans up any resource being used. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and FTP client is not connected. - + - Gets FTP exteneded capabilities supported by FTP server. + Starts operation processing. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and FTP client is not connected. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Gets session authenticated user identity, returns null if not authenticated. + Sets operation state. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and FTP client is not connected. + New state. - + - This class implements FTP client data connection. + Is called when AUTHENTICATE command sending has finished. + Asynchronous result. - + - Default constructor. + Is called when IMAP server response reading has completed. - Data connection owner FTP client. + Asynchronous operation. - + - Cleans up any resources being used. + Gets asynchronous operation state. - + - Swtiches FTP data connection to active mode. + Gets error happened during operation. Returns null if no error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Swtiches FTP data connection to passive mode and connects to the sepcified FTP server. + Is called when asynchronous operation has completed. - FTP server IP end point. - Is raised when remoteEP is null. - + - Reads all data from FTP data connection and stores to the specified stream. + Raises CompletedAsync event. - Stream where to store data. - Is raised when stream is null. - + - Writes all data from the specified stream to FTP data connection. + Starts sending AUTHENTICATE command to IMAP server. - Stream which data to write. - Is raised when stream is null. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not connected or connection is already authenticated. + Is raised when op is null reference. - + - Waits FTP server to connect to this data connection. + Gets IMAP server namespaces. - Wait time out in seconds. - Returns connected network stream. + Returns namespaces responses. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. - + - Creates new socket for data connection. + This class represents asynchronous operation. - + - Cleans up socket for reuse. + Default constructor. + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. - + - Copies all source stream data to the specified target stream. + Is called when we need to init command line info. - Source stream. - Target stream. + IMAP client. - + - Gets data connection local IP end point. + Executes NAMESPACE command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Gets last time when data connection has read or written data. + Gets folders list. + Folders filter. If this value is null, all folders are returned. + Returns folders list. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. + + The character "*" is a wildcard, and matches zero or more + characters at this position. The character "%" is similar to "*", + but it does not match a hierarchy delimiter. If the "%" wildcard + is the last character of a mailbox name argument, matching levels + of hierarchy are also returned. + - + - Gets if there is active read or write job in data stream. + This class represents asynchronous operation. - + - FTP client exception. - + Default constructor. + + Folders filter. If this value is null, all folders are returned. + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. + + The character "*" is a wildcard, and matches zero or more + characters at this position. The character "%" is similar to "*", + but it does not match a hierarchy delimiter. If the "%" wildcard + is the last character of a mailbox name argument, matching levels + of hierarchy are also returned. + - + - Default constructor. + Is called when we need to init command line info. - FTP server response line. - Is raised when responseLine is null. + IMAP client. - + - Gets FTP status code. + Executes LIST command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Gets FTP server response text after status code. + Creates new folder. + Folder name with path. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Gets if it is permanent FTP(5xx) error. + This class represents asynchronous operation. - - - This class holds single file or directory in the FTP server. - - - + Default constructor. - Directory or file name. - File size in bytes, zero for directory. - Directory or file last modification time. - Specifies if list item is directory or file. - Is raised when name is null. + Folder name with path. + Optional callback to be called for each received untagged response. + Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - - - Gets if current item is directory. - - - - - Gets if current item is file. - - - - - Gets the name of the file or directory. - - - - - Gets file size in bytes. - - - - - Gets last time file or direcory was modified. - - - - - Specifies FTP data connection transfer mode. - - - - - Active transfer mode - FTP server opens data connection FTP client. - - - - - Passive transfer mode - FTP client opens data connection FTP server. - - - - - This class represent DNS host entry. - - - - - Default constructor. - - DNS host name. - Host IP addresses. - Host aliases(CNAME). - Is raised when hostName or ipAddresses is null reference. - - + - Gets DNS host name. + Is called when we need to init command line info. + IMAP client. - + - Gets list of IP addresses that are associated with a host. + Executes CREATE command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Gets list of aliases(CNAME) that are associated with a host. + Deletes specified folder. + Folder name with path. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - IMAP v4 Client. Defined in RFC 3501. + This class represents asynchronous operation. - - - /* - To make this code to work, you need to import following namespaces: - using LumiSoft.Net.IMAP.Client; - */ - - using(IMAP_Client imap = new IMAP_Client()){ - imap.Connect("host",143); - // Call Capability even if you don't care about capabilities, it also controls IMAP client features. - imap.Capability(); - - imap.Authenticate(... choose auth method ...); - - // Do do your stuff ... - } - - - + Default constructor. + Folder name with path. + Optional callback to be called for each received untagged response. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. - - - Closes connection to IMAP server. - - Is raised when this object is disposed and this method is accessed. - Is raised when IMAP client is not connected. - - + - Switches connection to secure connection. + Is called when we need to init command line info. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when server refuses to complete this command and returns error. + IMAP client. - + - Executes STARTTLS command. + Executes DELETE command. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). Returns false if operation completed synchronously. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Authenticates user using IMAP-LOGIN method. + Renames exisiting folder name. - User name. - Password. + Folder name with path to rename. + New folder name with path. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when user is null reference. + Is raised when folder or newFolder is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - - - Executes LOGIN command. - - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - - + - Sends AUTHENTICATE command to IMAP server. + This class represents asynchronous operation. - SASL authentication. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when sasl is null reference. - Is raised when IMAP server returns error. - + - Starts sending AUTHENTICATE command to IMAP server. + Default constructor. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not connected or connection is already authenticated. - Is raised when op is null reference. + Folder name with path. + New folder name with path. + Optional callback to be called for each received untagged response. + Is raised when folder or newFolder is null reference. + Is raised when any of the arguments has invalid value. - + - Gets IMAP server namespaces. + Is called when we need to init command line info. - Returns namespaces responses. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when server refuses to complete this command and returns error. + IMAP client. - + - Executes NAMESPACE command. + Executes RENAME command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -2681,12 +2574,12 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Gets folders list. + Get user subscribed folders list. Folders filter. If this value is null, all folders are returned. - Returns folders list. + Returns subscribed folders list. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when server refuses to complete this command and returns error. @@ -2698,32 +2591,35 @@ of hierarchy are also returned. - + - Executes LIST command. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + + + + Default constructor. + + Folders filter. If this value is null, all folders are returned. + Optional callback to be called for each received untagged response. Is raised when any of the arguments has invalid value. + + The character "*" is a wildcard, and matches zero or more + characters at this position. The character "%" is similar to "*", + but it does not match a hierarchy delimiter. If the "%" wildcard + is the last character of a mailbox name argument, matching levels + of hierarchy are also returned. + - + - Creates new folder. + Is called when we need to init command line info. - Folder name with path. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. + IMAP client. - + - Executes CREATE command. + Executes LSUB command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -2733,73 +2629,39 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Deletes specified folder. + Subscribes specified folder. - Folder name with path. - Is raised when this object is disposed and and this method is accessed. + Foler name with path. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when folder is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes DELETE command. - - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - - - - Renames exisiting folder name. + This class represents asynchronous operation. - Folder name with path to rename. - New folder name with path. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder or newFolder is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Executes RENAME command. + Default constructor. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Folder name with path. + Optional callback to be called for each received untagged response. + Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - + - Get user subscribed folders list. + Is called when we need to init command line info. - Folders filter. If this value is null, all folders are returned. - Returns subscribed folders list. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when server refuses to complete this command and returns error. - - The character "*" is a wildcard, and matches zero or more - characters at this position. The character "%" is similar to "*", - but it does not match a hierarchy delimiter. If the "%" wildcard - is the last character of a mailbox name argument, matching levels - of hierarchy are also returned. - + IMAP client. - + - Executes LSUB command. + Executes SUBSCRIBE command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -2809,38 +2671,36 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Subscribes specified folder. + Unsubscribes specified folder. Foler name with path. + Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when folder is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes SUBSCRIBE command. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Unsubscribes specified folder. + Default constructor. - Foler name with path. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. + Folder name with path. + Optional callback to be called for each received untagged response. Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. + + + + Is called when we need to init command line info. + + IMAP client. @@ -2866,6 +2726,26 @@ Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. + + + This class represents asynchronous operation. + + + + + Default constructor. + + Folder name with path. + Optional callback to be called for each received untagged response. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. + + + + Is called when we need to init command line info. + + IMAP client. + Executes STATUS command. @@ -2889,357 +2769,256 @@ Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes SELECT command. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Selects folder as read-only, no changes to messages or flags not possible. - + Default constructor. + Folder name with path. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. + Optional callback to be called for each received untagged response. Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Executes EXAMINE command. + Cleans up any resource being used. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Gets specified folder quota roots and their quota resource usage. + Starts operation processing. - Folder name with path. - Returns quota-roots and their resource limit entries. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Executes STATUS command. + Sets operation state. + + New state. + + + + Processes command result. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Gets the specified folder quota-root resource limit entries. + Gets asynchronous operation state. - Quota root name. - Returns quota-root resource limit entries. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when quotaRootName is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Executes GETQUOTA command. + Gets error happened during operation. Returns null if no error. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets the specified folder ACL entries. + Returns IMAP server final response. - Folder name with path. - Returns folder ACL entries. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Executes GETACL command. + Is called when asynchronous operation has completed. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Sets the specified folder ACL. + Raises CompletedAsync event. - Folder name with path. - User name. - Specifies how flags are set. - ACL permissions. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder or user is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Executes SETACL command. + Executes SELECT command. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). Returns false if operation completed synchronously. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Deletes the specified folder user ACL entry. + Selects folder as read-only, no changes to messages or flags not possible. Folder name with path. - User name. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder or user is null reference. + Is raised when folder is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes DELETEACL command. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Gets rights which can be set for the specified identifier. - + Default constructor. + Folder name with path. - ACL entry identifier. Normally this is user or group name. - Returns LISTRIGHTS responses. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised whenfolder or identifier is null reference. + Optional callback to be called for each received untagged response. + Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Executes LISTRIGHTS command. + Cleans up any resource being used. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Gets myrights to the specified folder. + Starts operation processing. - Folder name with path. - Returns MYRIGHTS responses. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Executes MYRIGHTS command. + Sets operation state. + + New state. + + + + Processes command result. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Stores specified message to the specified folder. + Gets asynchronous operation state. - Folder name with path. - Message flags. Value null means no flags. For example: new string[]{"\Seen","\Answered"}. - Message internal data. DateTime.MinValue means server will allocate it. - Message stream. - Number of bytes send from message stream. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder or stream is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Stores specified message to the specified folder. + Gets error happened during operation. Returns null if no error. - Folder name with path. - Message flags. - Message internal data. DateTime.MinValue means server will allocate it. - Message stream. - Number of bytes send from message stream. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder,flags or stream is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Stores specified message to the specified folder. + Returns IMAP server final response. - Store message operation. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Executes APPEND command. + Is called when asynchronous operation has completed. + + + + + Raises CompletedAsync event. + + + + + Executes EXAMINE command. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). Returns false if operation completed synchronously. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Enables the specified IMAP capabilities in server. + Gets specified folder quota roots and their quota resource usage. - IMAP capabilities. - Returns enabled capabilities info. + Folder name with path. + Returns quota-roots and their resource limit entries. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when capabilities is null reference. + Is raised when folder is null reference. Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Executes ENABLE command. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when any of the arguments has invalid value. - + - Enables UTF-8 support in IMAP server. - - Is raised when IMAP client is not in valid state(not-connected,not-authenticated or selected state). - Before calling this method, you need to check IMAP capability list to see if server supports "UTF8=ACCEPT" or "UTF8=ALL" capability. - For more info see rfc5738. + Default constructor. + + Folder name with path. + Optional callback to be called for each received untagged response. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. - + - Closes selected folder, all messages marked as Deleted will be expunged. + Is called when we need to init command line info. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when server refuses to complete this command and returns error. + IMAP client. - + - Executes CLOSE command. + Executes STATUS command. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). Returns false if operation completed synchronously. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Fetches specified message items. + Gets the specified folder quota-root resource limit entries. - Specifies if argument seqSet contains messages UID or sequence numbers. - Sequence set of messages to fetch. - Fetch items to fetch. - Optional callback to be called for each server returned untagged response. + Quota root name. + Returns quota-root resource limit entries. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when seqSet or items is null reference. + Is raised when quotaRootName is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - Fetch raises for ecach fetched message. - + - Starts executing FETCH command. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + + + + Default constructor. + + Quota root name. + Optional callback to be called for each received untagged response. + Is riased when quotaRootName is null reference. Is raised when any of the arguments has invalid value. - + - Searches message what matches specified search criteria. + Is called when we need to init command line info. - If true then UID SERACH, otherwise normal SEARCH. - Charset used in search criteria. Value null means ASCII. The UTF-8 is reccomended value non ASCII searches. - Search criteria. - Returns search expression matehced messages sequence-numbers or UIDs(This depends on argument uid value). - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is rised when criteria is null reference. - Is raised when server refuses to complete this command and returns error. + IMAP client. - + - Starts executing SEARCH command. + Executes GETQUOTA command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -3249,22 +3028,41 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Stores specified message flags to the sepcified messages. + Gets the specified folder ACL entries. - Specifies if seqSet contains UIDs or sequence-numbers. - Messages sequence-set. - Specifies how flags are set. - Message flags. + Folder name with path. + Returns folder ACL entries. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when seqSet or flags is null reference. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes STORE command. + This class represents asynchronous operation. + + + + + Default constructor. + + Folder name with path. + Optional callback to be called for each received untagged response. + Is riased when folder is null reference. + Is raised when any of the arguments has invalid value. + + + + Is called when we need to init command line info. + + IMAP client. + + + + Executes GETACL command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -3274,32 +3072,46 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Copies specified messages from current selected folder to the specified target folder. + Sets the specified folder ACL. - Specifies if seqSet contains UIDs or message-numberss. - Messages sequence set. - Target folder name with path. + Folder name with path. + User name. + Specifies how flags are set. + ACL permissions. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when seqSet or targetFolder is null reference. + Is raised when folder or user is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Copies specified messages from current selected folder to the specified target folder. + This class represents asynchronous operation. - Copy messages operation. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - Is raised when server refuses to complete this command and returns error. - + - Executes COPY command. + Default constructor. + + Folder name with path. + ACL entry identifier. Normally this is user or group name. + Specifies how flags are set. + ACL permissions. + Optional callback to be called for each received untagged response. + Is riased when folder or identifier is null reference. + Is raised when any of the arguments has invalid value. + + + + Is called when we need to init command line info. + + IMAP client. + + + + Executes SETACL command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -3309,43 +3121,42 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Moves specified messages from current selected folder to the specified target folder. + Deletes the specified folder user ACL entry. - Specifies if seqSet contains UIDs or message-numberss. - Messages sequence set. - Target folder name with path. - If ture messages are expunged from selected folder, otherwise they are marked as Deleted. - Note: If true - then all messages marked as Deleted are expunged ! + Folder name with path. + User name. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder or user is null reference. Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Deletes all messages in selected folder which has "Deleted" flag set. + This class represents asynchronous operation. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when server refuses to complete this command and returns error. - + - Executes EXPUNGE command. - - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Default constructor. + + Folder name with path. + ACL entry identifier. Normally this is user or group name. + Optional callback to be called for each received untagged response. + Is riased when folder or identifier is null reference. Is raised when any of the arguments has invalid value. - + - Executes IDLE command. + Is called when we need to init command line info. + + IMAP client. + + + + Executes DELETEACL command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -3355,18 +3166,43 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Gets IMAP server capabilities. + Gets rights which can be set for the specified identifier. - Returns CAPABILITIES responses. + Folder name with path. + ACL entry identifier. Normally this is user or group name. + Returns LISTRIGHTS responses. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised whenfolder or identifier is null reference. + Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes CAPABILITY command. + This class represents asynchronous operation. + + + + + Default constructor. + + Folder name with path. + ACL entry identifier. Normally this is user or group name. + Optional callback to be called for each received untagged response. + Is riased when folder or identifier is null reference. + Is raised when any of the arguments has invalid value. + + + + Is called when we need to init command line info. + + IMAP client. + + + + Executes LISTRIGHTS command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -3376,17 +3212,41 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Sends NOOP command to IMAP server. + Gets myrights to the specified folder. + Folder name with path. + Returns MYRIGHTS responses. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. Is raised when server refuses to complete this command and returns error. - + - Executes NOOP command. + This class represents asynchronous operation. + + + + + Default constructor. + + Folder name with path. + Optional callback to be called for each received untagged response. + Is riased when folder is null reference. + Is raised when any of the arguments has invalid value. + + + + Is called when we need to init command line info. + + IMAP client. + + + + Executes MYRIGHTS command. Asynchronous operation. Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). @@ -3396,554 +3256,564 @@ Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - This method is called when TCP client has sucessfully connected. + Stores specified message to the specified folder. - Callback to be called to complete connect operation. + Folder name with path. + Message flags. Value null means no flags. For example: new string[]{"\Seen","\Answered"}. + Message internal data. DateTime.MinValue means server will allocate it. + Message stream. + Number of bytes send from message stream. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder or stream is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Processes IMAP server greeting reading result. + Stores specified message to the specified folder. - Reading operation. - Callback to be called to complete connect operation. + Folder name with path. + Message flags. + Message internal data. DateTime.MinValue means server will allocate it. + Message stream. + Number of bytes send from message stream. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder,flags or stream is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Sends IMAP command to server and reads server responses. + Stores specified message to the specified folder. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. + Store message operation. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when op is null reference. - Is raised when any oth the arguments has invalid value. - + - Starts reading IMAP server response. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when op is null reference. - Is raised when any oth the arguments has invalid value. - + - Starts reading IMAP server final(OK/BAD/NO/+) response. - - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when op is null reference. - Is raised when any oth the arguments has invalid value. + Default constructor. + + Folder name with path. + Message flags. Value null means no flags. + Message internal data. DateTime.MinValue means server will allocate it. + Message stream. + Number of bytes send from message stream. + Optional callback to be called for each received untagged response. + Is riased when folder or message is null reference. + Is raised when any of the arguments has invalid value. - + - Starts reading string-literal from IMAP server. + Cleans up any resource being used. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when op is null reference. - Is raised when any oth the arguments has invalid value. - + - Gets if IMAP server supports the specified capability. + Starts operation processing. - IMAP capability. - Return true if IMAP server supports the specified capability. - Is raised when capability is null reference. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Raises UntaggedStatusResponse event. + Sets operation state. - Untagged response. + New state. - + - Raises UntaggedResponse event. + Processes intial command line sending result. - Untagged IMAP server response. + Asynchronous operation. - + - Raises MessageExpunged event. + Processes message literal sending result. - Expunge response. + Asynchronous operation. - + - Raises FetchGetStoreStream event. + Gets asynchronous operation state. - Event data. - + - Reads IMAP server responses. + Gets error happened during operation. Returns null if no error. - Folder info where to store folder related data. - This applies to SELECT or EXAMINE command only. This value can be null. - - List wehere to store CAPABILITY command result. This value can be null. - List wehere to store SEARCH command result. This value can be null. - List where to store LIST command result. This value can be null. - List where to store LSUB command result. This value can be null. - List where to store ACL command result. This value can be null. - List where to store MYRIGHTS command result. This value can be null. - List where to store LISTRIGHTS command result. This value can be null. - List where to store STATUS command result. This value can be null. - List where to store QUOTA command result. This value can be null. - List where to store QUOTAROOT command result. This value can be null. - List where to store NAMESPACE command result. This value can be null. - Fetch data-items handler. - List where to store ENABLE command result. This value can be null. - Returns command completion status response. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Searches message what matches specified search criteria. + Returns IMAP server final response. - If true then UID SERACH, otherwise normal SEARCH. - Charset used in search criteria. Value null means ASCII. The UTF-8 is reccomended value non ASCII searches. - Search criteria. - Returns search expression matehced messages sequence-numbers or UIDs(This depends on argument uid value). - Is rised when criteria is null reference. - Is raised when any of the arguments has invalid value. - Is raised when IMAP client is not in valid state(not-connected, not-authenticated or not-selected state). - Is raised when server refuses to complete this command and returns error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Fetches specified message items. + Gets APPENDUID optional response. Returns null if IMAP server doesn't support UIDPLUS extention. - Specifies if argument seqSet contains messages UID or sequence numbers. - Sequence set of messages to fetch. - Fetch items to fetch. - Fetch responses handler. - Is raised when seqSet,items or handler is null reference. - Is raised when any of the arguments has invalid value. - Is raised when IMAP client is not in valid state(not-connected, not-authenticated or not-selected state). - Is raised when server refuses to complete this command and returns error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Stores specified message to the specified folder. + Is called when asynchronous operation has completed. - Folder name with path. - Message flags. - Message internal data. DateTime.MinValue means server will allocate it. - Message stream. - Number of bytes send from message stream. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when folder or stream is null reference. - Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Stores specified message flags to the sepcified messages. + Raises CompletedAsync event. - Specifies if seqSet contains UIDs or sequence-numbers. - Messages sequence-set. - Specifies how flags are set. - Message flags. Value null means no flags. For example: new string[]{"\Seen","\Answered"}. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when seqSet is null reference. - Is raised when server refuses to complete this command and returns error. - + - Stores specified message flags to the sepcified messages. + Executes APPEND command. - Specifies if seqSet contains UIDs or sequence-numbers. - Messages sequence-set. - Specifies how flags are set. - Message flags. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when seqSet is null reference. - Is raised when server refuses to complete this command and returns error. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Copies specified messages from current selected folder to the specified target folder. + Enables the specified IMAP capabilities in server. - Specifies if seqSet contains UIDs or message-numberss. - Messages sequence set. - Target folder name with path. + IMAP capabilities. + Returns enabled capabilities info. Is raised when this object is disposed and and this method is accessed. Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when seqSet or targetFolder is null reference. + Is raised when capabilities is null reference. Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Moves specified messages from current selected folder to the specified target folder. + This class represents asynchronous operation. - Specifies if seqSet contains UIDs or message-numberss. - Messages sequence set. - Target folder name with path. - If ture messages are expunged from selected folder, otherwise they are marked as Deleted. - Note: If true - then all messages marked as Deleted are expunged ! - Is raised when seqSet or targetFolder is null reference. - Is raised when any of the arguments has invalid value. - Is raised when IMAP client is not in valid state(not-connected, not-authenticated or not-selected state). - Is raised when server refuses to complete this command and returns error. - + - Gets the specified folder quota-root resource limit entries. + Default constructor. - Quota root name. - Returns quota-root resource limit entries. - Is raised when this object is disposed and and this method is accessed. - Is raised when IMAP client is not in valid state. For example 'not connected'. - Is raised when quotaRootName is null reference. + Folder name with path. + Optional callback to be called for each received untagged response. + Is raised when capabilities is null reference. Is raised when any of the arguments has invalid value. - Is raised when server refuses to complete this command and returns error. - + - Reads IMAP string-literal from remote endpoint. + Is called when we need to init command line info. - Number of bytes to read. - Returns readed string-literal. + IMAP client. - + - Reads IMAP string-literal from remote endpoint. + Executes ENABLE command. - Number of bytes to read. - Stream where to store readed data. - Is raised when stream is null reference. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Send specified command to the IMAP server. + Enables UTF-8 support in IMAP server. - Command to send. - Is raised when command is null reference value. + Is raised when IMAP client is not in valid state(not-connected,not-authenticated or selected state). + Before calling this method, you need to check IMAP capability list to see if server supports "UTF8=ACCEPT" or "UTF8=ALL" capability. + For more info see rfc5738. - + - Reads final response from IMAP server. + Closes selected folder, all messages marked as Deleted will be expunged. - Optional callback to be called for each server returned untagged response. - Returns final response. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. - + - Gets session authenticated user identity, returns null if not authenticated. + This class represents asynchronous operation. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and IMAP client is not connected. - + - Get IMAP server greeting text. - - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and IMAP client is not connected. + Default constructor. + + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. - + - Get IMAP server(CAPABILITY command cached) supported capabilities. + Cleans up any resource being used. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and IMAP client is not connected. - + - Gets IMAP server folder separator. + Starts operation processing. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and IMAP client is not connected. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Gets selected folder. Returns null if no folder selected. + Sets operation state. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and IMAP client is not connected. + New state. - + - Gets active IDLE operation or null if no active IDLE operation. + Processes command result. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and IMAP client is not connected. + Asynchronous operation. - + - This event is raised when IMAP server sends untagged status response. + Gets asynchronous operation state. - + - Is raised when IMAP server sends any untagged response. + Gets error happened during operation. Returns null if no error. - NOTE: This event may raised from thread pool thread, so UI event handlers need to use Invoke. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - This event is raised when IMAP server expunges message and sends EXPUNGE response. + Returns IMAP server final response. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - This event is raised when FETCH response parsing allows to specify stream where to store binary data. + Is called when asynchronous operation has completed. - Thhis event is raised for FETCH BODY[]/RFC822/RFC822.HEADER/RFC822.TEXT data-items. - + - This class represent IMAP single command line. + Raises CompletedAsync event. - + - Default constructor. + Executes CLOSE command. - Command line data. - Command line log text. - Is raised when data or logText is null reference. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Gets command line data. - - - - - Gets command line data. + Fetches specified message items. + Specifies if argument seqSet contains messages UID or sequence numbers. + Sequence set of messages to fetch. + Fetch items to fetch. + Optional callback to be called for each server returned untagged response. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when seqSet or items is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. + Fetch raises for ecach fetched message. - + - This class is base class for simple(request -> response) IMAP commands. + This class represents asynchronous operation. - + Default constructor. + Specifies if argument seqSet contains messages UID or sequence numbers. + Sequence set of messages to fetch. + Fetch items to fetch. Optional callback to be called for each received untagged response. + Is raised when seqSet or items is null reference. Is raised when any of the arguments has invalid value. - - - Cleans up any resource being used. - - - - - Starts operation processing. - - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - - + Is called when we need to init command line info. IMAP client. - + - Sets operation state. + Starts executing FETCH command. - New state. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Raises CompletedAsync event. + Searches message what matches specified search criteria. + If true then UID SERACH, otherwise normal SEARCH. + Charset used in search criteria. Value null means ASCII. The UTF-8 is reccomended value non ASCII searches. + Search criteria. + Returns search expression matehced messages sequence-numbers or UIDs(This depends on argument uid value). + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is rised when criteria is null reference. + Is raised when server refuses to complete this command and returns error. - + - Gets asynchronous operation state. + This class represents asynchronous operation. - + - Gets error happened during operation. Returns null if no error. + Default constructor. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Specifies if argument seqSet contains messages UID or sequence numbers. + Charset used in search criteria. Value null means ASCII. The UTF-8 is reccomended value non ASCII searches. + Search criteria. + Optional callback to be called for each received untagged response. + Is raised when criteria is null reference. + Is raised when any of the arguments has invalid value. - + - Returns IMAP server final response. + Is called when we need to init command line info. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + IMAP client. - + - Gets command lines. + Starts executing SEARCH command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Is called when asynchronous operation has completed. + Stores specified message flags to the sepcified messages. + Specifies if seqSet contains UIDs or sequence-numbers. + Messages sequence-set. + Specifies how flags are set. + Message flags. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when seqSet or flags is null reference. + Is raised when server refuses to complete this command and returns error. - + - This class represents asynchronous operation. + This class represents asynchronous operation. - + Default constructor. - SSL server certificate validation callback. Value null means any certificate is accepted. + Specifies if seqSet contains UIDs or message-numberss. + Messages sequence set. + If true, no FETCH (FLAGS) response returned by server. + Specifies how flags are set. + Message flags. Optional callback to be called for each received untagged response. + Is raised when seqSet or msgFlags is null reference. Is raised when any of the arguments has invalid value. - + - Cleans up any resource being used. + Is called when we need to init command line info. + IMAP client. - + - Starts operation processing. + Executes STORE command. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Sets operation state. + Copies specified messages from current selected folder to the specified target folder. - New state. + Specifies if seqSet contains UIDs or message-numberss. + Messages sequence set. + Target folder name with path. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when seqSet or targetFolder is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Processes STARTTLS command result. + Copies specified messages from current selected folder to the specified target folder. - Asynchronous operation. + Copy messages operation. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when server refuses to complete this command and returns error. - + - Raises CompletedAsync event. + This class represents asynchronous operation. - + - Gets asynchronous operation state. + Default constructor. + Specifies if seqSet contains UIDs or message-numberss. + Messages sequence set. + Target folder name with path. + Optional callback to be called for each received untagged response. + Is raised when seqSet or targetFolder is null reference. + Is raised when any of the arguments has invalid value. - + - Gets error happened during operation. Returns null if no error. + Is called when we need to init command line info. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + IMAP client. - + - Returns IMAP server final response. + Gets COPYUID optional response. Returns null if IMAP server doesn't support UIDPLUS extention. Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - - - Is called when asynchronous operation has completed. - - - + - This class represents asynchronous operation. + Executes COPY command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Default constructor. + Moves specified messages from current selected folder to the specified target folder. - User login name. - User password. - Optional callback to be called for each received untagged response. - Is raised when user or password is null reference. + Specifies if seqSet contains UIDs or message-numberss. + Messages sequence set. + Target folder name with path. + If ture messages are expunged from selected folder, otherwise they are marked as Deleted. + Note: If true - then all messages marked as Deleted are expunged ! + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Cleans up any resource being used. + Deletes all messages in selected folder which has "Deleted" flag set. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. - + - Starts operation processing. + This class represents asynchronous operation. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Default constructor. - New state. + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. - + - Raises CompletedAsync event. + Is called when we need to init command line info. + IMAP client. - + - Gets asynchronous operation state. + Executes EXPUNGE command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - - - Gets error happened during operation. Returns null if no error. - - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - - - - Returns IMAP server final response. - - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - - + - Is called when asynchronous operation has completed. + This class represents asynchronous operation. - + - This class represents asynchronous operation. - + Default constructor. + + Optional callback to be called for each received untagged response. + Is raised when any of the arguments has invalid value. - + - Default constructor. + Cleans up any resource being used. - SASL authentication. - Is raised when sasl is null reference. - + - Cleans up any resource being used. + Starts exiting IDLE state. + Is raised when this not in valid state. - + Starts operation processing. @@ -3951,257 +3821,264 @@ Returns true if asynchronous operation in progress or false if operation completed synchronously. Is raised when owner is null reference. - + Sets operation state. New state. - + - Is called when AUTHENTICATE command sending has finished. + Processes command result. - Asynchronous result. + Asynchronous operation. - + - Is called when IMAP server response reading has completed. + Processes IDLE final(final response after +) response reading result. Asynchronous operation. - + - Raises CompletedAsync event. + Gets asynchronous operation state. - + - Gets asynchronous operation state. + Gets error happened during operation. Returns null if no error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets error happened during operation. Returns null if no error. + Returns IMAP server final response. Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - + Is called when asynchronous operation has completed. - + - This class represents asynchronous operation. + Raises CompletedAsync event. - + - Default constructor. + Executes IDLE command. - Optional callback to be called for each received untagged response. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Is called when we need to init command line info. + Gets IMAP server capabilities. - IMAP client. + Returns CAPABILITIES responses. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. - + - This class represents asynchronous operation. + This class represents asynchronous operation. - + Default constructor. - - Folders filter. If this value is null, all folders are returned. + Optional callback to be called for each received untagged response. Is raised when any of the arguments has invalid value. - - The character "*" is a wildcard, and matches zero or more - characters at this position. The character "%" is similar to "*", - but it does not match a hierarchy delimiter. If the "%" wildcard - is the last character of a mailbox name argument, matching levels - of hierarchy are also returned. - - + Is called when we need to init command line info. IMAP client. - - - This class represents asynchronous operation. - - - + - Default constructor. + Executes CAPABILITY command. - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder is null reference. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. Is raised when any of the arguments has invalid value. - + - Is called when we need to init command line info. + Sends NOOP command to IMAP server. - IMAP client. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when server refuses to complete this command and returns error. - + - This class represents asynchronous operation. + This class represents asynchronous operation. - + Default constructor. - Folder name with path. Optional callback to be called for each received untagged response. - Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - + Is called when we need to init command line info. IMAP client. - + - This class represents asynchronous operation. + Executes NOOP command. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + Is raised when any of the arguments has invalid value. - + - Default constructor. + This method is called when TCP client has sucessfully connected. - Folder name with path. - New folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder or newFolder is null reference. - Is raised when any of the arguments has invalid value. + Callback to be called to complete connect operation. - + - Is called when we need to init command line info. + Processes IMAP server greeting reading result. - IMAP client. + Reading operation. + Callback to be called to complete connect operation. - + - This class represents asynchronous operation. + This class represents asynchronous operation. - + Default constructor. - - Folders filter. If this value is null, all folders are returned. + + IMAP command line. + IMAP command line log text. Optional callback to be called for each received untagged response. + Is raised when cmdLine or cmdLineLogText is null reference. Is raised when any of the arguments has invalid value. - - The character "*" is a wildcard, and matches zero or more - characters at this position. The character "%" is similar to "*", - but it does not match a hierarchy delimiter. If the "%" wildcard - is the last character of a mailbox name argument, matching levels - of hierarchy are also returned. - - + - Is called when we need to init command line info. + Default constructor. - IMAP client. + IMAP command lines. + Optional callback to be called for each received untagged response. + Is raised when cmdLines is null reference. + Is raised when any of the arguments has invalid value. - + - This class represents asynchronous operation. + Cleans up any resource being used. - + - Default constructor. + Starts operation processing. - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Is called when we need to init command line info. + Sets operation state. - IMAP client. + New state. - + - This class represents asynchronous operation. + Sends next command line to IMAP server. - + - Default constructor. + Processes command line sending result. - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. + Asynchronous result. - + - Is called when we need to init command line info. + Gets asynchronous operation state. - IMAP client. - + - This class represents asynchronous operation. + Gets error happened during operation. Returns null if no error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Default constructor. - - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. + Returns IMAP server final response. + + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Is called when we need to init command line info. + Is called when asynchronous operation has completed. - IMAP client. - + - This class represents asynchronous operation. + Raises CompletedAsync event. - + + + Sends IMAP command to server and reads server responses. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when op is null reference. + Is raised when any oth the arguments has invalid value. + + + + This class represents asynchronous operation. + + + Default constructor. - - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. + - + Cleans up any resource being used. - + Starts operation processing. @@ -4209,67 +4086,95 @@ Returns true if asynchronous operation in progress or false if operation completed synchronously. Is raised when owner is null reference. - + + + Prepares this class for reuse. + + Is raised when this is not valid state. + + Sets operation state. New state. - + - Processes command result. + Is called when TcpStream.ReadLine has completed. + + Sender. + Event data. + + + + Is called when read line has completed. Asynchronous operation. + Is raised when op is null reference. - + - Raises CompletedAsync event. + This method is called when FETCH parsing has completed. + Sender. + Event data. - + Gets asynchronous operation state. - + Gets error happened during operation. Returns null if no error. Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Returns IMAP server final response. + Returns IMAP server response. Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - + Is called when asynchronous operation has completed. - + - This class represents asynchronous operation. + Raises CompletedAsync event. - + + + Starts reading IMAP server response. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when op is null reference. + Is raised when any oth the arguments has invalid value. + + + + This class represents asynchronous operation. + + + Default constructor. - - Folder name with path. + Optional callback to be called for each received untagged response. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - + Cleans up any resource being used. - + Starts operation processing. @@ -4277,4059 +4182,3768 @@ Returns true if asynchronous operation in progress or false if operation completed synchronously. Is raised when owner is null reference. - + Sets operation state. New state. - + - Processes command result. + Is called when IMAP server response reading has completed. Asynchronous operation. + Is raiswed when op is null reference. - - - Raises CompletedAsync event. - - - + Gets asynchronous operation state. - + Gets error happened during operation. Returns null if no error. Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - + Returns IMAP server final response. Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - + Is called when asynchronous operation has completed. - + - This class represents asynchronous operation. + Raises CompletedAsync event. - - - Default constructor. - - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - - + - Is called when we need to init command line info. + Starts reading IMAP server final(OK/BAD/NO/+) response. - IMAP client. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when op is null reference. + Is raised when any oth the arguments has invalid value. - + - This class represents asynchronous operation. + This class represents asynchronous operation. - + Default constructor. - - Quota root name. - Optional callback to be called for each received untagged response. - Is riased when quotaRootName is null reference. - Is raised when any of the arguments has invalid value. + + Store stream. + String literal size in bytes. + Is raised when stream is null reference. - + - Is called when we need to init command line info. + Cleans up any resource being used. - IMAP client. - + - This class represents asynchronous operation. + Starts operation processing. + Owner IMAP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Default constructor. - - Folder name with path. - Optional callback to be called for each received untagged response. - Is riased when folder is null reference. - Is raised when any of the arguments has invalid value. + Sets operation state. + + New state. - + - Is called when we need to init command line info. + This method is called when string-literal reading has completed. - IMAP client. + Asynchronous result. - + - This class represents asynchronous operation. + Gets asynchronous operation state. - + - Default constructor. - - Folder name with path. - ACL entry identifier. Normally this is user or group name. - Specifies how flags are set. - ACL permissions. - Optional callback to be called for each received untagged response. - Is riased when folder or identifier is null reference. - Is raised when any of the arguments has invalid value. + Gets error happened during operation. Returns null if no error. + + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Is called when we need to init command line info. + Gets literal stream. - IMAP client. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - This class represents asynchronous operation. + Is called when asynchronous operation has completed. - + - Default constructor. - - Folder name with path. - ACL entry identifier. Normally this is user or group name. - Optional callback to be called for each received untagged response. - Is riased when folder or identifier is null reference. - Is raised when any of the arguments has invalid value. + Raises CompletedAsync event. + - + - Is called when we need to init command line info. + Starts reading string-literal from IMAP server. - IMAP client. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when op is null reference. + Is raised when any oth the arguments has invalid value. - + - This class represents asynchronous operation. + Gets if IMAP server supports the specified capability. + IMAP capability. + Return true if IMAP server supports the specified capability. + Is raised when capability is null reference. - + - Default constructor. - - Folder name with path. - ACL entry identifier. Normally this is user or group name. - Optional callback to be called for each received untagged response. - Is riased when folder or identifier is null reference. - Is raised when any of the arguments has invalid value. - - - - Is called when we need to init command line info. + Gets session authenticated user identity, returns null if not authenticated. - IMAP client. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and IMAP client is not connected. - + - This class represents asynchronous operation. + Get IMAP server greeting text. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and IMAP client is not connected. - - - Default constructor. - - Folder name with path. - Optional callback to be called for each received untagged response. - Is riased when folder is null reference. - Is raised when any of the arguments has invalid value. - - + - Is called when we need to init command line info. + Get IMAP server(CAPABILITY command cached) supported capabilities. - IMAP client. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and IMAP client is not connected. - + - This class represents asynchronous operation. + Gets IMAP server folder separator. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and IMAP client is not connected. - + - Default constructor. - - Folder name with path. - Message flags. Value null means no flags. - Message internal data. DateTime.MinValue means server will allocate it. - Message stream. - Number of bytes send from message stream. - Optional callback to be called for each received untagged response. - Is riased when folder or message is null reference. - Is raised when any of the arguments has invalid value. + Gets selected folder. Returns null if no folder selected. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and IMAP client is not connected. - + - Cleans up any resource being used. + Gets active IDLE operation or null if no active IDLE operation. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and IMAP client is not connected. - + - Starts operation processing. + This event is raised when IMAP server sends untagged status response. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Raises UntaggedStatusResponse event. - New state. + Untagged response. - + - Processes intial command line sending result. + Is raised when IMAP server sends any untagged response. - Asynchronous operation. + NOTE: This event may raised from thread pool thread, so UI event handlers need to use Invoke. - + - Processes message literal sending result. + Raises UntaggedResponse event. - Asynchronous operation. + Untagged IMAP server response. - + - Raises CompletedAsync event. + This event is raised when IMAP server expunges message and sends EXPUNGE response. - + - Gets asynchronous operation state. + Raises MessageExpunged event. + Expunge response. - + - Gets error happened during operation. Returns null if no error. + This event is raised when FETCH response parsing allows to specify stream where to store binary data. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Thhis event is raised for FETCH BODY[]/RFC822/RFC822.HEADER/RFC822.TEXT data-items. - + - Returns IMAP server final response. + Raises FetchGetStoreStream event. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Event data. - + - Gets APPENDUID optional response. Returns null if IMAP server doesn't support UIDPLUS extention. + Reads IMAP server responses. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Folder info where to store folder related data. + This applies to SELECT or EXAMINE command only. This value can be null. + + List wehere to store CAPABILITY command result. This value can be null. + List wehere to store SEARCH command result. This value can be null. + List where to store LIST command result. This value can be null. + List where to store LSUB command result. This value can be null. + List where to store ACL command result. This value can be null. + List where to store MYRIGHTS command result. This value can be null. + List where to store LISTRIGHTS command result. This value can be null. + List where to store STATUS command result. This value can be null. + List where to store QUOTA command result. This value can be null. + List where to store QUOTAROOT command result. This value can be null. + List where to store NAMESPACE command result. This value can be null. + Fetch data-items handler. + List where to store ENABLE command result. This value can be null. + Returns command completion status response. - + - Is called when asynchronous operation has completed. + Searches message what matches specified search criteria. + If true then UID SERACH, otherwise normal SEARCH. + Charset used in search criteria. Value null means ASCII. The UTF-8 is reccomended value non ASCII searches. + Search criteria. + Returns search expression matehced messages sequence-numbers or UIDs(This depends on argument uid value). + Is rised when criteria is null reference. + Is raised when any of the arguments has invalid value. + Is raised when IMAP client is not in valid state(not-connected, not-authenticated or not-selected state). + Is raised when server refuses to complete this command and returns error. - + - This class represents asynchronous operation. + Fetches specified message items. + Specifies if argument seqSet contains messages UID or sequence numbers. + Sequence set of messages to fetch. + Fetch items to fetch. + Fetch responses handler. + Is raised when seqSet,items or handler is null reference. + Is raised when any of the arguments has invalid value. + Is raised when IMAP client is not in valid state(not-connected, not-authenticated or not-selected state). + Is raised when server refuses to complete this command and returns error. - + - Default constructor. + Stores specified message to the specified folder. - Folder name with path. - Optional callback to be called for each received untagged response. - Is raised when capabilities is null reference. + Folder name with path. + Message flags. + Message internal data. DateTime.MinValue means server will allocate it. + Message stream. + Number of bytes send from message stream. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when folder or stream is null reference. Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Is called when we need to init command line info. + Stores specified message flags to the sepcified messages. - IMAP client. + Specifies if seqSet contains UIDs or sequence-numbers. + Messages sequence-set. + Specifies how flags are set. + Message flags. Value null means no flags. For example: new string[]{"\Seen","\Answered"}. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when seqSet is null reference. + Is raised when server refuses to complete this command and returns error. - + - This class represents asynchronous operation. + Stores specified message flags to the sepcified messages. + Specifies if seqSet contains UIDs or sequence-numbers. + Messages sequence-set. + Specifies how flags are set. + Message flags. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when seqSet is null reference. + Is raised when server refuses to complete this command and returns error. - + - Default constructor. - - Optional callback to be called for each received untagged response. + Copies specified messages from current selected folder to the specified target folder. + + Specifies if seqSet contains UIDs or message-numberss. + Messages sequence set. + Target folder name with path. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when seqSet or targetFolder is null reference. Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Cleans up any resource being used. + Moves specified messages from current selected folder to the specified target folder. + Specifies if seqSet contains UIDs or message-numberss. + Messages sequence set. + Target folder name with path. + If ture messages are expunged from selected folder, otherwise they are marked as Deleted. + Note: If true - then all messages marked as Deleted are expunged ! + Is raised when seqSet or targetFolder is null reference. + Is raised when any of the arguments has invalid value. + Is raised when IMAP client is not in valid state(not-connected, not-authenticated or not-selected state). + Is raised when server refuses to complete this command and returns error. - + - Starts operation processing. + Gets the specified folder quota-root resource limit entries. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. + Quota root name. + Returns quota-root resource limit entries. + Is raised when this object is disposed and and this method is accessed. + Is raised when IMAP client is not in valid state. For example 'not connected'. + Is raised when quotaRootName is null reference. + Is raised when any of the arguments has invalid value. + Is raised when server refuses to complete this command and returns error. - + - Sets operation state. + This class implements FETCH response reader. - New state. - + - Processes command result. + Default constructor. - Asynchronous operation. + IMAP client. + Initial FETCH response line. + Fetch data-items handler. + Is raised when imap,fetchLine or handler is null reference. - + - Raises CompletedAsync event. + Starts reading FETCH response. - + - Gets asynchronous operation state. + Gets FETCH current line data reader. - + - Gets error happened during operation. Returns null if no error. + Reads string. Quoted-string-string-literal and NIL supported. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Returns readed string. - + - Returns IMAP server final response. + Reads IMAP string-literal from remote endpoint. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Number of bytes to read. + Returns readed string-literal. - + - Is called when asynchronous operation has completed. + Reads IMAP string-literal from remote endpoint. + Number of bytes to read. + Stream where to store readed data. + Is raised when stream is null reference. - + - This class represents asynchronous operation. + Send specified command to the IMAP server. + Command to send. + Is raised when command is null reference value. - + - Default constructor. + Reads final response from IMAP server. - Specifies if argument seqSet contains messages UID or sequence numbers. - Sequence set of messages to fetch. - Fetch items to fetch. - Optional callback to be called for each received untagged response. - Is raised when seqSet or items is null reference. - Is raised when any of the arguments has invalid value. + Optional callback to be called for each server returned untagged response. + Returns final response. - + - Is called when we need to init command line info. + IMAP client exception. - IMAP client. - + - This class represents asynchronous operation. + Default constructor. + IMAP server response. + Is raised when response is null reference. - + Default constructor. - Specifies if argument seqSet contains messages UID or sequence numbers. - Charset used in search criteria. Value null means ASCII. The UTF-8 is reccomended value non ASCII searches. - Search criteria. - Optional callback to be called for each received untagged response. - Is raised when criteria is null reference. - Is raised when any of the arguments has invalid value. + IMAP server response line. + Is raised when responseLine is null. - + - Is called when we need to init command line info. + Default constructor. - IMAP client. + IMAP response code(BAD,NO). + Response text. + Is raised when responseCode or responseText is null reference. + Is raised when any of the arguments has invalid value. - + - This class represents asynchronous operation. + Gets IMAP server response. - + - Default constructor. + Gets IMAP server error status code. - Specifies if seqSet contains UIDs or message-numberss. - Messages sequence set. - If true, no FETCH (FLAGS) response returned by server. - Specifies how flags are set. - Message flags. - Optional callback to be called for each received untagged response. - Is raised when seqSet or msgFlags is null reference. - Is raised when any of the arguments has invalid value. - + - Is called when we need to init command line info. + Gets IMAP server response text after status code. - IMAP client. - + - This class represents asynchronous operation. + This class represent IMAP command part. + + Complete command consits of multiple parts. + - + Default constructor. - Specifies if seqSet contains UIDs or message-numberss. - Messages sequence set. - Target folder name with path. - Optional callback to be called for each received untagged response. - Is raised when seqSet or targetFolder is null reference. - Is raised when any of the arguments has invalid value. + Command part type. + Command data. + Is raised when data is null reference. - + - Is called when we need to init command line info. + Gets command part ype. - IMAP client. - + - Gets COPYUID optional response. Returns null if IMAP server doesn't support UIDPLUS extention. + Gets command part string value. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - This class represents asynchronous operation. + This class specified IMAP command part type. - + - Default constructor. + Command part is constant value. - Optional callback to be called for each received untagged response. - Is raised when any of the arguments has invalid value. - + - Is called when we need to init command line info. + Command part is IMAP string. - IMAP client. - + - This class represents asynchronous operation. + This class provides data for IMAP_Client.FetchGetStoreStream event. - + Default constructor. - - Optional callback to be called for each received untagged response. - Is raised when any of the arguments has invalid value. - - - - Cleans up any resource being used. + Fetch response. + Fetch data-item. + Is raised when fetch or dataItem is null reference. - + - Starts exiting IDLE state. + Gets related FETCH response. - Is raised when this not in valid state. - + - Starts operation processing. + Gets FETCH data-item which stream to get. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Gets stream where to store data-item data. - New state. - + - Processes command result. + This class represents IMAP client selected folder. - Asynchronous operation. - + - Processes IDLE final(final response after +) response reading result. + Default constructor. - Asynchronous operation. + Folder name with path. + Is raised when name is null reference value. + Is riased when any of the arguments has invalid value. - + - Raises CompletedAsync event. + Returns this object as human readable string. + Returns this object as human readable string. - + - Gets asynchronous operation state. + Sets UidValidity property value. + Value to set. - + - Gets error happened during operation. Returns null if no error. + Sets Flags property value. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Value to set. - + - Returns IMAP server final response. + Sets PermanentFlags property value. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Value to set. - + - Is called when asynchronous operation has completed. + Sets IsReadOnly property value. + Value to set. - + - This class represents asynchronous operation. + Sets UidNext property value. + Value to set. - + - Default constructor. + Sets FirstUnseen property value. - Optional callback to be called for each received untagged response. - Is raised when any of the arguments has invalid value. + Value to set. - + - Is called when we need to init command line info. + Sets MessagesCount property value. - IMAP client. + Value to set. - + - This class represents asynchronous operation. + Sets RecentMessagesCount property value. + Value to set. - + - Default constructor. + Coneverts string array to comma separated value. - Optional callback to be called for each received untagged response. - Is raised when any of the arguments has invalid value. + String array. + Returns string array as comma separated value. - + - Is called when we need to init command line info. + Gets selected folder name(path included). - IMAP client. - + - This class represents asynchronous operation. + Gets folder UID value. Value null means IMAP server doesn't support UIDVALIDITY feature. - + - Default constructor. + Gets flags what folder supports. - IMAP command line. - IMAP command line log text. - Optional callback to be called for each received untagged response. - Is raised when cmdLine or cmdLineLogText is null reference. - Is raised when any of the arguments has invalid value. - + - Default constructor. + Gets permanent flags what folder can store. - IMAP command lines. - Optional callback to be called for each received untagged response. - Is raised when cmdLines is null reference. - Is raised when any of the arguments has invalid value. - + - Cleans up any resource being used. + Gets if folder is read-only or read-write. - + - Starts operation processing. + Gets next predicted message UID. Value -1 means that IMAP server doesn't support it. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Gets first unseen message sequence number. Value -1 means no unseen message. - New state. - + - Sends next command line to IMAP server. + Gets number of messages in this folder. - + - Processes command line sending result. + Gets number of recent messages in this folder. - Asynchronous result. - + - Raises CompletedAsync event. + This class provides IMAP FETCH response handling methods. - + - Gets asynchronous operation state. + Default constructor. - + - Gets error happened during operation. Returns null if no error. + Sets CurrentSeqNo property value. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Message sequnece number. - + - Returns IMAP server final response. + Gets current message sequence number. Value -1 means no current message. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Is called when asynchronous operation has completed. + This event is raised when current message changes and next message FETCH data-items will be returned. - + - This class represents asynchronous operation. + Raises NextMessage event. - + - Default constructor. + Is raised when current message FETCH BODY[] data-item is returned. - + - Cleans up any resource being used. + Raises Body event. + Event args. - + - Starts operation processing. + Is raised when current message FETCH ENVELOPE data-item is returned. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Prepares this class for reuse. + Raises Envelope event. - Is raised when this is not valid state. + Envelope value. - + - Sets operation state. + Is raised when current message FETCH FLAGS data-item is returned. - New state. - + - Is called when TcpStream.ReadLine has completed. + Raises Flags event. - Sender. - Event data. + Message flags. - + - Is called when read line has completed. + Is raised when current message FETCH INTERNALDATE data-item is returned. - Asynchronous operation. - Is raised when op is null reference. - + - This method is called when FETCH parsing has completed. + Raises InternalDate event. - Sender. - Event data. + Message IMAP server internal date. - + - Raises CompletedAsync event. + Is raised when current message FETCH RFC822 data-item is returned. - + - Gets asynchronous operation state. + Raises Rfc822 event. + Event args. - + - Gets error happened during operation. Returns null if no error. + Is raised when current message FETCH RFC822.HEADER data-item is returned. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Returns IMAP server response. + Raises Rfc822Text event. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Message header. - + - Is called when asynchronous operation has completed. + Is raised when current message FETCH RFC822.SIZE data-item is returned. - + - This class represents asynchronous operation. + Raises Rfc822Size event. + Message size in bytes. - + - Default constructor. + Is raised when current message FETCH RFC822.TEXT data-item is returned. - Optional callback to be called for each received untagged response. - + - Cleans up any resource being used. + Raises Rfc822Text event. + Message body text. - + - Starts operation processing. + Is raised when current message FETCH UID data-item is returned. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Raises UID event. - New state. + Message UID value. - + - Is called when IMAP server response reading has completed. + Is raised when current message FETCH GMail X-GM-MSGID data-item is returned. - Asynchronous operation. - Is raiswed when op is null reference. - + - Raises CompletedAsync event. + Raises X_GM_MSGID event. + Message ID. - + - Gets asynchronous operation state. + Is raised when current message FETCH GMail X-GM-THRID data-item is returned. - + - Gets error happened during operation. Returns null if no error. + Raises X_GM_THRID event. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Message thread ID. - + - Returns IMAP server final response. + This class represents FETCH BODY[] data item. Defined in RFC 3501. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Is called when asynchronous operation has completed. + Defualt constructor. + Body section value. + Body data offset. - + - This class represents asynchronous operation. + Gets BODY section value. Value null means not specified(full message). - + - Default constructor. + Gets BODY data returning start offset. Value null means not specified. - Store stream. - String literal size in bytes. - Is raised when stream is null reference. - + - Cleans up any resource being used. + Gets or sets stream where BODY data is stored. - + - Starts operation processing. + This method is called when message storing has completed. - Owner IMAP client. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Raises StoringCompleted event. - New state. - + - This method is called when string-literal reading has completed. + This class provides data for the event. - Asynchronous result. - + - Raises CompletedAsync event. + Default constructor. - + - Gets asynchronous operation state. + Gets or sets stream where RFC822 message is stored. - + - Gets error happened during operation. Returns null if no error. + This method is called when message storing has completed. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets literal stream. - - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - - - - Is called when asynchronous operation has completed. + Raises StoringCompleted event. - + - This class implements FETCH response reader. + This class represents IMAP ACL entry. Defined in RFC 4314 3.6. - + Default constructor. - IMAP client. - Initial FETCH response line. - Fetch data-items handler. - Is raised when imap,fetchLine or handler is null reference. + ACL identifier. Normally this is user or group name. + ACL rights string. + Is raised when identifier or rights is null reference. + Is raised when any of the arguments has invalid value. - + - Starts reading FETCH response. + Gets ACL identifier. Normally this is user or group name. - + - Gets FETCH current line data reader. + Gets rights. - + - Reads string. Quoted-string-string-literal and NIL supported. + IMAP ACL(access control list) rights. - Returns readed string. - + - IMAP client exception. + No permissions at all. - + - Default constructor. + Lookup (mailbox is visible to LIST/LSUB commands). - IMAP server response. - Is raised when response is null reference. - + - Default constructor. + Read (SELECT the mailbox, perform CHECK, FETCH, PARTIAL,SEARCH, COPY from mailbox). - IMAP server response line. - Is raised when responseLine is null. - + - Default constructor. + Keep seen/unseen information across sessions (STORE SEEN flag). - IMAP response code(BAD,NO). - Response text. - Is raised when responseCode or responseText is null reference. - Is raised when any of the arguments has invalid value. - + - Gets IMAP server response. + Write (STORE flags other than SEEN and DELETED). - + - Gets IMAP server error status code. + Insert (perform APPEND, COPY into mailbox). - + - Gets IMAP server response text after status code. + Post (send mail to submission address for mailbox,not enforced by IMAP4 itself). - + - This class represent IMAP command part. + Create (CREATE new sub-mailboxes in any implementation-defined hierarchy). - - Complete command consits of multiple parts. - - + - Default constructor. + Delete (STORE DELETED flag, perform EXPUNGE). - Command part type. - Command data. - Is raised when data is null reference. - + - Gets command part ype. + Administer (perform SETACL). - + - Gets command part string value. + All permissions - + - This class specified IMAP command part type. + IMAP flags store type. - + - Command part is constant value. + Flags are added to existing ones. - + - Command part is IMAP string. + Flags are removed from existing ones. - + - This class provides data for IMAP_Client.FetchGetStoreStream event. + Flags are replaced. - + - Default constructor. + This class specifies IMAP mailbox name encoding. - Fetch response. - Fetch data-item. - Is raised when fetch or dataItem is null reference. - + - Gets related FETCH response. + Mailbox names are not encoded. - + - Gets FETCH data-item which stream to get. + Mailbox names are encoded with IMAP UTF-7 encoding. For more info see rfc3501. - + - Gets stream where to store data-item data. + Mailbox names are encoded with IMAP UTF-8 encoding. For more info see rfc5738. - + - This class represents IMAP client selected folder. + This class represents IMAP NAMESPACE entry. Defined in RFC 2342 5. - + Default constructor. - Folder name with path. - Is raised when name is null reference value. - Is riased when any of the arguments has invalid value. + Namespace name. + Hierarchy delimiter char. + Is raised when name is null reference. + Is raised when any of the arguments has invalid value. - + - Returns this object as human readable string. + Gets namespace name. - Returns this object as human readable string. - + - Sets UidValidity property value. + Gets namespace hierarchy delimiter char. - Value to set. - + - Sets Flags property value. + This class represents IMAP QUOTA entry. Defined in RFC 2087 5.1. - Value to set. - + - Sets PermanentFlags property value. + Default constructor. - Value to set. + Resource limit name. + Current resourse usage. + Maximum allowed resource usage. + Is raised when resourceName is null reference. + Is raised when any of the arguments has invalid value. - + - Sets IsReadOnly property value. + Gets resource limit name. - Value to set. - + - Sets UidNext property value. + Gets current resource usage. - Value to set. - + - Sets FirstUnseen property value. + Gets maximum allowed resource usage. - Value to set. - + - Sets MessagesCount property value. + This is base class for any IMAP server response. - Value to set. - + - Sets RecentMessagesCount property value. + Returns this as string. - Value to set. + Specifies how mailbox name is encoded. + Returns this as string. - + - Coneverts string array to comma separated value. + Starts writing response to the specified stream. - String array. - Returns string array as comma separated value. + Stream where to store response. + Specifies how mailbox name is encoded. + Callback to be called when this method completes asynchronously. + Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when stream is null reference. - + - Gets selected folder name(path included). + Starts sending response to the specified IMAP session remote endpoint. + Stream where to store response. + Callback to be called when this method completes asynchronously. + Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when session is null reference. - + - Gets folder UID value. Value null means IMAP server doesn't support UIDVALIDITY feature. + Starts writing response to the specified stream. + Owner IMAP session. + Stream where to store response. + Specifies how mailbox name is encoded. + Callback to be called when this method completes asynchronously. + Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when stream is null reference. - + - Gets flags what folder supports. + This class represents IMAP server status(OK,NO,BAD) response. Defined in RFC 3501 7.1. - + - Gets permanent flags what folder can store. + Default constructor. + Command tag. + Response code. + Response text after response-code. + Is raised when commandTag,responseCode or responseText is null reference. + Is raised when any of the arguments has invalid value. - + - Gets if folder is read-only or read-write. + Default constructor. + Command tag. + Response code. + Optional response. Value null means not specified. + Response text after response-code. + Is raised when commandTag,responseCode or responseText is null reference. + Is raised when any of the arguments has invalid value. - + - Gets next predicted message UID. Value -1 means that IMAP server doesn't support it. + Default cmdTag-less constructor. + Response code. + Response text after response-code. + Is raised when responseCode or responseText is null reference. + Is raised when any of the arguments has invalid value. - + - Gets first unseen message sequence number. Value -1 means no unseen message. + Parses IMAP command completion status response from response line. + Response line. + Returns parsed IMAP command completion status response. + Is raised when responseLine is null reference value. - + - Gets number of messages in this folder. + Returns this as string. + Returns this as string. - + - Gets number of recent messages in this folder. + Gets command tag. - + - This class represents IMAP ACL entry. Defined in RFC 4314 3.6. + Gets IMAP server status response code(OK,NO,BAD). - + - Default constructor. + Gets IMAP server otional response-code. Value null means no optional response. - ACL identifier. Normally this is user or group name. - ACL rights string. - Is raised when identifier or rights is null reference. - Is raised when any of the arguments has invalid value. - + - Gets ACL identifier. Normally this is user or group name. + Gets response human readable text after response-code. - + - Gets rights. + Gets if this response is error response. - + - IMAP ACL(access control list) rights. + Gets if this response is continuation response. - + - No permissions at all. + Gets IMAP server status response optiona response-code(ALERT,BADCHARSET,CAPABILITY,PARSE,PERMANENTFLAGS, + READ-ONLY,READ-WRITE,TRYCREATE,UIDNEXT,UIDVALIDITY,UNSEEN). + Value null means not specified. For more info see RFC 3501 7.1. - + - Lookup (mailbox is visible to LIST/LSUB commands). + Gets optional response aruments string. Value null means not specified. For more info see RFC 3501 7.1. - + - Read (SELECT the mailbox, perform CHECK, FETCH, PARTIAL,SEARCH, COPY from mailbox). + This class is base class for IMAP server untagged responses. - + - Keep seen/unseen information across sessions (STORE SEEN flag). + This class represents IMAP ACL response. Defined in RFC 4314 3.6.2. - + - Write (STORE flags other than SEEN and DELETED). + Default constructor. + Folder name with path. + ACL entries. + Is raised when folderName or entries is null reference. - + - Insert (perform APPEND, COPY into mailbox). + Parses ACL response from acl-response string. + ACL response. + Returns parsed ACL response. + Is raised wehn aclResponse is null reference. - + - Post (send mail to submission address for mailbox,not enforced by IMAP4 itself). + Returns this as string. + Returns this as string. - + - Create (CREATE new sub-mailboxes in any implementation-defined hierarchy). + Returns this as string. + Specifies how mailbox name is encoded. + Returns this as string. - + - Delete (STORE DELETED flag, perform EXPUNGE). + Gets folder name. - + - Administer (perform SETACL). + Gets ACL entries. - + - All permissions + This class represents IMAP BYE response. Defined in RFC 3501 7.1.5. - + - IMAP flags store type. + Default constructor. + Bye reason text. + Is raised when text is null reference. - + - Flags are added to existing ones. + Parses BYE response from bye-response string. + Bye response string. + Returns parsed BYE response. + Is raised when byeResponse is null reference. - + - Flags are removed from existing ones. + Returns this as string. + Returns this as string. - + - Flags are replaced. + Gets BYE reason text. - + - This class specifies IMAP mailbox name encoding. + This class represents IMAP CAPABILITY response. Defined in RFC 3501 7.2.1. - + - Mailbox names are not encoded. + Default constructor. + Capabilities list. + Is raised when capabilities is null reference. - + - Mailbox names are encoded with IMAP UTF-7 encoding. For more info see rfc3501. + Parses CAPABILITY response from capability-response string. + Capability response string. + Returns parsed CAPABILITY response. + Is riased when response is null reference. - + - Mailbox names are encoded with IMAP UTF-8 encoding. For more info see rfc5738. + Returns this as string. + Returns this as string. - + - This class represents IMAP NAMESPACE entry. Defined in RFC 2342 5. + Gets capabilities list. - + + + This class represents IMAP ENABLE response. Defined in RFC 5161 4. + + + Default constructor. - Namespace name. - Hierarchy delimiter char. - Is raised when name is null reference. - Is raised when any of the arguments has invalid value. + IMAP capabilities. + Is raised when capabilities is null reference. - + - Gets namespace name. + Parses ENABLE response from enable-response string. + + Enable response string. + Returns parsed ENABLE response. + Is raised when enableResponse is null reference. + + + + Returns this as string. + Returns this as string. - + - Gets namespace hierarchy delimiter char. + Gets IMAP capabilities. - + - This class represents IMAP QUOTA entry. Defined in RFC 2087 5.1. + This class represents IMAP EXISTS response. Defined in RFC 3501 7.3.1. - + Default constructor. - Resource limit name. - Current resourse usage. - Maximum allowed resource usage. - Is raised when resourceName is null reference. + Message count. Is raised when any of the arguments has invalid value. - + - Gets resource limit name. + Parses EXISTS response from exists-response string. + Exists response string. + Returns parsed exists response. + Is raised when response is null reference. - + - Gets current resource usage. + Returns this as string. + Returns this as string. - + - Gets maximum allowed resource usage. + Gets number of messages in mailbox. - + - This is base class for any IMAP server response. + This class represents IMAP EXPUNGE response. Defined in RFC 3501 7.4.1. - + - Returns this as string. + Default constructor. - Specifies how mailbox name is encoded. - Returns this as string. + Message sequence number. + Is raised when any of the arguments has invalid value. - + - Starts writing response to the specified stream. + Parses EXPUNGE response from expunge-response string. - Stream where to store response. - Specifies how mailbox name is encoded. - Callback to be called when this method completes asynchronously. - Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when stream is null reference. + Expunge response string. + Returns parsed expunge response. + Is raised when response is null reference. - + - Starts sending response to the specified IMAP session remote endpoint. + Returns this as string. - Stream where to store response. - Callback to be called when this method completes asynchronously. - Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when session is null reference. + Returns this as string. - + - Starts writing response to the specified stream. + Gets message sequence number. - Owner IMAP session. - Stream where to store response. - Specifies how mailbox name is encoded. - Callback to be called when this method completes asynchronously. - Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when stream is null reference. - + - This class represents IMAP server status(OK,NO,BAD) response. Defined in RFC 3501 7.1. + This class represents IMAP FETCH response. Defined in RFC 3501 7.4.2. - + Default constructor. - Command tag. - Response code. - Response text after response-code. - Is raised when commandTag,responseCode or responseText is null reference. - Is raised when any of the arguments has invalid value. + Message 1-based sequence number. + Fetch response data-items. + Is raised when any of the arguments has invalid value. + Is raised when dataItems is null reference. - + Default constructor. - Command tag. - Response code. - Optional response. Value null means not specified. - Response text after response-code. - Is raised when commandTag,responseCode or responseText is null reference. + Message 1-based sequence number. Is raised when any of the arguments has invalid value. - + - Default cmdTag-less constructor. + Starts parsing FETCH response. - Response code. - Response text after response-code. - Is raised when responseCode or responseText is null reference. - Is raised when any of the arguments has invalid value. + IMAP cleint. + Initial FETCH response line. + Callback to be called when fetch completed. + Is raised when imap,line or callback is null reference. - + - Parses IMAP command completion status response from response line. + Starts writing response to the specified stream. - Response line. - Returns parsed IMAP command completion status response. - Is raised when responseLine is null reference value. + Owner IMAP session. + Stream where to store response. + Specifies how mailbox name is encoded. + Callback to be called when this method completes asynchronously. + Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when stream is null reference. - + - Returns this as string. + Starts parsing fetch data-items, - Returns this as string. + IMAP client. + Fetch line reader. + Callback to be called when parsing completes. + Is raised when imap,r or callback is null reference. - + - Gets command tag. + Reads string-literal(stores it to reader 'r') and continuing fetch line. + IMAP client. + String reader. + Fetch completion callback. + Returns true if completed asynchronously or false if completed synchronously. + Is raised when imap,r or callback is null reference. - + - Gets IMAP server status response code(OK,NO,BAD). + Reads IMAP string(string-literal,quoted-string,NIL) and remaining FETCH line if needed. + IMAP client. + Fetch line reader. + Fetch completion callback. + Stream where to store readed data. + Returns true if completed asynchronously or false if completed synchronously. + Is raised when imap,r,callback or stream is null reference. - + - Gets IMAP server otional response-code. Value null means no optional response. + Reads next continuing FETCH line and stores to fetch reader 'r'. + IMAP client. + String reader. + Fetch completion callback. + Returns true if completed asynchronously or false if completed synchronously. + Is raised when imap,r or callback is null reference. - + - Gets response human readable text after response-code. + Returns specified data-item or null if no such item. + Data-item to filter. + Returns specified data-item or null if no such item. + Is raised when dataItem is null reference. - + - Gets if this response is error response. + Gets message 1-based sequence number. - + - Gets if this response is continuation response. + Gets fetch response data items. - + - Gets IMAP server status response optiona response-code(ALERT,BADCHARSET,CAPABILITY,PARSE,PERMANENTFLAGS, - READ-ONLY,READ-WRITE,TRYCREATE,UIDNEXT,UIDVALIDITY,UNSEEN). - Value null means not specified. For more info see RFC 3501 7.1. + Gets BODY[] values. - + - Gets optional response aruments string. Value null means not specified. For more info see RFC 3501 7.1. + Gets ENVELOPE value. Returns null if fetch response doesn't contain specified data-item. - + - This class is base class for IMAP server untagged responses. + Gets FLAGS value. Returns null if fetch response doesn't contain specified data-item. - + - This class represents IMAP ACL response. Defined in RFC 4314 3.6.2. + Gets INTERNALDATE value. Returns null if fetch response doesn't contain specified data-item. - + - Default constructor. + Gets RFC822 value. Returns null if fetch response doesn't contain specified data-item. - Folder name with path. - ACL entries. - Is raised when folderName or entries is null reference. - + - Parses ACL response from acl-response string. + Gets RFC822.HEADER value. Returns null if fetch response doesn't contain specified data-item. - ACL response. - Returns parsed ACL response. - Is raised wehn aclResponse is null reference. - + - Returns this as string. + Gets RFC822.SIZE value. Returns null if fetch response doesn't contain specified data-item. - Returns this as string. - + - Returns this as string. + Gets RFC822.TEXT value. Returns null if fetch response doesn't contain specified data-item. - Specifies how mailbox name is encoded. - Returns this as string. - + - Gets folder name. + Gets UID value. Returns null if fetch response doesn't contain specified data-item. - + - Gets ACL entries. + Gets X-GM-MSGID value. Returns null if fetch response doesn't contain specified data-item. - + - This class represents IMAP BYE response. Defined in RFC 3501 7.1.5. + Gets X-GM-THRID value. Returns null if fetch response doesn't contain specified data-item. - + + + This class represents IMAP FLAGS response. Defined in RFC 3501 7.2.6. + + + Default constructor. - Bye reason text. - Is raised when text is null reference. + Mailbox flags list. + Is raised when flags is null reference. - + - Parses BYE response from bye-response string. + Parses FLAGS response from exists-response string. - Bye response string. - Returns parsed BYE response. - Is raised when byeResponse is null reference. + Exists response string. + Returns parsed flags response. + Is raised when response is null reference. - + Returns this as string. Returns this as string. - + - Gets BYE reason text. + Gets mailbox supported flags. - + - This class represents IMAP CAPABILITY response. Defined in RFC 3501 7.2.1. + This class represents IMAP LIST response. Defined in RFC 3501 7.2.2. - + Default constructor. - Capabilities list. - Is raised when capabilities is null reference. + Folder name with path. + Hierarchy delimiter char. + Folder attributes. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. - + - Parses CAPABILITY response from capability-response string. + Default constructor. (Hierarchy delimiter request) - Capability response string. - Returns parsed CAPABILITY response. - Is riased when response is null reference. + Hierarchy delimiter char. + Is raised when any of the arguments has invalid value. - + + + Parses LIST response from list-response string. + + List response string. + Returns parsed list response. + Is raised when listResponse is null reference. + + Returns this as string. Returns this as string. - + - Gets capabilities list. + Returns this as string. + Specifies how mailbox name is encoded. + Returns this as string. - + - This class represents IMAP ENABLE response. Defined in RFC 5161 4. + Gets folder name. - + - Default constructor. + Gets hierarchy delimiter char. - IMAP capabilities. - Is raised when capabilities is null reference. - + - Parses ENABLE response from enable-response string. + Gets folder attributes list. - Enable response string. - Returns parsed ENABLE response. - Is raised when enableResponse is null reference. - + - Returns this as string. + This class represents IMAP MYRIGHTS response. Defined in RFC 4314 3.7. - Returns this as string. - + - Gets IMAP capabilities. + Default constructor. + Folder name with path. + Identifier name. Normally this is user or group name. + Required rights. + Optional rights. + Is raised when folder or identifier is null reference. + Is raised when any of the arguments has invalid value. - + - This class represents IMAP EXISTS response. Defined in RFC 3501 7.3.1. + Parses LISTRIGHTS response from LISTRIGHTS-response string. + LISTRIGHTS response line. + Returns parsed LISTRIGHTS response. + Is raised when listRightsResponse is null reference. - + - Default constructor. + Returns this as string. - Message count. - Is raised when any of the arguments has invalid value. + Returns this as string. - + - Parses EXISTS response from exists-response string. + Returns this as string. - Exists response string. - Returns parsed exists response. - Is raised when response is null reference. + Specifies how mailbox name is encoded. + Returns this as string. - + - Returns this as string. + Gets folder name. - Returns this as string. - + - Gets number of messages in mailbox. + Gets identifier. Normaly this is user or group name. - + - This class represents IMAP EXPUNGE response. Defined in RFC 3501 7.4.1. + Gets required rights. - + + + Gets optional rights. + + + + + This class represents IMAP LSUB response. Defined in RFC 3501 7.2.3. + + + Default constructor. - Message sequence number. + Folder name with path. + Hierarchy delimiter char. + Folder attributes. + Is raised when folder is null reference. Is raised when any of the arguments has invalid value. - + - Parses EXPUNGE response from expunge-response string. + Parses LSUB response from lsub-response string. - Expunge response string. - Returns parsed expunge response. - Is raised when response is null reference. + LSub response string. + Returns parsed lsub response. + Is raised when lSubResponse is null reference. - + Returns this as string. Returns this as string. - + - Gets message sequence number. + Returns this as string. + Specifies how mailbox name is encoded. + Returns this as string. - + - This class represents IMAP FETCH response. Defined in RFC 3501 7.4.2. + Gets folder name. - + - Default constructor. + Gets hierarchy delimiter char. - Message 1-based sequence number. - Fetch response data-items. - Is raised when any of the arguments has invalid value. - Is raised when dataItems is null reference. - + - Default constructor. + Gets folder attributes list. - Message 1-based sequence number. - Is raised when any of the arguments has invalid value. - + - Starts parsing FETCH response. + This class represents IMAP MYRIGHTS response. Defined in RFC 4314 3.8. - IMAP cleint. - Initial FETCH response line. - Callback to be called when fetch completed. - Is raised when imap,line or callback is null reference. - + - Starts writing response to the specified stream. + Default constructor. - Owner IMAP session. - Stream where to store response. - Specifies how mailbox name is encoded. - Callback to be called when this method completes asynchronously. - Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when stream is null reference. + Folder name with path. + Rights values. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. - + - Starts parsing fetch data-items, + Parses MYRIGHTS response from MYRIGHTS-response string. - IMAP client. - Fetch line reader. - Callback to be called when parsing completes. - Is raised when imap,r or callback is null reference. + MYRIGHTS response line. + Returns parsed MYRIGHTS response. + Is raised when myRightsResponse is null reference. - + - Reads string-literal(stores it to reader 'r') and continuing fetch line. + Returns this as string. - IMAP client. - String reader. - Fetch completion callback. - Returns true if completed asynchronously or false if completed synchronously. - Is raised when imap,r or callback is null reference. + Returns this as string. - + - Reads IMAP string(string-literal,quoted-string,NIL) and remaining FETCH line if needed. + Returns this as string. - IMAP client. - Fetch line reader. - Fetch completion callback. - Stream where to store readed data. - Returns true if completed asynchronously or false if completed synchronously. - Is raised when imap,r,callback or stream is null reference. + Specifies how mailbox name is encoded. + Returns this as string. - + - Reads next continuing FETCH line and stores to fetch reader 'r'. + Gets folder name. - IMAP client. - String reader. - Fetch completion callback. - Returns true if completed asynchronously or false if completed synchronously. - Is raised when imap,r or callback is null reference. - + - Returns specified data-item or null if no such item. + Gets rights list. - Data-item to filter. - Returns specified data-item or null if no such item. - Is raised when dataItem is null reference. - + - Gets message 1-based sequence number. + This class represents IMAP NAMESPACE response. Defined in RFC 2342 5. - + - Gets fetch response data items. + Default constructor. + Personal namespaces. + Other users namespaces. + Shared users namespaces. + Is raised when personalNamespaces is null reference. - + - Gets BODY[] values. + Parses NAMESPACE response from namespace-response string. + NAMESPACE response string. + Returns parsed NAMESPACE response. + Is raised when response is null reference. - + - Gets ENVELOPE value. Returns null if fetch response doesn't contain specified data-item. + Returns this as string. + Returns this as string. - + - Gets FLAGS value. Returns null if fetch response doesn't contain specified data-item. + Gets personal namespaces. Value null means not specified. - + - Gets INTERNALDATE value. Returns null if fetch response doesn't contain specified data-item. + Gets other users namespaces. Value null means not specified. - + - Gets RFC822 value. Returns null if fetch response doesn't contain specified data-item. + Gets shared namespaces. Value null means not specified. - + - Gets RFC822.HEADER value. Returns null if fetch response doesn't contain specified data-item. + This class represents IMAP QUOTA response. Defined in RFC 2087 5.1. - + - Gets RFC822.SIZE value. Returns null if fetch response doesn't contain specified data-item. + Default constructor. + Qouta root name. + Resource limit entries. + Is raised when quotaRootName or entries is null reference. - + - Gets RFC822.TEXT value. Returns null if fetch response doesn't contain specified data-item. + Parses QUOTA response from quota-response string. + QUOTA response string. + Returns parsed QUOTA response. + Is raised when response is null reference. - + - Gets UID value. Returns null if fetch response doesn't contain specified data-item. + Returns this as string. + Returns this as string. - + - Gets X-GM-MSGID value. Returns null if fetch response doesn't contain specified data-item. + Gets quota root name. - + - Gets X-GM-THRID value. Returns null if fetch response doesn't contain specified data-item. + Gets resource limit entries. - + - This class represents IMAP FLAGS response. Defined in RFC 3501 7.2.6. + This class represents IMAP QUOTAROOT response. Defined in RFC 2087 5.2. - + Default constructor. - Mailbox flags list. - Is raised when flags is null reference. + Folder name with path. + Quota roots. + Is raised when folder or quotaRoots is null reference. + Is raised when any of the arguments has invalid value. - + - Parses FLAGS response from exists-response string. + Parses QUOTAROOT response from quotaRoot-response string. - Exists response string. - Returns parsed flags response. + QUOTAROOT response string. + Returns parsed QUOTAROOT response. Is raised when response is null reference. - + Returns this as string. Returns this as string. - + - Gets mailbox supported flags. + Returns this as string. + Specifies how mailbox name is encoded. + Returns this as string. - + - This class represents IMAP LIST response. Defined in RFC 3501 7.2.2. + Gets folder name. - + - Default constructor. + Gets quota roots. - Folder name with path. - Hierarchy delimiter char. - Folder attributes. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - + - Default constructor. (Hierarchy delimiter request) + This class represents IMAP RECENT response. Defined in RFC 3501 7.3.2. - Hierarchy delimiter char. - Is raised when any of the arguments has invalid value. - + - Parses LIST response from list-response string. + Default constructor. - List response string. - Returns parsed list response. - Is raised when listResponse is null reference. + Message count with \Recent flag set. + Is raised when any of the arguments has invalid value. - + - Returns this as string. + Parses RECENT response from recent-response string. - Returns this as string. + Recent response string. + Returns parsed recent response. + Is raised when response is null reference. - + Returns this as string. - Specifies how mailbox name is encoded. Returns this as string. - - - Gets folder name. - - - - - Gets hierarchy delimiter char. - - - + - Gets folder attributes list. + Gets number of messages in mailbox with \Recent flag set. - + - This class represents IMAP MYRIGHTS response. Defined in RFC 4314 3.7. + This class represents IMAP SEARCH response. Defined in RFC 3501 7.2.5. - + Default constructor. - Folder name with path. - Identifier name. Normally this is user or group name. - Required rights. - Optional rights. - Is raised when folder or identifier is null reference. - Is raised when any of the arguments has invalid value. - - - - Parses LISTRIGHTS response from LISTRIGHTS-response string. - - LISTRIGHTS response line. - Returns parsed LISTRIGHTS response. - Is raised when listRightsResponse is null reference. + Search maching messages seqNo/UID(Depeneds on UID SEARCH) list. - + - Returns this as string. + Parses SEARCH response from exists-response string. - Returns this as string. + Exists response string. + Returns parsed search response. + Is raised when response is null reference. - + Returns this as string. - Specifies how mailbox name is encoded. Returns this as string. - + - Gets folder name. + Gets search matching messages seqNo/UID(Depeneds on UID SEARCH) list. - + - Gets identifier. Normaly this is user or group name. + This class represents IMAP server untagged status(OK,NO,BAD,PREAUTH and BYE) response. Defined in RFC 3501 7.1. - + - Gets required rights. + Default constructor. + Response code. + Response text after response-code. + Is raised when responseCode is null reference. + Is raised when any of the arguments has invalid value. - + - Gets optional rights. + Default constructor. + Response code. + Optional response. Value null means not specified. + Response text after response-code. + Is raised whenresponseCode or responseText is null reference. + Is raised when any of the arguments has invalid value. - + - This class represents IMAP LSUB response. Defined in RFC 3501 7.2.3. + Parses IMAP command completion status response from response line. + Response line. + Returns parsed IMAP command completion status response. + Is raised when responseLine is null reference value. - + - Default constructor. + Returns this as string. - Folder name with path. - Hierarchy delimiter char. - Folder attributes. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. + Returns this as string. - + - Parses LSUB response from lsub-response string. + Gets IMAP server status response code(OK,NO,BAD,PREAUTH,BYE). - LSub response string. - Returns parsed lsub response. - Is raised when lSubResponse is null reference. - + - Returns this as string. + Gets IMAP server otional response-code. Value null means no optional response. - Returns this as string. - + - Returns this as string. + Gets response human readable text after response-code. - Specifies how mailbox name is encoded. - Returns this as string. - + - Gets folder name. + Gets if this response is error response. - + - Gets hierarchy delimiter char. + Gets IMAP server status response optiona response-code(ALERT,BADCHARSET,CAPABILITY,PARSE,PERMANENTFLAGS, + READ-ONLY,READ-WRITE,TRYCREATE,UIDNEXT,UIDVALIDITY,UNSEEN). + Value null means not specified. For more info see RFC 3501 7.1. - + - Gets folder attributes list. + Gets optional response aruments string. Value null means not specified. For more info see RFC 3501 7.1. - + - This class represents IMAP MYRIGHTS response. Defined in RFC 4314 3.8. + This class represents IMAP STATUS response. Defined in RFC 3501 7.2.4. - + Default constructor. - Folder name with path. - Rights values. - Is raised when folder is null reference. + Folder name. + Messages count. Value -1 means not specified. + The "recent" flag set messages count. Value -1 means not specified. + Next message predictable UID value. Value -1 means not specified. + Folder UID value. Value -1 means not specified. + Unseen messages count. Value -1 means not specified. + Is raised when folder is null. Is raised when any of the arguments has invalid value. - + - Parses MYRIGHTS response from MYRIGHTS-response string. + Parses STATUS response from status-response string. - MYRIGHTS response line. - Returns parsed MYRIGHTS response. - Is raised when myRightsResponse is null reference. + Satatus response string. + Returns parsed STATUS response. + Is raised when response is null reference. - + Returns this as string. Returns this as string. - + Returns this as string. Specifies how mailbox name is encoded. Returns this as string. - + Gets folder name. - + - Gets rights list. + Gets messages count. - + - This class represents IMAP NAMESPACE response. Defined in RFC 2342 5. + Gets "recent" flag set messages count. - + - Default constructor. + Gets next message predictable UID value. - Personal namespaces. - Other users namespaces. - Shared users namespaces. - Is raised when personalNamespaces is null reference. - + - Parses NAMESPACE response from namespace-response string. + Gets folder UID value. - NAMESPACE response string. - Returns parsed NAMESPACE response. - Is raised when response is null reference. - + - Returns this as string. + Gets unseen messages count. - Returns this as string. - + - Gets personal namespaces. Value null means not specified. + This class is base class for IMAP SEARCH search-key. Defined in RFC 3501 6.4.4. - + - Gets other users namespaces. Value null means not specified. + Parses one search key or search key group. + String reader. + Returns one parsed search key or search key group. + Is raised when r is null reference. + Is raised when parsing fails. - + - Gets shared namespaces. Value null means not specified. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - This class represents IMAP QUOTA response. Defined in RFC 2087 5.1. + This class represents IMAP SEARCH ANSWERED key. Defined in RFC 3501 6.4.4. + Messages with the \Answered flag set. - + Default constructor. - Qouta root name. - Resource limit entries. - Is raised when quotaRootName or entries is null reference. - + - Parses QUOTA response from quota-response string. + Returns parsed IMAP SEARCH ANSWERED key. - QUOTA response string. - Returns parsed QUOTA response. - Is raised when response is null reference. + String reader. + Returns parsed IMAP SEARCH ANSWERED key. + Is raised when r is null reference. + Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Gets quota root name. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - Gets resource limit entries. - - - - - This class represents IMAP QUOTAROOT response. Defined in RFC 2087 5.2. + This class represents IMAP SEARCH BCC (string) key. Defined in RFC 3501 6.4.4. + Messages that contain the specified string in the message header BCC field. - + Default constructor. - Folder name with path. - Quota roots. - Is raised when folder or quotaRoots is null reference. - Is raised when any of the arguments has invalid value. - - - - Parses QUOTAROOT response from quotaRoot-response string. - - QUOTAROOT response string. - Returns parsed QUOTAROOT response. - Is raised when response is null reference. + String value. + Is raised when value is null reference. - + - Returns this as string. + Returns parsed IMAP SEARCH BCC (string) key. - Returns this as string. + String reader. + Returns parsed IMAP SEARCH BCC (string) key. + Is raised when r is null reference. + Is raised when parsing fails. - + Returns this as string. - Specifies how mailbox name is encoded. Returns this as string. - + - Gets folder name. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - Gets quota roots. + Gets BCC filter value. - + - This class represents IMAP RECENT response. Defined in RFC 3501 7.3.2. + This class represents IMAP SEARCH BEFORE (date) key. Defined in RFC 3501 6.4.4. + Messages whose internal date (disregarding time and timezone) is earlier than the specified date. - + Default constructor. - Message count with \Recent flag set. - Is raised when any of the arguments has invalid value. + Message internal date. - + - Parses RECENT response from recent-response string. + Returns parsed IMAP SEARCH BEFORE (string) key. - Recent response string. - Returns parsed recent response. - Is raised when response is null reference. + String reader. + Returns parsed IMAP SEARCH BEFORE (string) key. + Is raised when r is null reference. + Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Gets number of messages in mailbox with \Recent flag set. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - This class represents IMAP SEARCH response. Defined in RFC 3501 7.2.5. + Gets date value. - + + + This class represents IMAP SEARCH BODY (string) key. Defined in RFC 3501 6.4.4. + + Messages that contain the specified string in the body of the message. + NOTE: IMAP server may skip MIME entities with binary. + + + Default constructor. - Search maching messages seqNo/UID(Depeneds on UID SEARCH) list. + String value. + Is raised when value is null reference. - + - Parses SEARCH response from exists-response string. + Returns parsed IMAP SEARCH BODY (string) key. - Exists response string. - Returns parsed search response. - Is raised when response is null reference. + String reader. + Returns parsed IMAP SEARCH BODY (string) key. + Is raised when r is null reference. + Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Gets search matching messages seqNo/UID(Depeneds on UID SEARCH) list. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - This class represents IMAP server untagged status(OK,NO,BAD,PREAUTH and BYE) response. Defined in RFC 3501 7.1. + Gets BODY filter value. - + - Default constructor. + This class represents IMAP SEARCH CC (string) key. Defined in RFC 3501 6.4.4. - Response code. - Response text after response-code. - Is raised when responseCode is null reference. - Is raised when any of the arguments has invalid value. + Messages that contain the specified string in the message header CC field. - + Default constructor. - Response code. - Optional response. Value null means not specified. - Response text after response-code. - Is raised whenresponseCode or responseText is null reference. - Is raised when any of the arguments has invalid value. + String value. + Is raised when value is null reference. - + - Parses IMAP command completion status response from response line. + Returns parsed IMAP SEARCH CC (string) key. - Response line. - Returns parsed IMAP command completion status response. - Is raised when responseLine is null reference value. + String reader. + Returns parsed IMAP SEARCH CC (string) key. + Is raised when r is null reference. + Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Gets IMAP server status response code(OK,NO,BAD,PREAUTH,BYE). + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - Gets IMAP server otional response-code. Value null means no optional response. + Gets CC filter value. - + - Gets response human readable text after response-code. + This class represents IMAP SEARCH DELETED key. Defined in RFC 3501 6.4.4. + Messages with the \Deleted flag set. - + - Gets if this response is error response. + Default constructor. - + - Gets IMAP server status response optiona response-code(ALERT,BADCHARSET,CAPABILITY,PARSE,PERMANENTFLAGS, - READ-ONLY,READ-WRITE,TRYCREATE,UIDNEXT,UIDVALIDITY,UNSEEN). - Value null means not specified. For more info see RFC 3501 7.1. + Returns parsed IMAP SEARCH DELETED key. + String reader. + Returns parsed IMAP SEARCH DELETED key. + Is raised when r is null reference. + Is raised when parsing fails. - + - Gets optional response aruments string. Value null means not specified. For more info see RFC 3501 7.1. + Returns this as string. + Returns this as string. - + - This class represents IMAP STATUS response. Defined in RFC 3501 7.2.4. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - Default constructor. + This class represents IMAP SEARCH DRAFT key. Defined in RFC 3501 6.4.4. - Folder name. - Messages count. Value -1 means not specified. - The "recent" flag set messages count. Value -1 means not specified. - Next message predictable UID value. Value -1 means not specified. - Folder UID value. Value -1 means not specified. - Unseen messages count. Value -1 means not specified. - Is raised when folder is null. - Is raised when any of the arguments has invalid value. + Messages with the \Draft flag set. - + - Parses STATUS response from status-response string. + Default constructor. - Satatus response string. - Returns parsed STATUS response. - Is raised when response is null reference. - + - Returns this as string. + Returns parsed IMAP SEARCH DRAFT key. - Returns this as string. + String reader. + Returns parsed IMAP SEARCH DRAFT key. + Is raised when r is null reference. + Is raised when parsing fails. - + Returns this as string. - Specifies how mailbox name is encoded. Returns this as string. - + - Gets folder name. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - Gets messages count. + This class represents IMAP SEARCH FLAGGED key. Defined in RFC 3501 6.4.4. + Messages with the \Flagged flag set. - + - Gets "recent" flag set messages count. + Default constructor. - + - Gets next message predictable UID value. + Returns parsed IMAP SEARCH FLAGGED key. + String reader. + Returns parsed IMAP SEARCH FLAGGED key. + Is raised when r is null reference. + Is raised when parsing fails. - + - Gets folder UID value. + Returns this as string. + Returns this as string. - + - Gets unseen messages count. + Stores IMAP search-key command parts to the specified array. + Array where to store command parts. + Is raised when list is null reference. - + - This class is base class for IMAP SEARCH search-key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH FROM (string) key. Defined in RFC 3501 6.4.4. + Messages that contain the specified string in the message header FROM field. - - - Parses one search key or search key group. - - String reader. - Returns one parsed search key or search key group. - Is raised when r is null reference. - Is raised when parsing fails. - - - - Stores IMAP search-key command parts to the specified array. - - Array where to store command parts. - Is raised when list is null reference. - - - - This class represents IMAP SEARCH ANSWERED key. Defined in RFC 3501 6.4.4. - - Messages with the \Answered flag set. - - + Default constructor. + String value. + Is raised when value is null reference. - + - Returns parsed IMAP SEARCH ANSWERED key. + Returns parsed IMAP SEARCH FROM (string) key. String reader. - Returns parsed IMAP SEARCH ANSWERED key. + Returns parsed IMAP SEARCH FROM (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH BCC (string) key. Defined in RFC 3501 6.4.4. + Gets FROM filter value. - Messages that contain the specified string in the message header BCC field. - + + + This class represents parenthesized list of IMAP SEARCH keys. Defined in RFC 3501 6.4.4. + + + Default constructor. - String value. - Is raised when value is null reference. - + - Returns parsed IMAP SEARCH BCC (string) key. + Returns parsed IMAP SEARCH AND key group. String reader. - Returns parsed IMAP SEARCH BCC (string) key. + Returns parsed IMAP SEARCH AND key group. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets BCC filter value. + Gets AND-ded keys collection. - + - This class represents IMAP SEARCH BEFORE (date) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH HEADER (field-name) (string) key. Defined in RFC 3501 6.4.4. - Messages whose internal date (disregarding time and timezone) is earlier than the specified date. + Messages that have a header with the specified field-name (as + defined in [RFC-2822]) and that contains the specified string + in the text of the header (what comes after the colon). If the + string to search is zero-length, this matches all messages that + have a header line with the specified field-name regardless of + the contents. + - + Default constructor. - Message internal date. + Header field name. For example: 'Subject'. + String value. + Is raised when fieldName or value is null reference. - + - Returns parsed IMAP SEARCH BEFORE (string) key. + Returns parsed IMAP SEARCH HEADER (field-name) (string) key. String reader. - Returns parsed IMAP SEARCH BEFORE (string) key. + Returns parsed IMAP SEARCH HEADER (field-name) (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets date value. + Gets header field name. - + - This class represents IMAP SEARCH BODY (string) key. Defined in RFC 3501 6.4.4. + Gets filter value. - Messages that contain the specified string in the body of the message. - NOTE: IMAP server may skip MIME entities with binary. - - + + + This class represents IMAP SEARCH KEYWORD (flag) key. Defined in RFC 3501 6.4.4. + + Messages with the specified keyword flag set. + + Default constructor. String value. Is raised when value is null reference. - + - Returns parsed IMAP SEARCH BODY (string) key. + Returns parsed IMAP SEARCH KEYWORD (string) key. String reader. - Returns parsed IMAP SEARCH BODY (string) key. + Returns parsed IMAP SEARCH KEYWORD (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets BODY filter value. + Gets keyword value. - + - This class represents IMAP SEARCH CC (string) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH LARGER (n) key. Defined in RFC 3501 6.4.4. - Messages that contain the specified string in the message header CC field. + Messages with an [RFC-2822] size larger than the specified number of octets. - + Default constructor. - String value. - Is raised when value is null reference. + Message size in bytes. - + - Returns parsed IMAP SEARCH CC (string) key. + Returns parsed IMAP SEARCH LARGER (string) key. String reader. - Returns parsed IMAP SEARCH CC (string) key. + Returns parsed IMAP SEARCH LARGER (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets CC filter value. + Gets value. - + - This class represents IMAP SEARCH DELETED key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH NEW key. Defined in RFC 3501 6.4.4. - Messages with the \Deleted flag set. + Messages that have the \Recent flag set but not the \Seen flag. + This is functionally equivalent to "(RECENT UNSEEN)". - + Default constructor. - + - Returns parsed IMAP SEARCH DELETED key. + Returns parsed IMAP SEARCH NEW key. String reader. - Returns parsed IMAP SEARCH DELETED key. + Returns parsed IMAP SEARCH NEW key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH DRAFT key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH NOT (search-key) key. Defined in RFC 3501 6.4.4. - Messages with the \Draft flag set. + Messages that do not match the specified search key. - + Default constructor. + Search KEY. + Is raised when key is null reference. - + - Returns parsed IMAP SEARCH DRAFT key. + Returns parsed IMAP SEARCH NOT (search-key) key. String reader. - Returns parsed IMAP SEARCH DRAFT key. + Returns parsed IMAP SEARCH NOT (search-key) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH FLAGGED key. Defined in RFC 3501 6.4.4. + Gets search KEY. - Messages with the \Flagged flag set. - + + + This class represents IMAP SEARCH OLD key. Defined in RFC 3501 6.4.4. + + Messages that do not have the \Recent flag set. This is + functionally equivalent to "NOT RECENT" (as opposed to "NOT NEW"). + + Default constructor. - + - Returns parsed IMAP SEARCH FLAGGED key. + Returns parsed IMAP SEARCH OLD key. String reader. - Returns parsed IMAP SEARCH FLAGGED key. + Returns parsed IMAP SEARCH OLD key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH FROM (string) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH ON (date) key. Defined in RFC 3501 6.4.4. - Messages that contain the specified string in the message header FROM field. + Messages whose internal date (disregarding time and timezone) is within the specified date. - + Default constructor. - String value. - Is raised when value is null reference. + Date value. - + - Returns parsed IMAP SEARCH FROM (string) key. + Returns parsed IMAP SEARCH ON (string) key. String reader. - Returns parsed IMAP SEARCH FROM (string) key. + Returns parsed IMAP SEARCH ON (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets FROM filter value. + Gets date value. - + - This class represents parenthesized list of IMAP SEARCH keys. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH OR (search-key1) (search-key2) key. Defined in RFC 3501 6.4.4. + Messages that match either search key. - + Default constructor. + Search key1. + Search key2. + Is raised when key1 or key2 is null reference. - + - Returns parsed IMAP SEARCH AND key group. + Returns parsed IMAP SEARCH OR (search-key1) (search-key2) key. String reader. - Returns parsed IMAP SEARCH AND key group. + Returns parsed IMAP SEARCH OR (search-key1) (search-key2) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets AND-ded keys collection. + Gets search-key1. - + - This class represents IMAP SEARCH HEADER (field-name) (string) key. Defined in RFC 3501 6.4.4. + Gets search-key2. - Messages that have a header with the specified field-name (as - defined in [RFC-2822]) and that contains the specified string - in the text of the header (what comes after the colon). If the - string to search is zero-length, this matches all messages that - have a header line with the specified field-name regardless of - the contents. - - + + + This class represents IMAP SEARCH RECENT key. Defined in RFC 3501 6.4.4. + + Messages that have the \Recent flag set. + + Default constructor. - Header field name. For example: 'Subject'. - String value. - Is raised when fieldName or value is null reference. - + - Returns parsed IMAP SEARCH HEADER (field-name) (string) key. + Returns parsed IMAP SEARCH RECENT key. String reader. - Returns parsed IMAP SEARCH HEADER (field-name) (string) key. + Returns parsed IMAP SEARCH RECENT key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Gets header field name. - - - - - Gets filter value. - - - + - This class represents IMAP SEARCH KEYWORD (flag) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH SEEN key. Defined in RFC 3501 6.4.4. - Messages with the specified keyword flag set. + Messages that have the \Seen flag set. - + Default constructor. - String value. - Is raised when value is null reference. - + - Returns parsed IMAP SEARCH KEYWORD (string) key. + Returns parsed IMAP SEARCH SEEN key. String reader. - Returns parsed IMAP SEARCH KEYWORD (string) key. + Returns parsed IMAP SEARCH SEEN key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Gets keyword value. - - - + - This class represents IMAP SEARCH LARGER (n) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH SENTBEFORE (date) key. Defined in RFC 3501 6.4.4. - Messages with an [RFC-2822] size larger than the specified number of octets. + Messages whose [RFC-2822] Date: header (disregarding time and + timezone) is earlier than the specified date. - + Default constructor. - Message size in bytes. + Date value. - + - Returns parsed IMAP SEARCH LARGER (string) key. + Returns parsed IMAP SEARCH SENTBEFORE (string) key. String reader. - Returns parsed IMAP SEARCH LARGER (string) key. + Returns parsed IMAP SEARCH SENTBEFORE (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets value. + Gets date value. - + - This class represents IMAP SEARCH NEW key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH SENTON (date) key. Defined in RFC 3501 6.4.4. - Messages that have the \Recent flag set but not the \Seen flag. - This is functionally equivalent to "(RECENT UNSEEN)". + Messages whose [RFC-2822] Date: header (disregarding time and + timezone) is within the specified date. - + Default constructor. + Date value. - + - Returns parsed IMAP SEARCH NEW key. + Returns parsed IMAP SEARCH SENTON (string) key. String reader. - Returns parsed IMAP SEARCH NEW key. + Returns parsed IMAP SEARCH SENTON (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH NOT (search-key) key. Defined in RFC 3501 6.4.4. + Gets date value. - Messages that do not match the specified search key. - + + + This class represents IMAP SEARCH SENTSINCE (date) key. Defined in RFC 3501 6.4.4. + + Messages whose [RFC-2822] Date: header (disregarding time and + timezone) is within or later than the specified date. + + Default constructor. - Search KEY. - Is raised when key is null reference. + Date value - + - Returns parsed IMAP SEARCH NOT (search-key) key. + Returns parsed IMAP SEARCH SENTSINCE (string) key. String reader. - Returns parsed IMAP SEARCH NOT (search-key) key. + Returns parsed IMAP SEARCH SENTSINCE (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets search KEY. + Gets date value. - + - This class represents IMAP SEARCH OLD key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH sequence-set key. Defined in RFC 3501 6.4.4. - Messages that do not have the \Recent flag set. This is - functionally equivalent to "NOT RECENT" (as opposed to "NOT NEW"). + Messages with message sequence numbers corresponding to the + specified message sequence number set. - + Default constructor. + IMAP sequence-set. + Is raised when seqSet is null reference. - + - Returns parsed IMAP SEARCH OLD key. + Returns parsed IMAP SEARCH sequence-set key. String reader. - Returns parsed IMAP SEARCH OLD key. + Returns parsed IMAP SEARCH sequence-set key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH ON (date) key. Defined in RFC 3501 6.4.4. + Gets sequence-set value. - Messages whose internal date (disregarding time and timezone) is within the specified date. - + + + Default constructor. + + IMAP sequence-set. + Is raised when seqSet is null reference. + + + + This class represents IMAP SEARCH SINCE (date) key. Defined in RFC 3501 6.4.4. + + Messages whose internal date (disregarding time and timezone) + is within or later than the specified date. + + Default constructor. Date value. - + - Returns parsed IMAP SEARCH ON (string) key. + Returns parsed IMAP SEARCH SINCE (string) key. String reader. - Returns parsed IMAP SEARCH ON (string) key. + Returns parsed IMAP SEARCH SINCE (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + Gets date value. - + - This class represents IMAP SEARCH OR (search-key1) (search-key2) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH SMALLER (n) key. Defined in RFC 3501 6.4.4. - Messages that match either search key. + Messages with an [RFC-2822] size smaller than the specified number of octets. - + Default constructor. - Search key1. - Search key2. - Is raised when key1 or key2 is null reference. + Message size in bytes. - + - Returns parsed IMAP SEARCH OR (search-key1) (search-key2) key. + Returns parsed IMAP SEARCH SMALLER (string) key. String reader. - Returns parsed IMAP SEARCH OR (search-key1) (search-key2) key. + Returns parsed IMAP SEARCH SMALLER (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Gets search-key1. - - - + - Gets search-key2. + Gets value. - + - This class represents IMAP SEARCH RECENT key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH SUBJECT (string) key. Defined in RFC 3501 6.4.4. - Messages that have the \Recent flag set. + Messages that contain the specified string in the message header SUBJECT field. - + Default constructor. + String value. + Is raised when value is null reference. - + - Returns parsed IMAP SEARCH RECENT key. + Returns parsed IMAP SEARCH SUBJCET (string) key. String reader. - Returns parsed IMAP SEARCH RECENT key. + Returns parsed IMAP SEARCH SUBJECT (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH SEEN key. Defined in RFC 3501 6.4.4. + Gets SUBJECT filter value. - Messages that have the \Seen flag set. - + + + This class represents IMAP SEARCH TEXT (string) key. Defined in RFC 3501 6.4.4. + + Messages that contain the specified string in the header or body of the message. + + Default constructor. + + Is raised when value is null reference. - + - Returns parsed IMAP SEARCH SEEN key. + Returns parsed IMAP SEARCH TEXT (string) key. String reader. - Returns parsed IMAP SEARCH SEEN key. + Returns parsed IMAP SEARCH TEXT (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - This class represents IMAP SEARCH SENTBEFORE (date) key. Defined in RFC 3501 6.4.4. + Gets TEXT filter value. - Messages whose [RFC-2822] Date: header (disregarding time and - timezone) is earlier than the specified date. - + + + This class represents IMAP SEARCH TO (string) key. Defined in RFC 3501 6.4.4. + + Messages that contain the specified string in the message header TO field. + + Default constructor. - Date value. + String value. + Is raised when value is null reference. - + - Returns parsed IMAP SEARCH SENTBEFORE (string) key. + Returns parsed IMAP SEARCH TO (string) key. String reader. - Returns parsed IMAP SEARCH SENTBEFORE (string) key. + Returns parsed IMAP SEARCH TO (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets date value. + Gets TO filter value. - + - This class represents IMAP SEARCH SENTON (date) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH UID (sequence set) key. Defined in RFC 3501 6.4.4. - Messages whose [RFC-2822] Date: header (disregarding time and - timezone) is within the specified date. + Messages with unique identifiers corresponding to the specified + unique identifier set. Sequence set ranges are permitted. - + Default constructor. - Date value. + IMAP sequence-set. + Is raised when seqSet is null reference. - + - Returns parsed IMAP SEARCH SENTON (string) key. + Returns parsed IMAP SEARCH UID (sequence set) key. String reader. - Returns parsed IMAP SEARCH SENTON (string) key. + Returns parsed IMAP SEARCH UID (sequence set) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets date value. + Gets sequence-set value. - + - This class represents IMAP SEARCH SENTSINCE (date) key. Defined in RFC 3501 6.4.4. + Default constructor. - Messages whose [RFC-2822] Date: header (disregarding time and - timezone) is within or later than the specified date. + IMAP sequence-set. + Is raised when seqSet is null reference. - + + + This class represents IMAP SEARCH UNANSWERED key. Defined in RFC 3501 6.4.4. + + Messages that do not have the \Answered flag set. + + Default constructor. - Date value - + - Returns parsed IMAP SEARCH SENTSINCE (string) key. + Returns parsed IMAP SEARCH UNANSWERED key. String reader. - Returns parsed IMAP SEARCH SENTSINCE (string) key. + Returns parsed IMAP SEARCH UNANSWERED key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Gets date value. - - - + - This class represents IMAP SEARCH sequence-set key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH UNDELETED key. Defined in RFC 3501 6.4.4. - Messages with message sequence numbers corresponding to the - specified message sequence number set. + Messages that do not have the \Deleted flag set. - + - Default constructor. + Default consructor. - IMAP sequence-set. - Is raised when seqSet is null reference. - + - Returns parsed IMAP SEARCH sequence-set key. + Returns parsed IMAP SEARCH UNDELETED key. String reader. - Returns parsed IMAP SEARCH sequence-set key. + Returns parsed IMAP SEARCH UNDELETED key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Default constructor. - - IMAP sequence-set. - Is raised when seqSet is null reference. - - - - Gets sequence-set value. - - - + - This class represents IMAP SEARCH SINCE (date) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH UNDRAFT key. Defined in RFC 3501 6.4.4. - Messages whose internal date (disregarding time and timezone) - is within or later than the specified date. + Messages that do not have the \Draft flag set. - + Default constructor. - Date value. - + - Returns parsed IMAP SEARCH SINCE (string) key. + Returns parsed IMAP SEARCH UNDRAFT key. String reader. - Returns parsed IMAP SEARCH SINCE (string) key. + Returns parsed IMAP SEARCH UNDRAFT key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Gets date value. - - - + - This class represents IMAP SEARCH SMALLER (n) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH UNFLAGGED key. Defined in RFC 3501 6.4.4. - Messages with an [RFC-2822] size smaller than the specified number of octets. + Messages that do not have the \Flagged flag set. - + Default constructor. - Message size in bytes. - + - Returns parsed IMAP SEARCH SMALLER (string) key. + Returns parsed IMAP SEARCH UNFLAGGED key. String reader. - Returns parsed IMAP SEARCH SMALLER (string) key. + Returns parsed IMAP SEARCH UNFLAGGED key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - - - Gets value. - - - + - This class represents IMAP SEARCH SUBJECT (string) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH UNKEYWORD (flag) key. Defined in RFC 3501 6.4.4. - Messages that contain the specified string in the message header SUBJECT field. + Messages that do not have the specified keyword flag set. - + Default constructor. String value. Is raised when value is null reference. - + - Returns parsed IMAP SEARCH SUBJCET (string) key. + Returns parsed IMAP SEARCH UNKEYWORD (string) key. String reader. - Returns parsed IMAP SEARCH SUBJECT (string) key. + Returns parsed IMAP SEARCH UNKEYWORD (string) key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets SUBJECT filter value. + Gets keyword value. - + - This class represents IMAP SEARCH TEXT (string) key. Defined in RFC 3501 6.4.4. + This class represents IMAP SEARCH UNSEEN key. Defined in RFC 3501 6.4.4. - Messages that contain the specified string in the header or body of the message. + Messages that do not have the \Seen flag set. - + Default constructor. - - Is raised when value is null reference. - + - Returns parsed IMAP SEARCH TEXT (string) key. + Returns parsed IMAP SEARCH UNSEEN key. String reader. - Returns parsed IMAP SEARCH TEXT (string) key. + Returns parsed IMAP SEARCH UNSEEN key. Is raised when r is null reference. Is raised when parsing fails. - + Returns this as string. Returns this as string. - + Stores IMAP search-key command parts to the specified array. Array where to store command parts. Is raised when list is null reference. - + - Gets TEXT filter value. + This class represent IANA registered IMAP capabilities. Defined in http://www.iana.org/assignments/imap4-capabilities. - + - This class represents IMAP SEARCH TO (string) key. Defined in RFC 3501 6.4.4. + This class is base class for IMAP FETCH request arguments(data-items). For more info see RFC 3501. 6.4.5. - Messages that contain the specified string in the message header TO field. - + - Default constructor. + This class represents FETCH request BODY[] argument(data-item). Defined in RFC 3501. - String value. - Is raised when value is null reference. - + - Returns parsed IMAP SEARCH TO (string) key. + Default constructor. - String reader. - Returns parsed IMAP SEARCH TO (string) key. - Is raised when r is null reference. - Is raised when parsing fails. - + + + Default constructor. + + Body section. Value null means not specified. + Data returning offset. Value -1 means not specified. + Maximum number of bytes to return. Value -1 means not specified. + + Returns this as string. Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + Gets body section. Value null means not specified. - Array where to store command parts. - Is raised when list is null reference. - + - Gets TO filter value. + Gets start offset. Value -1 means not specified. - + - This class represents IMAP SEARCH UID (sequence set) key. Defined in RFC 3501 6.4.4. + Gets maximum count of bytes to fetch. Value -1 means not specified. - Messages with unique identifiers corresponding to the specified - unique identifier set. Sequence set ranges are permitted. - + - Default constructor. + This class represents FETCH request BODY.PEEK[] argument(data-item). Defined in RFC 3501. - IMAP sequence-set. - Is raised when seqSet is null reference. - + - Returns parsed IMAP SEARCH UID (sequence set) key. + Default constructor. - String reader. - Returns parsed IMAP SEARCH UID (sequence set) key. - Is raised when r is null reference. - Is raised when parsing fails. - + - Returns this as string. + Default constructor. - Returns this as string. + Body section. Value null means not specified. + Data returning offset. Value -1 means not specified. + Maximum number of bytes to return. Value -1 means not specified. - + - Stores IMAP search-key command parts to the specified array. + Returns this as string. - Array where to store command parts. - Is raised when list is null reference. + Returns this as string. - + - Default constructor. + Gets body section. Value null means not specified. - IMAP sequence-set. - Is raised when seqSet is null reference. - + - Gets sequence-set value. + Gets start offset. Value -1 means not specified. - + - This class represents IMAP SEARCH UNANSWERED key. Defined in RFC 3501 6.4.4. + Gets maximum count of bytes to fetch. Value -1 means not specified. - Messages that do not have the \Answered flag set. - + - Default constructor. + This class represents FETCH request BODY argument(data-item). Defined in RFC 3501. - + - Returns parsed IMAP SEARCH UNANSWERED key. + This class represents FETCH request BODYSTRUCTURE argument(data-item). Defined in RFC 3501. - String reader. - Returns parsed IMAP SEARCH UNANSWERED key. - Is raised when r is null reference. - Is raised when parsing fails. - + - Returns this as string. + This class represents FETCH request ENVELOPE argument(data-item). Defined in RFC 3501. - Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + Default constructor. - Array where to store command parts. - Is raised when list is null reference. - + - This class represents IMAP SEARCH UNDELETED key. Defined in RFC 3501 6.4.4. + Returns this as string. - Messages that do not have the \Deleted flag set. + Returns this as string. - + - Default consructor. + This class represents FETCH request FLAGS argument(data-item). Defined in RFC 3501. - + - Returns parsed IMAP SEARCH UNDELETED key. + Default constructor. - String reader. - Returns parsed IMAP SEARCH UNDELETED key. - Is raised when r is null reference. - Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + This class represents FETCH request INTERNALDATE argument(data-item). Defined in RFC 3501. - Array where to store command parts. - Is raised when list is null reference. - + - This class represents IMAP SEARCH UNDRAFT key. Defined in RFC 3501 6.4.4. + Default constructor. - Messages that do not have the \Draft flag set. - + - Default constructor. + Returns this as string. + Returns this as string. - + - Returns parsed IMAP SEARCH UNDRAFT key. + This class represents FETCH request RFC822 argument(data-item). Defined in RFC 3501. - String reader. - Returns parsed IMAP SEARCH UNDRAFT key. - Is raised when r is null reference. - Is raised when parsing fails. - + - Returns this as string. + Default constructor. - Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + Returns this as string. - Array where to store command parts. - Is raised when list is null reference. + Returns this as string. - + - This class represents IMAP SEARCH UNFLAGGED key. Defined in RFC 3501 6.4.4. + This class represents FETCH request RFC822.HEADER argument(data-item). Defined in RFC 3501. - Messages that do not have the \Flagged flag set. - + Default constructor. - + - Returns parsed IMAP SEARCH UNFLAGGED key. + Returns this as string. - String reader. - Returns parsed IMAP SEARCH UNFLAGGED key. - Is raised when r is null reference. - Is raised when parsing fails. + Returns this as string. - + - Returns this as string. + This class represents FETCH request RFC822.SIZE argument(data-item). Defined in RFC 3501. - Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + Default constructor. - Array where to store command parts. - Is raised when list is null reference. - + - This class represents IMAP SEARCH UNKEYWORD (flag) key. Defined in RFC 3501 6.4.4. + Returns this as string. - Messages that do not have the specified keyword flag set. + Returns this as string. - + - Default constructor. + This class represents FETCH request RFC822.TEXT argument(data-item). Defined in RFC 3501. - String value. - Is raised when value is null reference. - + - Returns parsed IMAP SEARCH UNKEYWORD (string) key. + Default constructor. - String reader. - Returns parsed IMAP SEARCH UNKEYWORD (string) key. - Is raised when r is null reference. - Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + This class represents FETCH request UID argument(data-item). Defined in RFC 3501. - Array where to store command parts. - Is raised when list is null reference. - + - Gets keyword value. + Default constructor. - + - This class represents IMAP SEARCH UNSEEN key. Defined in RFC 3501 6.4.4. + Returns this as string. - Messages that do not have the \Seen flag set. + Returns this as string. - + - Default constructor. + This class represents FETCH request GMail X-GM-MSGID argument(data-item). Defined in GMail API. - + - Returns parsed IMAP SEARCH UNSEEN key. + Default constructor. - String reader. - Returns parsed IMAP SEARCH UNSEEN key. - Is raised when r is null reference. - Is raised when parsing fails. - + Returns this as string. Returns this as string. - + - Stores IMAP search-key command parts to the specified array. + This class represents FETCH request GMail X-GM-THRID argument(data-item). Defined in GMail API. - Array where to store command parts. - Is raised when list is null reference. - + - This class represent IANA registered IMAP capabilities. Defined in http://www.iana.org/assignments/imap4-capabilities. + Default constructor. - + - This class is base class for IMAP FETCH request arguments(data-items). For more info see RFC 3501. 6.4.5. + Returns this as string. + Returns this as string. - + - This class represents FETCH request BODY[] argument(data-item). Defined in RFC 3501. + This class is base class for IMAP FETCH response data-items. Defined in RFC 3501 7.4.2. - - - Default constructor. - - - - - Default constructor. - - Body section. Value null means not specified. - Data returning offset. Value -1 means not specified. - Maximum number of bytes to return. Value -1 means not specified. - - - - Returns this as string. - - Returns this as string. - - - - Gets body section. Value null means not specified. - - - - - Gets start offset. Value -1 means not specified. - - - - - Gets maximum count of bytes to fetch. Value -1 means not specified. - - - - - This class represents FETCH request BODY.PEEK[] argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Default constructor. - - Body section. Value null means not specified. - Data returning offset. Value -1 means not specified. - Maximum number of bytes to return. Value -1 means not specified. - - - - Returns this as string. - - Returns this as string. - - - - Gets body section. Value null means not specified. - - - - - Gets start offset. Value -1 means not specified. - - - - - Gets maximum count of bytes to fetch. Value -1 means not specified. - - - - - This class represents FETCH request BODY argument(data-item). Defined in RFC 3501. - - - - - This class represents FETCH request BODYSTRUCTURE argument(data-item). Defined in RFC 3501. - - - - - This class represents FETCH request ENVELOPE argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request FLAGS argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request INTERNALDATE argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request RFC822 argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request RFC822.HEADER argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request RFC822.SIZE argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request RFC822.TEXT argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request UID argument(data-item). Defined in RFC 3501. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request GMail X-GM-MSGID argument(data-item). Defined in GMail API. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class represents FETCH request GMail X-GM-THRID argument(data-item). Defined in GMail API. - - - - - Default constructor. - - - - - Returns this as string. - - Returns this as string. - - - - This class is base class for IMAP FETCH response data-items. Defined in RFC 3501 7.4.2. - - - + This class represents IMAP FETCH response BODY[] data-item. Defined in RFC 3501 7.4.2. @@ -9409,11 +9023,6 @@ Default IMAP server response. Is riased when folder,flags or response is null reference. - - - Raises Completed event. - - Gets or sets IMAP server response to this operation. @@ -9450,9 +9059,14 @@ This event is raised when message storing has completed. - + - This class provides data for IMAP_Session.Copy event. + Raises Completed event. + + + + + This class provides data for IMAP_Session.Copy event. @@ -9555,6 +9169,29 @@ by calling method. + + + This class provides data for IMAP_Session.NewMessageData event. + + + + + Default constructor. + + Message info. + Message data stream. + Is raised when msgInfo is null reference. + + + + Gets message info. + + + + + Gets message data stream. + + Default constructor. @@ -9578,13 +9215,6 @@ Message data. NOTE: This value must be as specified by . Is raised when msgInfo or msgData is null reference. - - - Raises NewMessageData event. - - IMAP message info which message data it is. - Message data. NOTE: This value must be as specified by . - Gets or sets IMAP server response to this operation. @@ -9606,28 +9236,12 @@ This event is raised when new message-info/message-data is added for FETCH processing. - - - This class provides data for IMAP_Session.NewMessageData event. - - - - - Default constructor. - - Message info. - Message data stream. - Is raised when msgInfo is null reference. - - - - Gets message info. - - - + - Gets message data stream. + Raises NewMessageData event. + IMAP message info which message data it is. + Message data. NOTE: This value must be as specified by . @@ -10039,12 +9653,6 @@ Message UID value. - - - Raises Matched event. - - Message UID. - Gets or sets IMAP server response to this operation. @@ -10061,6 +9669,12 @@ Is raised when new message matches search criteria. + + + Raises Matched event. + + Message UID. + This class provides data for IMAP_Session.Select event. @@ -10304,45 +9918,12 @@ This class implements IMAPv4 server. Defined RFC 3501. - - - This class implements generic TCP session based server. - - - + Default constructor. - - - Cleans up any resources being used. - - - - - Is called when session idle check timer triggered. - - Sender. - Event data. - - - - Starts TCP server. - - Is raised when this object is disposed and this property is accessed. - - - - Stops TCP server, all active connections will be terminated. - - - - - Restarts TCP server. - - - + Is called when new incoming session and server maximum allowed connections exceeded. @@ -10351,7 +9932,7 @@ Session will be disconnected after this method completes. - + Is called when new incoming session and server maximum allowed connections per connected IP exceeded. @@ -10360,1565 +9941,1349 @@ Session will be disconnected after this method completes. - + - Starts listening incoming connections. NOTE: All active listening points will be disposed. + Gets or sets server greeting text. + Is raised when this object is disposed and this property is accessed. - + - Processes specified connection. + Gets or sets how many bad commands session can have before it's terminated. Value 0 means unlimited. - Accpeted socket. - Local bind info what accpeted connection. - Is raised when socket or bindInfo is null reference. + Is raised when this object is disposed and this property is accessed. + Is raised when invalid value is passed. - + - Raises Started event. + This class implements IMAP server session. Defined RFC 3501. - + - Raises Stopped event. + This class holds selected folder data. - + - Raises Disposed event. + Default constructor. + Folder name with optional path. + Specifies if folder is read only. + Messages info. + Is raised when folder or messagesInfo is null reference. - + - Raises SessionCreated event. + Gets messages which match to the specified sequence set. - TCP server session that was created. + Specifies if sequence set contains UID or sequence numbers. + Sequence set. + Returns messages which match to the specified sequence set. + Is raised when seqSet is null reference. - + - Raises Error event. + Removes specified message from messages info. - Exception happened. + Message info. + Is raised when message is null reference. - + - Gets if server is disposed. + Gets specified message info IMAP 1-based sequence number. + Message info. + Returns specified message info IMAP 1-based sequence number. + Is raised when msgInfo is null reference. - + - Gets if server is running. + Gets specified message IMAP 1-based sequence number. + Message UID. + Returns specified message info IMAP 1-based sequence number or -1 if no such message. - + - Gets or sets TCP server IP bindings. + Reindexes messages sequence numbers. - Is raised when this object is disposed and this property is accessed. - + - Gets local listening IP end points. + Gets folder name with optional path. - Is raised when this object is disposed and this property is accessed. - + - Gets or sets maximum allowed concurent connections. Value 0 means unlimited. + Gets if folder is read-only. - Is raised when this object is disposed and this property is accessed. - Is raised when negative value is passed. - + - Gets or sets maximum allowed connections for 1 IP address. Value 0 means unlimited. + Gets messages info. - + - Gets or sets maximum allowed session idle time in seconds, after what session will be terminated. Value 0 means unlimited, - but this is strongly not recommened. + This class implements IMAP client command reader. - Is raised when this object is disposed and this property is accessed. - Is raised when negative value is passed. + Because IMAP command can contain literal strings, then command text can be multiline. - + - Gets or sets logger. Value null means no logging. + Default constructor. + Owner IMAP session. + IMAP client initial command line. + IMAP literal strings charset encoding. + Is raised when session,initialCmdLine or charset is null reference. - + - Gets the time when server was started. + Start operation processing. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP server is not running and this property is accesed. - + - Gets how many connections this TCP server has processed. + Cheks if specified value ends with IMAP literal string. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP server is not running and this property is accesed. + Data value. + Returns true if value ends with IMAP literal string, otherwise false. + Is raised when value is null reference. - + - Gets TCP server active sessions. + Gets literal string bytes count. - Is raised when this object is disposed and this property is accessed. - Is raised when TCP server is not running and this property is accesed. + Command line with ending literal string. + Returns literal string byte count. + Is raised when cmdLine is null reference. - + - This event is raised when TCP server has started. + Removes literal string specifier({no_bytes}) from the specified string. + Command line with ending literal string specifier. + Returns command line without literal string specifier. + Is raised when value is null reference. - + - This event is raised when TCP server has stopped. + Gets command line text. - + - This event is raised when TCP server has disposed. + This class implements IMAP response sender. - + - This event is raised when TCP server creates new session. + This class represents queued IMAP response and it's status. - + - This event is raised when TCP server has unknown unhandled error. + Default constructor. + IMAP response. + Callback to be called when response sending completes asynchronously. + Is raised when response is null reference. - - - This class holds listening point info. - - - + - Default constructor. + Gets or sets if IMAP response is sent. - Listening socket. - Bind info what acceped socket. - + - Gets socket. + Gets or sets if sending complte asynchronously. - + - Gets bind info. + Gets IMAP response. - + - Implements single TCP connection acceptor. + Gets callback to be called when response sending completes asynchronously. - For higher performance, mutiple acceptors per socket must be created. - + Default constructor. - Socket. - Is raised when socket is null reference. + Owner IMAP session. + Is raised when session is null reference. - + Cleans up any resources being used. - + - Starts accpeting connections. + Starts sending response. - Is raised when this calss is disposed and this method is accessed. + IMAP response. + Is raised when response is null reference. - + - Accpets connection synchornously(if connection(s) available now) or starts waiting TCP connection asynchronously if no connections at moment. + Starts sending response. + IMAP response. + Callback to be called when this method completes asynchronously. + Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when response is null reference. - + - Is called BeginAccept has completed. + Starts sending queued responses. - The result of the asynchronous operation. - + - Raises ConnectionAccepted event. + Default constructor. - Accepted socket. - + - Raises Error event. + Cleans up any resource being used. - Exception happened. - + - Gets user data items. + Starts session processing. - + - Is raised when new TCP connection was accepted. + Is called when session has processing error. + Exception happened. - + - Is raised when unhandled error happens. + This method is called when specified session times out. + + This method allows inhereted classes to report error message to connected client. + Session will be disconnected after this method completes. + - + - Default constructor. + Starts reading incoming command from the connected client. - + - Is called when new incoming session and server maximum allowed connections exceeded. + Completes command reading operation. - Incoming session. - This method allows inhereted classes to report error message to connected client. - Session will be disconnected after this method completes. - + Operation. + Returns true if server should start reading next command. - + - Is called when new incoming session and server maximum allowed connections per connected IP exceeded. + Sends and logs specified line to connected host. - Incoming session. - This method allows inhereted classes to report error message to connected client. - Session will be disconnected after this method completes. - + Line to send. - + - Gets or sets server greeting text. + Logs read operation. - Is raised when this object is disposed and this property is accessed. + Number of bytes read. + Log text. - + - Gets or sets how many bad commands session can have before it's terminated. Value 0 means unlimited. + Logs write operation. - Is raised when this object is disposed and this property is accessed. - Is raised when invalid value is passed. + Number of bytes written. + Log text. - + - This class implements IMAP server session. Defined RFC 3501. + Logs specified text. + text to log. + Is raised when text is null reference. - + - This class implements generic TCP server session. + Logs specified exception. + Exception to log. + Is raised when exception is null reference. - + - Default constructor. + Updates current slected folder status and sends currently selected folder changes versus current folder state. - + - Cleans up any resources being used. + Gets if session supports specified capability. + Capability name. + Returns true if session supports specified capability. - + - Initializes session. This method is called from TCP_Server when new session created. + Parses MIME part-number specifier from BODY[] section string. - Owner TCP server. - Connected socket. - Local host name. - Specifies if session should switch to SSL. - SSL certificate. + Section string. + Returns part-number. + Is raised wehn section is null reference. - + - This method is called from TCP server when session should start processing incoming connection. + Parses MIME part specifier from BODY[] section string. + Section string. + Returns specifier. + Is raised wehn section is null reference. - + - This method is called from TCP server when session should start processing incoming connection. + Gets specified mime entity. Returns null if specified mime entity doesn't exist. + Mail message. + MIME part-number specifier. Nested mime entities are pointed by '.'. + For example: 1,1.1,2.1, ... . + + Is raised when message is null reference. - + - Switches session to secure connection. + Constructs FETCH BODY and BODYSTRUCTURE response. - Is raised when this object is disposed and this method is accessed. - Is raised when connection is already secure or when SSL certificate is not specified. + Mail message. + Specifies if to construct BODY or BODYSTRUCTURE. + - + - Starts switching connection to secure. + Constructs specified entity and it's childentities bodystructure string. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when connection is already secure or when SSL certificate is not specified. - Is raised when op is null reference. + Mime entity. + Specifies if to construct BODY or BODYSTRUCTURE. + - + - Disconnects session. + Gets session owner IMAP server. Is raised when this object is disposed and this property is accessed. - + - Disconnects session. + Gets supported SASL authentication methods collection. - Text what is sent to connected host before disconnecting. - Is raised when this object is disposed and this method is accessed. + Is raised when this object is disposed and this property is accessed. - + - This method is called when specified session times out. + Gets number of bad commands happened on IMAP session. - - This method allows inhereted classes to report error message to connected client. - Session will be disconnected after this method completes. - + Is raised when this object is disposed and this property is accessed. - + - Just calls OnTimeout method. + Gets authenticated user identity or null if user has not authenticated. + Is raised when this object is disposed and this property is accessed. - + - Logs specified text. + Gets session supported CAPABILITIES. - text to log. - Is raised when text is null reference. + Is raised when this object is disposed and this property is accessed. - + - Logs specified exception. + Gets selected folder name with optional path. Value null means no selected folder. - Exception to log. - Is raised when exception is null reference. - + - Raises IdleTimeout event. + Gets mailbox encoding. - + - Raises Disonnected event. + Is raised when session has started processing and needs to send "* OK ..." greeting or "* NO ..." error resposne to the connected client. - + - Raises Disposed event. + Raises Started event. + Default IMAP server response. + Returns event args. - + - Raises Error event. + Is raised when IMAP session needs to handle LOGIN command. - Exception happened. - + - Gets if TCP server session is disposed. + Raises Login event. + User name. + Password. + Returns event args. - + - Gets owner TCP server. + Is raised when IMAP session needs to handle NAMESPACE command. - Is raised when this object is disposed and this property is accessed. - + - Gets local host name. + Raises Namespace event. - Is raised when this object is disposed and this property is accessed. + Default IMAP server response. + Returns event args. - + - Gets session certificate. + Is raised when IMAP session needs to handle LIST command. - Is raised when this object is disposed and this property is accessed. - + - Gets or sets user data. + Raises List event. + Folder reference name. + Folder filter. + Returns event args. - + - Gets user data items collection. + Is raised when IMAP session needs to handle CREATE command. - Is raised when this object is disposed and this property is accessed. - + - Gets if session is connected. + Raises Create event. + Command tag. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - Gets session ID. + Is raised when IMAP session needs to handle DELETE command. - Is raised when this object is disposed and this property is accessed. - + - Gets the time when session was connected. + Raises Delete event. - Is raised when this object is disposed and this property is accessed. + Command tag. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - Gets the last time when data was sent or received. + Is raised when IMAP session needs to handle RENAME command. - Is raised when this object is disposed and this property is accessed. - + - Gets session local IP end point. + Raises Rename event. - Is raised when this object is disposed and this property is accessed. + Command tag. + Current folder name with optional path. + New folder name with optional path. + Returns event args. - + - Gets session remote IP end point. + Is raised when IMAP session needs to handle LSUB command. - Is raised when this object is disposed and this property is accessed. - + - Gets if this session TCP connection is secure connection. + Raises LSub event. - Is raised when this object is disposed and this property is accessed. + Folder reference name. + Folder filter. + Returns event args. - + - Gets TCP stream which must be used to send/receive data through this session. + Is raised when IMAP session needs to handle SUBSCRIBE command. - Is raised when this object is disposed and this property is accessed. - + - This event is raised when session idle(no activity) timeout reached. + Raises Subscribe event. + Command tag. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - This event is raised when session has disconnected and will be disposed soon. + Is raised when IMAP session needs to handle SUBSCRIBE command. - + - This event is raised when session has disposed. + Raises OnUnsubscribe event. + Command tag. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - This event is raised when TCP server session has unknown unhandled error. + Is raised when IMAP session needs to handle SELECT command. - + - This class represents asynchronous operation. + Raises Select event. + Command tag. + Folder name with optional path. + Returns event args. - + - Default constructor. + Is raised when IMAP session needs to get folder messages info. - + - Cleans up any resource being used. + Raises GetMessagesInfo event. + Folder name with optional path. + Returns event args. - + - Starts operation processing. + Is raised when IMAP session needs to handle APPEND command. - Owner TCP session. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Raises StoreMessage event. - New state. + Folder name with optional path. + Message flags. + Message IMAP internal date. + Message size in bytes. + Default IMAP server response. + Returns event args. - + - This method is called when "BeginAuthenticateAsServer" has completed. + Is raised when IMAP session needs to handle GETQUOTAROOT command. - Asynchronous result. - + - Raises CompletedAsync event. + Raises GetQuotaRoot event. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - Gets asynchronous operation state. + Is raised when IMAP session needs to handle GETQUOTA command. - + - Gets error happened during operation. Returns null if no error. + Raises GetQuota event. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Quota root name. + Default IMAP server response. + Returns event args. - + - Is called when asynchronous operation has completed. + Is raised when IMAP session needs to handle GETACL command. - + - Default constructor. + Raises GetAcl event. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - Cleans up any resource being used. + Is raised when IMAP session needs to handle SETACL command. - + - Starts session processing. + Raises SetAcl event. + Folder name with optional path. + ACL identifier (normally user or group name). + Flags set type. + Identifier rights. + Default IMAP server response. + Returns event args. - + - Is called when session has processing error. + Is raised when IMAP session needs to handle DELETEACL command. - Exception happened. - + - This method is called when specified session times out. + Raises DeleteAcl event. - - This method allows inhereted classes to report error message to connected client. - Session will be disconnected after this method completes. - + Folder name with optional path. + ACL identifier (normally user or group name). + Default IMAP server response. + Returns event args. - + - Starts reading incoming command from the connected client. + Is raised when IMAP session needs to handle LISTRIGHTS command. - + - Completes command reading operation. + Raises ListRights event. - Operation. - Returns true if server should start reading next command. + Folder name with optional path. + ACL identifier (normally user or group name). + Default IMAP server response. + Returns event args. - + - Sends and logs specified line to connected host. + Is raised when IMAP session needs to handle MYRIGHTS command. - Line to send. - + - Logs read operation. + Raises MyRights event. - Number of bytes read. - Log text. + Folder name with optional path. + Default IMAP server response. + Returns event args. - + - Logs write operation. + Is raised when IMAP session needs to handle FETCH command. - Number of bytes written. - Log text. - + - Logs specified text. + Raises Fetch event. - text to log. - Is raised when text is null reference. + Event data. - + - Logs specified exception. + Is raised when IMAP session needs to handle SEARCH command. - Exception to log. - Is raised when exception is null reference. - + - Updates current slected folder status and sends currently selected folder changes versus current folder state. + Raises Search event. + Event args. - + - Gets if session supports specified capability. + Is raised when IMAP session needs to handle STORE command. - Capability name. - Returns true if session supports specified capability. - + - Parses MIME part-number specifier from BODY[] section string. + Raises Store event. - Section string. - Returns part-number. - Is raised wehn section is null reference. + Message info. + Flags set type. + Flags. + Default IMAP server response. + Returns event args. - + - Parses MIME part specifier from BODY[] section string. + Is raised when IMAP session needs to handle COPY command. - Section string. - Returns specifier. - Is raised wehn section is null reference. - + - Gets specified mime entity. Returns null if specified mime entity doesn't exist. + Raises Copy event. - Mail message. - MIME part-number specifier. Nested mime entities are pointed by '.'. - For example: 1,1.1,2.1, ... . - - Is raised when message is null reference. + Target folder name with optional path. + Messages info. + Default IMAP server response. + Returns event args. - + - Constructs FETCH BODY and BODYSTRUCTURE response. + Is raised when IMAP session needs to handle EXPUNGE command. - Mail message. - Specifies if to construct BODY or BODYSTRUCTURE. - - + - Constructs specified entity and it's childentities bodystructure string. + Raises Expunge event. - Mime entity. - Specifies if to construct BODY or BODYSTRUCTURE. - + Messgae info. + Default IMAP server response. + Returns event args. - + - Raises Started event. + This class represents IMAP FETCH ENVELOPE data item. Defined in RFC 3501. - Default IMAP server response. - Returns event args. - + - Raises Login event. + Default constructor. - User name. - Password. - Returns event args. + Message Date header value. + Message Subject header value. + Message From header value. + Message Sender header value. + Message Reply-To header value. + Message To header value. + Message Cc header value. + Message Bcc header value. + Message In-Reply-To header value. + Message Message-ID header value. - + - Raises Namespace event. + Parses IMAP ENVELOPE from string. - Default IMAP server response. - Returns event args. + String reader. + Returns parsed IMAP ENVELOPE string. + Is raised when r is null reference. - + - Raises List event. + Parses IMAP FETCH ENVELOPE data-item. - Folder reference name. - Folder filter. - Returns event args. + Fetch reader. + Returns parsed IMAP FETCH ENVELOPE data-item. + Is raised when fetchReader is null reference. - + - Raises Create event. + Construct secified mime entity ENVELOPE string. - Command tag. - Folder name with optional path. - Default IMAP server response. - Returns event args. + Mail message. + - + - Raises Delete event. + Reads parenthesized list of addresses. - Command tag. - Folder name with optional path. - Default IMAP server response. - Returns event args. + String reader. + Returns read addresses. + Is raised when r is null reference. - + - Raises Rename event. + Reads parenthesized list of addresses. - Command tag. - Current folder name with optional path. - New folder name with optional path. - Returns event args. + Fetch reader. + Returns read addresses. + Is raised when fetchReader is null reference. - + - Raises LSub event. + Constructs ENVELOPE addresses structure. - Folder reference name. - Folder filter. - Returns event args. + Mailboxes. + Unicode words encoder. + - + - Raises Subscribe event. + Constructs ENVELOPE address structure. - Command tag. - Folder name with optional path. - Default IMAP server response. - Returns event args. + Mailbox address. + Unicode words encoder. + - + - Raises OnUnsubscribe event. + Removes CR and LF chars from the specified string. - Command tag. - Folder name with optional path. - Default IMAP server response. - Returns event args. + String value. + Reurns string. - + - Raises Select event. + Decodes word from reader. - Command tag. - Folder name with optional path. - Returns event args. + Text. + Returns decoded word. - + - Raises GetMessagesInfo event. + Gets message Date header field value. Value DateTime.Min means no Date header field. - Folder name with optional path. - Returns event args. - + - Raises StoreMessage event. + Gets message Subject header field value. Value null means no Subject header field. - Folder name with optional path. - Message flags. - Message IMAP internal date. - Message size in bytes. - Default IMAP server response. - Returns event args. - + - Raises GetQuotaRoot event. + Gets message From header field value. Value null means no From header field. - Folder name with optional path. - Default IMAP server response. - Returns event args. - + - Raises GetQuota event. + Gets message Sender header field value. Value null means no Sender header field. - Quota root name. - Default IMAP server response. - Returns event args. - + - Raises GetAcl event. + Gets message Reply-To header field value. Value null means no Reply-To header field. - Folder name with optional path. - Default IMAP server response. - Returns event args. - + - Raises SetAcl event. + Gets message To header field value. Value null means no To header field. - Folder name with optional path. - ACL identifier (normally user or group name). - Flags set type. - Identifier rights. - Default IMAP server response. - Returns event args. - + - Raises DeleteAcl event. + Gets message Cc header field value. Value null means no Cc header field. - Folder name with optional path. - ACL identifier (normally user or group name). - Default IMAP server response. - Returns event args. - + - Raises ListRights event. + Gets message Bcc header field value. Value null means no Bcc header field. - Folder name with optional path. - ACL identifier (normally user or group name). - Default IMAP server response. - Returns event args. - + - Raises MyRights event. + Gets message In-Reply-To header field value. Value null means no In-Reply-To header field. - Folder name with optional path. - Default IMAP server response. - Returns event args. - + - Raises Fetch event. + Gets message Message-ID header field value. Value null means no Message-ID header field. - Event data. - + - Raises Search event. + This class is base class for IMAP FETCH data-items. For more info see RFC 3501. 6.4.5. - Event args. - + - Raises Store event. + This class represents FETCH ENVELOPE data item. Defined in RFC 3501. - Message info. - Flags set type. - Flags. - Default IMAP server response. - Returns event args. - + - Raises Copy event. + Default constructor. - Target folder name with optional path. - Messages info. - Default IMAP server response. - Returns event args. - + - Raises Expunge event. + Returns this as string. - Messgae info. - Default IMAP server response. - Returns event args. + Returns this as string. - + - Gets session owner IMAP server. + IMAP message flags. - Is raised when this object is disposed and this property is accessed. - + - Gets supported SASL authentication methods collection. + No flags defined. - Is raised when this object is disposed and this property is accessed. - + - Gets number of bad commands happened on IMAP session. + Message has been read. - Is raised when this object is disposed and this property is accessed. - + - Gets authenticated user identity or null if user has not authenticated. + Message has been answered. - Is raised when this object is disposed and this property is accessed. - + - Gets session supported CAPABILITIES. + Message is "flagged" for urgent/special attention. - Is raised when this object is disposed and this property is accessed. - + - Gets selected folder name with optional path. Value null means no selected folder. + Message is "deleted" for removal by later EXPUNGE. - + - Gets mailbox encoding. + Message has not completed composition. - + - Is raised when session has started processing and needs to send "* OK ..." greeting or "* NO ..." error resposne to the connected client. + Message is "recently" arrived in this mailbox. - + - Is raised when IMAP session needs to handle LOGIN command. + This class represents IMAP MYRIGHTS response. Defined in RFC 4314 3.8. - + - Is raised when IMAP session needs to handle NAMESPACE command. + Default constructor. + Folder name with path. + Rights values. + Is raised when folder is null reference. + Is raised when any of the arguments has invalid value. - + - Is raised when IMAP session needs to handle LIST command. + Parses MYRIGHTS response from MYRIGHTS-response string. + MYRIGHTS response line. + Returns parsed MYRIGHTS response. + Is raised when myRightsResponse is null reference. - + - Is raised when IMAP session needs to handle CREATE command. + Returns this as string. + Returns this as string. - + - Is raised when IMAP session needs to handle DELETE command. + Gets folder name. - + - Is raised when IMAP session needs to handle RENAME command. + Gets rights list. - + - Is raised when IMAP session needs to handle LSUB command. + IMAP sequence-set. RFC 3501. + + Examples: + 2 -> seq-number (2) + 2:4 -> seq-range (from 2 - 4) + 2:* -> seq-range (from 2 to last) + 2,3,10:* -> sequence-set (seq-number,seq-number,seq-range) + (2,3, 10 - last) + + NOTES: + *) comma separates sequence parts + *) * means maximum value. + - + - Is raised when IMAP session needs to handle SUBSCRIBE command. + Default constructor. - + - Is raised when IMAP session needs to handle SUBSCRIBE command. + Parses sequence-set from specified string. Throws exception if invalid sequnce-set value. + Sequence-set string. - + - Is raised when IMAP session needs to handle SELECT command. + Parses sequence-set from specified string. Throws exception if invalid sequnce-set value. + Sequence-set string. + Maximum value. This if for replacement of * value. - + - Is raised when IMAP session needs to get folder messages info. + Gets if sequence set contains specified number. + Number to check. - + - Is raised when IMAP session needs to handle APPEND command. + Converts IMAP_SequenceSet to IMAP sequence-set string. + - + - Is raised when IMAP session needs to handle GETQUOTAROOT command. + Parses seq-number from specified value. Throws exception if invalid seq-number value. + Integer number or *. + Maximum value. This if for replacement of * value. - + - Is raised when IMAP session needs to handle GETQUOTA command. + Gets sequence set ranges. - + - Is raised when IMAP session needs to handle GETACL command. + This class implements base64 encoder/decoder. Defined in RFC 4648. - + - Is raised when IMAP session needs to handle SETACL command. + Default constructor. - + - Is raised when IMAP session needs to handle DELETEACL command. + Encodes bytes. + Data buffer. + Offset in the buffer. + Number of bytes available in the buffer. + Last data block. + Returns encoded data. - + - Is raised when IMAP session needs to handle LISTRIGHTS command. + Decodes specified base64 string. + Base64 string. + If true all invalid base64 chars ignored. If false, FormatException is raised. + Returns decoded data. + Is raised when value is null reference. + Is raised when value contains invalid base64 data. - + - Is raised when IMAP session needs to handle MYRIGHTS command. + Decodes specified base64 data. + Base64 encoded data buffer. + Offset in the buffer. + Number of bytes available in the buffer. + If true all invalid base64 chars ignored. If false, FormatException is raised. + Returns decoded data. + Is raised when data is null reference. + Is raised when value contains invalid base64 data. - + - Is raised when IMAP session needs to handle FETCH command. + Decodes base64 encoded bytes. + Base64 encoded data buffer. + Offset in the encBuffer. + Number of bytes available in the encBuffer. + Buffer where to decode data. + Offset int the buffer. + If true all invalid base64 chars ignored. If false, FormatException is raised. + Returns number of bytes decoded. + Is raised when encBuffer or encBuffer is null reference. + Is raised when any of the arguments has out of valid range. + Is raised when encBuffer contains invalid base64 data. - + - Is raised when IMAP session needs to handle SEARCH command. + This class implements base64 encoder/decoder. Defined in RFC 4648. - + - Is raised when IMAP session needs to handle STORE command. + Default constructor. + Stream which to encode/decode. + Specifies if Base64Stream is owner of stream. + Specifies if encoder inserts CRLF after each 76 bytes. + Is raised when stream is null reference. - + - Is raised when IMAP session needs to handle COPY command. + Default constructor. + Stream which to encode/decode. + Specifies if Base64Stream is owner of stream. + Specifies if encoder inserts CRLF after each 76 bytes. + This stream access mode. + Is raised when stream is null reference. - + - Is raised when IMAP session needs to handle EXPUNGE command. + Celans up any resources being used. - + - This class holds selected folder data. + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + Is raised when this object is disposed and this method is accessed. - + - Default constructor. + Sets the position within the current stream. This method is not supported and always throws a NotSupportedException. - Folder name with optional path. - Specifies if folder is read only. - Messages info. - Is raised when folder or messagesInfo is null reference. + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference point used to obtain the new position. + The new position within the current stream. + Is raised when this object is disposed and this method is accessed. + Is raised when this method is accessed. - + - Gets messages which match to the specified sequence set. + Sets the length of the current stream. This method is not supported and always throws a NotSupportedException. - Specifies if sequence set contains UID or sequence numbers. - Sequence set. - Returns messages which match to the specified sequence set. - Is raised when seqSet is null reference. + The desired length of the current stream in bytes. + Is raised when this object is disposed and this method is accessed. + Is raised when this method is accessed. - + - Removes specified message from messages info. + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. - Message info. - Is raised when message is null reference. - - - - Gets specified message info IMAP 1-based sequence number. - - Message info. - Returns specified message info IMAP 1-based sequence number. - Is raised when msgInfo is null reference. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + Is raised when this object is disposed and this method is accessed. + Is raised when buffer is null reference. + Is raised when any of the arguments has out of valid range. + Is raised when reading not supported. - + - Gets specified message IMAP 1-based sequence number. + Encodes a sequence of bytes, writes to the current stream and advances the current position within this stream by the number of bytes written. - Message UID. - Returns specified message info IMAP 1-based sequence number or -1 if no such message. + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + Is raised when this object is disposed and this method is accessed. + Is raised when this.Finish has been called and this method is accessed. + Is raised when buffer is null reference. + Is raised when any of the arguments has invalid value. + Is raised when reading not supported. - + - Reindexes messages sequence numbers. + Completes encoding. Call this method if all data has written and no more data. + Is raised when this object is disposed and this method is accessed. - + - Gets folder name with optional path. + Gets if this object is disposed. - + - Gets if folder is read-only. + Gets a value indicating whether the current stream supports reading. + Is raised when this object is disposed and this property is accessed. - + - Gets messages info. + Gets a value indicating whether the current stream supports seeking. + Is raised when this object is disposed and this property is accessed. - + - This class implements IMAP client command reader. + Gets a value indicating whether the current stream supports writing. - Because IMAP command can contain literal strings, then command text can be multiline. + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Gets the length in bytes of the stream. This method is not supported and always throws a NotSupportedException. - Owner IMAP session. - IMAP client initial command line. - IMAP literal strings charset encoding. - Is raised when session,initialCmdLine or charset is null reference. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed. - + - Start operation processing. + Gets or sets the position within the current stream. This method is not supported and always throws a NotSupportedException. + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed. - + - Cheks if specified value ends with IMAP literal string. + The exception that is thrown when maximum allowed data size has exceeded. - Data value. - Returns true if value ends with IMAP literal string, otherwise false. - Is raised when value is null reference. - + - Gets literal string bytes count. + Default constructor. - Command line with ending literal string. - Returns literal string byte count. - Is raised when cmdLine is null reference. - + - Removes literal string specifier({no_bytes}) from the specified string. + Implements FIFO(first in - first out) buffer. - Command line with ending literal string specifier. - Returns command line without literal string specifier. - Is raised when value is null reference. - + - Gets command line text. + Default constructor. + Maximum number of bytes can buffer in FIFO. + Is raised when - + - This class implements IMAP response sender. + Reads up to specified count of bytes from the FIFO buffer. + Buffer where to store data. + Index in the buffer. + Maximum number of bytes to read. + Returns number of bytes readed. Returns 0 if no data in the buffer. + Is raised when buffer is null reference. + Is raised when any of the arguments has out of allowed range. - + - Default constructor. + Writes specified number of bytes to the FIFO buffer. - Owner IMAP session. - Is raised when session is null reference. + Data buffer. + Index in the buffer. + Number of bytes to wrtite. + If true, disables excption raising when FIFO full. + Is raised when buffer is null reference. + Is raised when any of the arguments has out of allowed range. + Is raised when ignoreBufferFull = false and FIFO buffer has no room to store data. - + - Cleans up any resources being used. + Clears buffer data. - + - Starts sending response. + Removes unused space from the buffer beginning. - IMAP response. - Is raised when response is null reference. - + - Starts sending response. + Gets maximum number of bytes can buffer in FIFO. - IMAP response. - Callback to be called when this method completes asynchronously. - Returns true is method completed asynchronously(the completedAsyncCallback is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when response is null reference. - + - Starts sending queued responses. + Gets number of bytes avialable in FIFO. - + - This class represents queued IMAP response and it's status. + The exception that is thrown when incomplete data received. + For example for ReadPeriodTerminated() method reaches end of stream before getting period terminator. - + Default constructor. - IMAP response. - Callback to be called when response sending completes asynchronously. - Is raised when response is null reference. - + - Gets or sets if IMAP response is sent. + Default constructor. + Exception message text. - + - Gets or sets if sending complte asynchronously. + This stream just junks all written data. - + - Gets IMAP response. + Default constructor. - + - Gets callback to be called when response sending completes asynchronously. + Not used. - + - This class implements base64 encoder/decoder. Defined in RFC 4648. + Sets the current position of the stream to the given value. This method always throws a NotSupportedException. + This parameter is not used. + This parameter is not used. + - + - Default constructor. + Sets the length of the stream. This method always throws a NotSupportedException. + This parameter is not used. - + - Encodes bytes. + Reads data from the stream. This method always throws a NotSupportedException. - Data buffer. - Offset in the buffer. - Number of bytes available in the buffer. - Last data block. - Returns encoded data. + This parameter is not used. + This parameter is not used. + This parameter is not used. + - + - Decodes specified base64 string. + Writes data to the stream. - Base64 string. - If true all invalid base64 chars ignored. If false, FormatException is raised. - Returns decoded data. - Is raised when value is null reference. - Is raised when value contains invalid base64 data. + An array of type Byte that contains the data to write to the stream. + The location in buffer from which to start writing data. + The number of bytes to write to the stream. - + - Decodes specified base64 data. + Gets a value indicating whether the stream supports reading. This property always returns false. - Base64 encoded data buffer. - Offset in the buffer. - Number of bytes available in the buffer. - If true all invalid base64 chars ignored. If false, FormatException is raised. - Returns decoded data. - Is raised when data is null reference. - Is raised when value contains invalid base64 data. - + - Decodes base64 encoded bytes. + Gets a value indicating whether the stream supports seeking. This property always returns false. - Base64 encoded data buffer. - Offset in the encBuffer. - Number of bytes available in the encBuffer. - Buffer where to decode data. - Offset int the buffer. - If true all invalid base64 chars ignored. If false, FormatException is raised. - Returns number of bytes decoded. - Is raised when encBuffer or encBuffer is null reference. - Is raised when any of the arguments has out of valid range. - Is raised when encBuffer contains invalid base64 data. - + - This class implements base64 encoder/decoder. Defined in RFC 4648. + Gets a value that indicates whether the stream supports writing. - + - Default constructor. + Gets the length of the data available on the stream. This property always throws a NotSupportedException. - Stream which to encode/decode. - Specifies if Base64Stream is owner of stream. - Specifies if encoder inserts CRLF after each 76 bytes. - Is raised when stream is null reference. - + - Default constructor. + Gets or sets the current position in the stream. This property always throws a NotSupportedException. - Stream which to encode/decode. - Specifies if Base64Stream is owner of stream. - Specifies if encoder inserts CRLF after each 76 bytes. - This stream access mode. - Is raised when stream is null reference. - + - Celans up any resources being used. + The exception that is thrown when maximum allowed line size has exceeded. - - - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. - - Is raised when this object is disposed and this method is accessed. - - - - Sets the position within the current stream. This method is not supported and always throws a NotSupportedException. - - A byte offset relative to the origin parameter. - A value of type SeekOrigin indicating the reference point used to obtain the new position. - The new position within the current stream. - Is raised when this object is disposed and this method is accessed. - Is raised when this method is accessed. - - - - Sets the length of the current stream. This method is not supported and always throws a NotSupportedException. - - The desired length of the current stream in bytes. - Is raised when this object is disposed and this method is accessed. - Is raised when this method is accessed. - - - - Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. - - An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. - The zero-based byte offset in buffer at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - Is raised when this object is disposed and this method is accessed. - Is raised when buffer is null reference. - Is raised when any of the arguments has out of valid range. - Is raised when reading not supported. - - - - Encodes a sequence of bytes, writes to the current stream and advances the current position within this stream by the number of bytes written. - - An array of bytes. This method copies count bytes from buffer to the current stream. - The zero-based byte offset in buffer at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - Is raised when this object is disposed and this method is accessed. - Is raised when this.Finish has been called and this method is accessed. - Is raised when buffer is null reference. - Is raised when any of the arguments has invalid value. - Is raised when reading not supported. - - - - Completes encoding. Call this method if all data has written and no more data. - - Is raised when this object is disposed and this method is accessed. - - - - Gets if this object is disposed. - - - - - Gets a value indicating whether the current stream supports reading. - - Is raised when this object is disposed and this property is accessed. - - - - Gets a value indicating whether the current stream supports seeking. - - Is raised when this object is disposed and this property is accessed. - - - - Gets a value indicating whether the current stream supports writing. - - Is raised when this object is disposed and this property is accessed. - - - - Gets the length in bytes of the stream. This method is not supported and always throws a NotSupportedException. - - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed. - - - - Gets or sets the position within the current stream. This method is not supported and always throws a NotSupportedException. - - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed. - - - - The exception that is thrown when maximum allowed data size has exceeded. - - - - - Default constructor. - - - - - Implements FIFO(first in - first out) buffer. - - - - - Default constructor. - - Maximum number of bytes can buffer in FIFO. - Is raised when - - - - Reads up to specified count of bytes from the FIFO buffer. - - Buffer where to store data. - Index in the buffer. - Maximum number of bytes to read. - Returns number of bytes readed. Returns 0 if no data in the buffer. - Is raised when buffer is null reference. - Is raised when any of the arguments has out of allowed range. - - - - Writes specified number of bytes to the FIFO buffer. - - Data buffer. - Index in the buffer. - Number of bytes to wrtite. - If true, disables excption raising when FIFO full. - Is raised when buffer is null reference. - Is raised when any of the arguments has out of allowed range. - Is raised when ignoreBufferFull = false and FIFO buffer has no room to store data. - - - - Clears buffer data. - - - - - Removes unused space from the buffer beginning. - - - - - Gets maximum number of bytes can buffer in FIFO. - - - - - Gets number of bytes avialable in FIFO. - - - - - The exception that is thrown when incomplete data received. - For example for ReadPeriodTerminated() method reaches end of stream before getting period terminator. - - - - - Default constructor. - - - - - Default constructor. - - Exception message text. - - - - This stream just junks all written data. - - - - - Default constructor. - - - - - Not used. - - - - - Sets the current position of the stream to the given value. This method always throws a NotSupportedException. - - This parameter is not used. - This parameter is not used. - - - - - Sets the length of the stream. This method always throws a NotSupportedException. - - This parameter is not used. - - - - Reads data from the stream. This method always throws a NotSupportedException. - - This parameter is not used. - This parameter is not used. - This parameter is not used. - - - - - Writes data to the stream. - - An array of type Byte that contains the data to write to the stream. - The location in buffer from which to start writing data. - The number of bytes to write to the stream. - - - - Gets a value indicating whether the stream supports reading. This property always returns false. - - - - - Gets a value indicating whether the stream supports seeking. This property always returns false. - - - - - Gets a value that indicates whether the stream supports writing. - - - - - Gets the length of the data available on the stream. This property always throws a NotSupportedException. - - - - - Gets or sets the current position in the stream. This property always throws a NotSupportedException. - - - - - The exception that is thrown when maximum allowed line size has exceeded. - - - + Default coonstructor. @@ -12416,714 +11781,481 @@ This class is wrapper to normal stream, provides most needed stream methods which are missing from normal stream. - + - Default constructor. + This class implements read line operation. - Stream to wrap. - Specifies if SmartStream is owner of stream. - Is raised when stream is null. + This class can be reused on multiple calls of SmartStream.ReadLine method. - + + + Default constructor. + + Line buffer. + Specifies how line-reader behaves when maximum line size exceeded. + Is raised when buffer is null reference. + + + + Destructor. + + + Cleans up any resources being used. - + - Begins line reading. + Starts reading line. - Read line opeartion. If true then this method can complete asynchronously. If false, this method completed always syncronously. + Owner SmartStream. Returns true if read line completed synchronously, false if asynchronous operation pending. - Is raised when op is null reference. + Is raised when stream is null reference. - + - Begins an asynchronous header reading from the source stream. + Is called when asynchronous read buffer buffering has completed. - Stream where to store readed header. - Maximum number of bytes to read. Value 0 means not limited. - Specifies action what is done if maxCount number of bytes has exceeded. - The AsyncCallback delegate that is executed when asynchronous operation completes. - An object that contains any additional user-defined data. - An IAsyncResult that represents the asynchronous call. - Is raised when this object is disposed and this method is accessed. - Is raised when storeStream is null reference. - Is raised when any of the arguments has invalid value. + Exception that occured during async operation. - + - Handles the end of an asynchronous header reading. + Starts/continues line reading. - An IAsyncResult that represents an asynchronous call. - Returns number of bytes stored to storeStream. - Is raised when asyncResult is null reference. - Is raised when invalid asyncResult passed to this method. - Is raised when EndReadLine has already been called for specified asyncResult. - Is raised when source stream has too big line. - Is raised when reading exceeds maxCount specified value. - Is raised when source stream closed before header-terminator reached. + If true then this method can complete asynchronously. If false, this method completed always syncronously. + Returns true if line reading completed. - + - Reads header from stream and stores to the specified storeStream. + Sets specified field values. - Stream where to store readed header. - Maximum number of bytes to read. Value 0 means not limited. - Specifies action what is done if maxCount number of bytes has exceeded. - Returns how many bytes readed from source stream. - Is raised when this object is disposed and this method is accessed. - Is raised when storeStream is null. - Is raised when any of the arguments has invalid value. - Is raised when source stream has too big line. - Is raised when reading exceeds maxCount specified value. - Is raised when source stream closed before header-terminator reached. + Number of bytes in buffer. + Exception. - + - Begins period-terminated data reading. + Gets if this object is disposed. - Read period terminated opeartion. - If true then this method can complete asynchronously. If false, this method completed always syncronously. - Returns true if read line completed synchronously, false if asynchronous operation pending. - Is raised when op is null reference. - + - Begins an asynchronous data reading from the source stream. + Gets if asynchronous operation has completed. - Stream where to store readed header. - Number of bytes to read. - The AsyncCallback delegate that is executed when asynchronous operation completes. - An object that contains any additional user-defined data. - An IAsyncResult that represents the asynchronous call. - Is raised when this object is disposed and this method is accessed. - Is raised when storeStream is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Handles the end of an asynchronous data reading. + Gets if operation completed synchronously. - An IAsyncResult that represents an asynchronous call. - Is raised when asyncResult is null reference. - Is raised when invalid asyncResult passed to this method. - Is raised when EndReadToStream has already been called for specified asyncResult. + Is raised when this object is disposed and this property is accessed. - + - Reads specified number of bytes from source stream and writes to the specified stream. + Gets line size exceeded action. - Stream where to store readed data. - Number of bytes to read. - Is raised when this object is disposed and this method is accessed. - Is raised when storeStream is null reference. - Is raised when any of the arguments has invalid value. - + - Reads specified number of bytes from source stream and converts it to string with current encoding. + Gets line buffer. - Number of bytes to read. - Returns readed data as string. - Is raised when this object is disposed and this method is accessed. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Reads all data from source stream and stores to the specified stream. + Gets number of bytes stored in the buffer. Ending line-feed characters included. - Stream where to store readed data. - Is raised when this object is disposed and this method is accessed. - Is raised when stream is null. + Is raised when this object is disposed and this property is accessed. - + - Returns the next available character but does not consume it. + Gets number of line data bytes stored in the buffer. Ending line-feed characters not included. - An integer representing the next character to be read, or -1 if no more characters are available. - Is raised when this object is disposed and this method is accessed. + Is raised when this object is disposed and this property is accessed. - + - Writes specified string data to stream. + Gets line as ASCII string. Returns null if EOS(end of stream) reached. Ending line-feed characters not included. - Data to write. - Is raised when this object is disposed and this method is accessed. - Is raised when data is null. + Is raised when this object is disposed and this property is accessed. - + - Writes specified line to stream. If CRLF is missing, it will be added automatically to line data. + Gets line as UTF-8 string. Returns null if EOS(end of stream) reached. Ending line-feed characters not included. - Line to send. - Is raised when this object is disposed and this method is accessed. - Is raised when line is null. - Returns number of raw bytes written. + Is raised when this object is disposed and this property is accessed. - + - Writes all source stream data to stream. + Gets line as UTF-32 string. Returns null if EOS(end of stream) reached. Ending line-feed characters not included. - Stream which data to write. - Is raised when this object is disposed and this method is accessed. - Is raised when stream is null. + Is raised when this object is disposed and this property is accessed. - + - Writes specified number of bytes from source stream to stream. + Gets error occured during asynchronous operation. Value null means no error. - Stream which data to write. - Number of bytes to write. - Is raised when this object is disposed and this method is accessed. - Is raised when stream is null. - Is raised when count argument has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Starts writing stream data to this stream. + Is raised when asynchronous operation has completed. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when op is null reference. - + - Writes period handled and terminated data to this stream. + Raises Completed event. - Source stream. Reading starts from stream current location. - Returns number of bytes written to stream. - Is raised when this object is disposed and this method is accessed. - Is raised when stream is null. - Is raised when stream has too big line. - + - Starts writing period handled and terminated data to this stream. + This class implements read period-terminated operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when op is null reference. - + - Reads header from source stream and writes it to stream. + Default constructor. - Stream from where to read header. - Is raised when this object is disposed and this method is accessed. - Is raised when stream is null. + Stream wehre to sore readed data. + Maximum number of bytes to read. Value 0 means not limited. + Specifies how period-terminated reader behaves when maxCount exceeded. + Is raised when stream is null reference. - + - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + Destructor. - Is raised when this object is disposed and this method is accessed. - + - Sets the position within the current stream. + Cleans up any resources being used. - A byte offset relative to the origin parameter. - A value of type SeekOrigin indicating the reference point used to obtain the new position. - The new position within the current stream. - Is raised when this object is disposed and this method is accessed. - + - Sets the length of the current stream. + Starts period-terminated data reading. - The desired length of the current stream in bytes. - Is raised when this object is disposed and this method is accessed. + Owner SmartStream. + Returns true if read line completed synchronously, false if asynchronous operation pending. + Is raised when stream is null reference. - + - Begins an asynchronous read operation. + Is called when asynchronous line reading has completed. - The buffer to read the data into. - The byte offset in buffer at which to begin writing data read from the stream. - The maximum number of bytes to read. - An optional asynchronous callback, to be called when the read is complete. - A user-provided object that distinguishes this particular asynchronous read request from other requests. - An IAsyncResult that represents the asynchronous read, which could still be pending. - Is raised when this object is disposed and this method is accessed. - Is raised when buffer is null reference. - Is raised when any of the arguments has out of valid range. + Sender. + Event data. - + - Handles the end of an asynchronous data reading. + Continues period-terminated reading. - The reference to the pending asynchronous request to finish. - The total number of bytes read into the buffer. This can be less than the number of bytes requested - if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - Is raised when asyncResult is null reference. + Returns true if read line completed synchronously, false if asynchronous operation pending. - + - Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + Processes readed line. - An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. - The zero-based byte offset in buffer at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - Is raised when this object is disposed and this method is accessed. - Is raised when buffer is null reference. - Is raised when any of the arguments has out of valid range. - - - - Begins an asynchronous write operation. - - The buffer to write data from. - The byte offset in buffer from which to begin writing. - The maximum number of bytes to write. - An optional asynchronous callback, to be called when the write is complete. - A user-provided object that distinguishes this particular asynchronous write request from other requests. - An IAsyncResult that represents the asynchronous write, which could still be pending. - - - - Ends an asynchronous write operation. - - A reference to the outstanding asynchronous I/O request. - - - - Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. - - An array of bytes. This method copies count bytes from buffer to the current stream. - The zero-based byte offset in buffer at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - Is raised when this object is disposed and this method is accessed. - - - - Begins buffering read-buffer. - - If true then this method can complete asynchronously. If false, this method completed always syncronously. - The callback that is executed when asynchronous operation completes. - If operation completes synchronously, no callback called. - - Returns true if the I/O operation is pending. The BufferReadAsyncEventArgs.Completed event on the context parameter will be raised upon completion of the operation. - Returns false if the I/O operation completed synchronously. The BufferReadAsyncEventArgs.Completed event on the context parameter will not be raised and the context object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. - - Is raised when there is data in read buffer and this method is called. - - - - Begins an asynchronous line reading from the source stream. - - Buffer where to store readed line data. - The location in buffer to begin storing the data. - Maximum number of bytes to read. - Specifies how this method behaves when maximum line size exceeded. - The AsyncCallback delegate that is executed when asynchronous operation completes. - An object that contains any additional user-defined data. - An IAsyncResult that represents the asynchronous call. - Is raised when this object is disposed and this method is accessed. - Is raised when buffer is null reference. - is raised when any of the arguments has invalid value. - - - - Handles the end of an asynchronous line reading. - - An IAsyncResult that represents an asynchronous call. - Returns number of bytes stored to buffer. Returns -1 if no more data, end of stream reached. - Is raised when asyncResult is null reference. - Is raised when invalid asyncResult passed to this method. - Is raised when EndReadLine has already been called for specified asyncResult. - Is raised when maxCount value is exceeded. - - - - Gets this stream underlying stream. - - Is raised when this object is disposed and this property is accessed. - - - - Gets if SmartStream is owner of source stream. This property affects like closing this stream will close SourceStream if IsOwner true. - - Is raised when this object is disposed and this property is accessed. - - - - Gets the last time when data was read or written. - - Is raised when this object is disposed and this property is accessed. + Returns true if read period-terminated operation has completed. - + - Gets how many bytes are readed through this stream. + Gets if this object is disposed. - Is raised when this object is disposed and this property is accessed. - + - Gets how many bytes are written through this stream. + Gets if asynchronous operation has completed. Is raised when this object is disposed and this property is accessed. - + - Gets number of bytes in read buffer. + Gets if operation completed synchronously. Is raised when this object is disposed and this property is accessed. - + - Gets or sets string related methods default encoding. + Gets stream where period terminated data has stored. - Is raised when this object is disposed and this property is accessed. - Is raised when null value is passed. - + - Gets a value indicating whether the current stream supports reading. + Gets number of bytes stored to Stream stream. Is raised when this object is disposed and this property is accessed. - + - Gets a value indicating whether the current stream supports seeking. + Gets number of lines stored to Stream stream. Is raised when this object is disposed and this property is accessed. - + - Gets a value indicating whether the current stream supports writing. + Gets error occured during asynchronous operation. Value null means no error. Is raised when this object is disposed and this property is accessed. - + - Gets the length in bytes of the stream. + Is raised when asynchronous operation has completed. - Is raised when this object is disposed and this property is accessed. - + - Gets or sets the position within the current stream. + Raises Completed event. - Is raised when this object is disposed and this property is accessed. - + - This class implements read line operation. + This class implements asynchronous read buffering. - This class can be reused on multiple calls of SmartStream.ReadLine method. - + Default constructor. - Line buffer. - Specifies how line-reader behaves when maximum line size exceeded. - Is raised when buffer is null reference. + Owner stream. + Is raised when owner is null reference. - + Destructor. - + Cleans up any resources being used. - - - Starts reading line. - - If true then this method can complete asynchronously. If false, this method completed always syncronously. - Owner SmartStream. - Returns true if read line completed synchronously, false if asynchronous operation pending. - Is raised when stream is null reference. - - - - Is called when asynchronous read buffer buffering has completed. - - Exception that occured during async operation. - - + - Starts/continues line reading. + Starts asynchronous operation. If true then this method can complete asynchronously. If false, this method completed always syncronously. - Returns true if line reading completed. - - - - Sets specified field values. - - Number of bytes in buffer. - Exception. + Buffer where to store readed data. + Maximum number of bytes to read. + Is raised when this object is disposed and this method is accessed. + Is raised when buffer is null reference. + Is raised when any of the arguments has invalid value. + Returns true if operation completed synchronously, false if asynchronous operation pending. - + - Raises Completed event. + Releases all events attached to this class. - + Gets if this object is disposed. - + Gets if asynchronous operation has completed. Is raised when this object is disposed and this property is accessed. - + Gets if operation completed synchronously. Is raised when this object is disposed and this property is accessed. - - - Gets line size exceeded action. - - - + - Gets line buffer. + Gets read buffer. Is raised when this object is disposed and this property is accessed. - + - Gets number of bytes stored in the buffer. Ending line-feed characters included. + Gets number of bytes stored in read buffer. Is raised when this object is disposed and this property is accessed. - + - Gets number of line data bytes stored in the buffer. Ending line-feed characters not included. + Gets error occured during asynchronous operation. Value null means no error. Is raised when this object is disposed and this property is accessed. - + - Gets line as ASCII string. Returns null if EOS(end of stream) reached. Ending line-feed characters not included. + Is raised when asynchronous operation has completed. - Is raised when this object is disposed and this property is accessed. - + - Gets line as UTF-8 string. Returns null if EOS(end of stream) reached. Ending line-feed characters not included. + Raises Completed event. - Is raised when this object is disposed and this property is accessed. - + - Gets line as UTF-32 string. Returns null if EOS(end of stream) reached. Ending line-feed characters not included. + Default constructor. - Is raised when this object is disposed and this property is accessed. + Stream to wrap. + Specifies if SmartStream is owner of stream. + Is raised when stream is null. - + - Gets error occured during asynchronous operation. Value null means no error. + Cleans up any resources being used. - Is raised when this object is disposed and this property is accessed. - + - Is raised when asynchronous operation has completed. + Begins line reading. + Read line opeartion. + If true then this method can complete asynchronously. If false, this method completed always syncronously. + Returns true if read line completed synchronously, false if asynchronous operation pending. + Is raised when op is null reference. - + - This class implements read period-terminated operation. + Begins an asynchronous header reading from the source stream. + Stream where to store readed header. + Maximum number of bytes to read. Value 0 means not limited. + Specifies action what is done if maxCount number of bytes has exceeded. + The AsyncCallback delegate that is executed when asynchronous operation completes. + An object that contains any additional user-defined data. + An IAsyncResult that represents the asynchronous call. + Is raised when this object is disposed and this method is accessed. + Is raised when storeStream is null reference. + Is raised when any of the arguments has invalid value. - + - Default constructor. + Handles the end of an asynchronous header reading. - Stream wehre to sore readed data. - Maximum number of bytes to read. Value 0 means not limited. - Specifies how period-terminated reader behaves when maxCount exceeded. - Is raised when stream is null reference. - - - - Destructor. - - - - - Cleans up any resources being used. - - - - - Starts period-terminated data reading. - - Owner SmartStream. - Returns true if read line completed synchronously, false if asynchronous operation pending. - Is raised when stream is null reference. + An IAsyncResult that represents an asynchronous call. + Returns number of bytes stored to storeStream. + Is raised when asyncResult is null reference. + Is raised when invalid asyncResult passed to this method. + Is raised when EndReadLine has already been called for specified asyncResult. + Is raised when source stream has too big line. + Is raised when reading exceeds maxCount specified value. + Is raised when source stream closed before header-terminator reached. - + - Is called when asynchronous line reading has completed. + Reads header from stream and stores to the specified storeStream. - Sender. - Event data. + Stream where to store readed header. + Maximum number of bytes to read. Value 0 means not limited. + Specifies action what is done if maxCount number of bytes has exceeded. + Returns how many bytes readed from source stream. + Is raised when this object is disposed and this method is accessed. + Is raised when storeStream is null. + Is raised when any of the arguments has invalid value. + Is raised when source stream has too big line. + Is raised when reading exceeds maxCount specified value. + Is raised when source stream closed before header-terminator reached. - + - Continues period-terminated reading. + Begins period-terminated data reading. + Read period terminated opeartion. + If true then this method can complete asynchronously. If false, this method completed always syncronously. Returns true if read line completed synchronously, false if asynchronous operation pending. + Is raised when op is null reference. - - - Processes readed line. - - Returns true if read period-terminated operation has completed. - - - - Raises Completed event. - - - - - Gets if this object is disposed. - - - - - Gets if asynchronous operation has completed. - - Is raised when this object is disposed and this property is accessed. - - - - Gets if operation completed synchronously. - - Is raised when this object is disposed and this property is accessed. - - - - Gets stream where period terminated data has stored. - - - - - Gets number of bytes stored to Stream stream. - - Is raised when this object is disposed and this property is accessed. - - - - Gets number of lines stored to Stream stream. - - Is raised when this object is disposed and this property is accessed. - - - - Gets error occured during asynchronous operation. Value null means no error. - - Is raised when this object is disposed and this property is accessed. - - - - Is raised when asynchronous operation has completed. - - - - - This class implements asynchronous read buffering. - - - - - Default constructor. - - Owner stream. - Is raised when owner is null reference. - - - - Destructor. - - - - - Cleans up any resources being used. - - - + - Starts asynchronous operation. + Begins an asynchronous data reading from the source stream. - If true then this method can complete asynchronously. If false, this method completed always syncronously. - Buffer where to store readed data. - Maximum number of bytes to read. + Stream where to store readed header. + Number of bytes to read. + The AsyncCallback delegate that is executed when asynchronous operation completes. + An object that contains any additional user-defined data. + An IAsyncResult that represents the asynchronous call. Is raised when this object is disposed and this method is accessed. - Is raised when buffer is null reference. + Is raised when storeStream is null reference. Is raised when any of the arguments has invalid value. - Returns true if operation completed synchronously, false if asynchronous operation pending. - + - Releases all events attached to this class. + Handles the end of an asynchronous data reading. + An IAsyncResult that represents an asynchronous call. + Is raised when asyncResult is null reference. + Is raised when invalid asyncResult passed to this method. + Is raised when EndReadToStream has already been called for specified asyncResult. - + - Raises Completed event. + Reads specified number of bytes from source stream and writes to the specified stream. + Stream where to store readed data. + Number of bytes to read. + Is raised when this object is disposed and this method is accessed. + Is raised when storeStream is null reference. + Is raised when any of the arguments has invalid value. - + - Gets if this object is disposed. + Reads specified number of bytes from source stream and converts it to string with current encoding. + Number of bytes to read. + Returns readed data as string. + Is raised when this object is disposed and this method is accessed. + Is raised when any of the arguments has invalid value. - + - Gets if asynchronous operation has completed. + Reads all data from source stream and stores to the specified stream. - Is raised when this object is disposed and this property is accessed. + Stream where to store readed data. + Is raised when this object is disposed and this method is accessed. + Is raised when stream is null. - + - Gets if operation completed synchronously. + Returns the next available character but does not consume it. - Is raised when this object is disposed and this property is accessed. + An integer representing the next character to be read, or -1 if no more characters are available. + Is raised when this object is disposed and this method is accessed. - + - Gets read buffer. + Writes specified string data to stream. - Is raised when this object is disposed and this property is accessed. + Data to write. + Is raised when this object is disposed and this method is accessed. + Is raised when data is null. - + - Gets number of bytes stored in read buffer. + Writes specified line to stream. If CRLF is missing, it will be added automatically to line data. - Is raised when this object is disposed and this property is accessed. + Line to send. + Is raised when this object is disposed and this method is accessed. + Is raised when line is null. + Returns number of raw bytes written. - + - Gets error occured during asynchronous operation. Value null means no error. + Writes all source stream data to stream. - Is raised when this object is disposed and this property is accessed. + Stream which data to write. + Is raised when this object is disposed and this method is accessed. + Is raised when stream is null. - + - Is raised when asynchronous operation has completed. + Writes specified number of bytes from source stream to stream. + Stream which data to write. + Number of bytes to write. + Is raised when this object is disposed and this method is accessed. + Is raised when stream is null. + Is raised when count argument has invalid value. @@ -13169,11 +12301,6 @@ Asynchronous result. Retruns true if this method completed asynchronously, otherwise false. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -13198,6 +12325,31 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts writing stream data to this stream. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when op is null reference. + + + + Writes period handled and terminated data to this stream. + + Source stream. Reading starts from stream current location. + Returns number of bytes written to stream. + Is raised when this object is disposed and this method is accessed. + Is raised when stream is null. + Is raised when stream has too big line. + This class represents asynchronous operation. @@ -13247,11 +12399,6 @@ Asynchronous result. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -13276,7 +12423,199 @@ Is called when asynchronous operation has completed. - + + + Raises CompletedAsync event. + + + + + Starts writing period handled and terminated data to this stream. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when op is null reference. + + + + Reads header from source stream and writes it to stream. + + Stream from where to read header. + Is raised when this object is disposed and this method is accessed. + Is raised when stream is null. + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + Is raised when this object is disposed and this method is accessed. + + + + Sets the position within the current stream. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference point used to obtain the new position. + The new position within the current stream. + Is raised when this object is disposed and this method is accessed. + + + + Sets the length of the current stream. + + The desired length of the current stream in bytes. + Is raised when this object is disposed and this method is accessed. + + + + Begins an asynchronous read operation. + + The buffer to read the data into. + The byte offset in buffer at which to begin writing data read from the stream. + The maximum number of bytes to read. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + An IAsyncResult that represents the asynchronous read, which could still be pending. + Is raised when this object is disposed and this method is accessed. + Is raised when buffer is null reference. + Is raised when any of the arguments has out of valid range. + + + + Handles the end of an asynchronous data reading. + + The reference to the pending asynchronous request to finish. + The total number of bytes read into the buffer. This can be less than the number of bytes requested + if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + Is raised when asyncResult is null reference. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + Is raised when this object is disposed and this method is accessed. + Is raised when buffer is null reference. + Is raised when any of the arguments has out of valid range. + + + + Begins an asynchronous write operation. + + The buffer to write data from. + The byte offset in buffer from which to begin writing. + The maximum number of bytes to write. + An optional asynchronous callback, to be called when the write is complete. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + An IAsyncResult that represents the asynchronous write, which could still be pending. + + + + Ends an asynchronous write operation. + + A reference to the outstanding asynchronous I/O request. + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + Is raised when this object is disposed and this method is accessed. + + + + Begins buffering read-buffer. + + If true then this method can complete asynchronously. If false, this method completed always syncronously. + The callback that is executed when asynchronous operation completes. + If operation completes synchronously, no callback called. + + Returns true if the I/O operation is pending. The BufferReadAsyncEventArgs.Completed event on the context parameter will be raised upon completion of the operation. + Returns false if the I/O operation completed synchronously. The BufferReadAsyncEventArgs.Completed event on the context parameter will not be raised and the context object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation. + + Is raised when there is data in read buffer and this method is called. + + + + Gets this stream underlying stream. + + Is raised when this object is disposed and this property is accessed. + + + + Gets if SmartStream is owner of source stream. This property affects like closing this stream will close SourceStream if IsOwner true. + + Is raised when this object is disposed and this property is accessed. + + + + Gets the last time when data was read or written. + + Is raised when this object is disposed and this property is accessed. + + + + Gets how many bytes are readed through this stream. + + Is raised when this object is disposed and this property is accessed. + + + + Gets how many bytes are written through this stream. + + Is raised when this object is disposed and this property is accessed. + + + + Gets number of bytes in read buffer. + + Is raised when this object is disposed and this property is accessed. + + + + Gets or sets string related methods default encoding. + + Is raised when this object is disposed and this property is accessed. + Is raised when null value is passed. + + + + Gets a value indicating whether the current stream supports reading. + + Is raised when this object is disposed and this property is accessed. + + + + Gets a value indicating whether the current stream supports seeking. + + Is raised when this object is disposed and this property is accessed. + + + + Gets a value indicating whether the current stream supports writing. + + Is raised when this object is disposed and this property is accessed. + + + + Gets the length in bytes of the stream. + + Is raised when this object is disposed and this property is accessed. + + + + Gets or sets the position within the current stream. + + Is raised when this object is disposed and this property is accessed. + + This class implements asynchronous line reading. @@ -13555,6 +12894,32 @@ Gets number of bytes stored in to Buffer. + + + Begins an asynchronous line reading from the source stream. + + Buffer where to store readed line data. + The location in buffer to begin storing the data. + Maximum number of bytes to read. + Specifies how this method behaves when maximum line size exceeded. + The AsyncCallback delegate that is executed when asynchronous operation completes. + An object that contains any additional user-defined data. + An IAsyncResult that represents the asynchronous call. + Is raised when this object is disposed and this method is accessed. + Is raised when buffer is null reference. + is raised when any of the arguments has invalid value. + + + + Handles the end of an asynchronous line reading. + + An IAsyncResult that represents an asynchronous call. + Returns number of bytes stored to buffer. Returns -1 if no more data, end of stream reached. + Is raised when asyncResult is null reference. + Is raised when invalid asyncResult passed to this method. + Is raised when EndReadLine has already been called for specified asyncResult. + Is raised when maxCount value is exceeded. + This class represent generic address-list header fields. For example: To header. @@ -13568,101 +12933,39 @@ - - - This is base class for MIME header fields. Defined in RFC 2045 3. - - - + Default constructor. + Header field name. For example: "To". + Addresses collection. + Is raised when filedName or values is null reference. + Is raised when any of the arguments has invalid value. - + - Returns header field as string. + Parses header field from the specified value. - Returns header field as string. + Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. + Returns parsed header field. + Is raised when value is null reference. + Is raised when header field parsing errors. - + Returns header field as string. 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If encoding needed, UTF-8 is strongly reccomended if not sure. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If true always specified encoding is used. If false and header field value not modified, original encoding is kept. Returns header field as string. - + - Returns header field as string. + Gets if this header field is modified since it has loaded. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If encoding needed, UTF-8 is strongly reccomended if not sure. - If true always specified encoding is used. If false and header field value not modified, original encoding is kept. - Returns header field as string. - - - - Returns header field value as string. - - Returns header field value as string. - - - - Returns header field value as string. - - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If encoding needed, UTF-8 is strongly reccomended if not sure. - Returns header field value as string. - - - - Gets if this header field is modified since it has loaded. - - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. - - - - Gets header field name. For example "Content-Type". - - - - - Default constructor. - - Header field name. For example: "To". - Addresses collection. - Is raised when filedName or values is null reference. - Is raised when any of the arguments has invalid value. - - - - Parses header field from the specified value. - - Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. - Returns parsed header field. - Is raised when value is null reference. - Is raised when header field parsing errors. - - - - Returns header field as string. - - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If true always specified encoding is used. If false and header field value not modified, original encoding is kept. - Returns header field as string. - - - - Gets if this header field is modified since it has loaded. - - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. @@ -14020,759 +13323,641 @@ This class represent electronic mail message. Defined in RFC 5322. - - - Represents a MIME message. Defined in RFC 2045 2.3. - - - + - Represents a MIME entity. Defined in RFC 2045 2.4. + Default constructor. - + - Default constructor. + Parses mail message from the specified byte array. + Mail message data. + Returns parsed mail message. + Is raised when data is null reference. - + - Cleans up any resources being used. This method is thread-safe. + Parses mail message from the specified byte array. + Mail message data. + Header reading encoding. If not sure UTF-8 is recommended. + Returns parsed mail message. + Is raised when data or headerEncoding is null reference. - + - Stores MIME entity to the specified file. + Parses mail message from the specified file. - File name with path where to store MIME entity. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + File name with path from where to parse mail message. + Returns parsed mail message. Is raised when file is null. Is raised when any of the arguments has invalid value. - + - Stores MIME entity to the specified file. + Parses mail message from the specified file. - File name with path where to store MIME entity. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when file is null. + File name with path from where to parse mail message. + Header reading encoding. If not sure UTF-8 is recommended. + Returns parsed mail message. + Is raised when file or headerEncoding is null. Is raised when any of the arguments has invalid value. - + - Store MIME enity to the specified stream. + Parses mail message from the specified stream. - Stream where to store MIME entity. Storing starts form stream current position. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Stream from where to parse mail message. Parsing starts from current stream position. + Returns parsed mail message. Is raised when stream is null. - + - Store MIME enity to the specified stream. + Parses mail message from the specified stream. - Stream where to store MIME entity. Storing starts form stream current position. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null. + Stream from where to parse mail message. Parsing starts from current stream position. + Header reading encoding. If not sure UTF-8 is recommended. + Returns parsed mail message. + Is raised when stream or headerEncoding is null. - + - Returns MIME entity as string. + Clones mail message. - Returns MIME entity as string. + Returns cloned message. + Is raised when this object is disposed and this method is accessed. - + - Returns MIME entity as string. + Gets this message attachments. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - Returns MIME entity as string. + Specifies if 'inline' entities are included. + Specifies if embed RFC822 message child entities are included. + Returns this message attachments. + Is raised when this object is disposed and this method is accessed. - + - Returns MIME entity as string. + Gets or sets message date and time. Value DateTime.MinValue means not specified. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Returns MIME entity as string. + Specifies the date and time at which the creator of the message indicated that the + message was complete and ready to enter the mail delivery system. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Returns MIME entity as byte[]. + Gets or sets message author(s). Value null means not specified. - Header 8-bit words encoder. Value null means that words are not encoded. - Char set to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Returns MIME entity as byte[]. + Specifies the author(s) of the message; that is, the mailbox(es) of the person(s) or + system(s) responsible for the writing of the message. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Parses MIME entiry from the specified stream. + Gets or sets message sender. Value null means not specified. - Source stream. - Header reading encoding. If not sure UTF-8 is recommended. - Default content type. - Is raised when stream,headerEncoding or defaultContentType is null reference. + Specifies the mailbox of the agent responsible for the actual transmission of the message. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Sets MIME entity parent entity. + Gets or sets mailbox for replies to message. Value null means not specified. - Parent entity. + When the "Reply-To:" field is present, it indicates the mailbox(es) to which the author of + the message suggests that replies be sent. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Gets if this object is disposed. + Gets or sets message primary recipient(s). Value null means not specified. + Contains the address(es) of the primary recipient(s) of the message. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Gets if this entity is modified since it has loaded. + Gets or sets carbon-copy recipient mailbox. Value null means not specified. - Is riased when this class is disposed and this property is accessed. + Contains the addresses of others who are to receive the message, though the content of the message may not be directed at them. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Gets the parent entity of this entity, returns null if this is the root entity. + Gets or sets blind-carbon-copy recipient mailbox. Value null means not specified. + Contains addresses of recipients of the message whose addresses are not to be revealed to other recipients of the message. Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Gets MIME entity header field collection. + Gets or sets message identifier. Value null means not specified. + Contains a single unique message identifier that refers to a particular version of a particular message. + If the message is resent without changes, the original Message-ID is retained. Is raised when this object is disposed and this property is accessed. - + - Gets or sets MIME version number. Value null means that header field does not exist. Normally this value is 1.0. Defined in RFC 2045 section 4. + Gets or sets identify replied-to message(s). Value null means not specified. + The message identifier(s) of the original message(s) to which the current message is a reply. Is raised when this object is disposed and this property is accessed. - An indicator that this message is formatted according to the MIME - standard, and an indication of which version of MIME is used. - + - Gets or sets content body part ID. Value null means that header field does not exist. Defined in RFC 2045 7. + Gets or sets related message identifier(s). Value null means not specified. + The message identifier(s) of other message(s) to which the current message may be related. + In RFC 2822, the definition was changed to say that this header field contains a list of all Message-IDs + of messages in the preceding reply chain. Is raised when this object is disposed and this property is accessed. - Specifies a Unique ID for one MIME body part of the content of a message. - + - Gets or sets description of message body part. Value null means that header field does not exist. Defined in RFC 2045 8. + Gets or sets topic of message. Value null means not specified. + Contains a short string identifying the topic of the message. Is raised when this object is disposed and this property is accessed. - Description of a particular body part of a message; for example, a caption for an image body part. - + - Gets or sets content transfer encoding. Value null means that header field does not exist. - RFC defined values are in MIME_TransferEncodings. Defined in RFC 2045 6. + Gets or sets additional comments about the message. Value null means not specified. + Contains any additional comments on the text of the body of the message. + Warning: Some mailers will not show this field to recipients. Is raised when this object is disposed and this property is accessed. - Coding method used in a MIME message body part. - + - Gets or sets MIME content type. Value null means that header field does not exist. Defined in RFC 2045 5. + Gets or sets message key words and/or phrases. Value null means not specified. + Contains a comma-separated list of important words and phrases that might be useful for the recipient. Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets base to be used for resolving relative URIs within this content part. Value null means that header field does not exist. + Gets or sets date and time message is resent. Value DateTime.MinValue means not specified. + Contains the date and time that a message is reintroduced into the message transfer system. Is raised when this object is disposed and this property is accessed. - Base to be used for resolving relative URIs within this content part. See also Content-Location. + Is raised when header field parsing errors. - + - Gets or sets URI for retrieving a body part. Value null means that header field does not exist. + Gets or sets mailbox of person for whom message is resent. Value null means not specified. + Contains the mailbox of the agent who has reintroduced the message into + the message transfer system, or on whose behalf the message has been resent. Is raised when this object is disposed and this property is accessed. - URI using which the content of this body-part part was retrieved, - might be retrievable, or which otherwise gives a globally unique identification of the content. + Is raised when header field parsing errors. - + - Gets or sets content features of a MIME body part. Value null means that header field does not exist. + Gets or sets mailbox of person who actually resends the message. Value null means not specified. + Contains the mailbox of the agent who has reintroduced the message into + the message transfer system, if this is different from the Resent-From value. Is raised when this object is disposed and this property is accessed. - The 'Content-features:' header can be used to annotate a MIME body part with a media feature expression, - to indicate features of the body part content. See also RFC 2533, RFC 2506, and RFC 2045. + Is raised when header field parsing errors. - + - Gets or sets content disposition. Value null means that header field does not exist. + Gets or sets mailbox to which message is resent. Value null means not specified. + Contains the mailbox(es) to which the message has been resent. Is raised when this object is disposed and this property is accessed. - Indicates whether a MIME body part is to be shown inline or is an attachment; can also indicate a - suggested filename for use when saving an attachment to a file. Is raised when header field parsing errors. - + - Gets or sets language of message content. Value null means that header field does not exist. + Gets or sets mailbox(es) to which message is cc'ed on resend. Value null means not specified. + Contains the mailbox(es) to which message is cc'ed on resend. Is raised when this object is disposed and this property is accessed. - Can include a code for the natural language used in a message; e.g., 'en' for English. - Can also contain a list of languages for a message containing more than one language. + Is raised when header field parsing errors. - + - Gets or sets message alternative content. Value null means that header field does not exist. + Gets or sets mailbox(es) to which message is bcc'ed on resend. Value null means not specified. + Contains the mailbox(es) to which message is bcc'ed on resend. Is raised when this object is disposed and this property is accessed. - Information about the media features of alternative content formats available for the current message. + Is raised when header field parsing errors. - + - Gets or sets content MD5 checksum. Value null means that header field does not exist. + Gets or sets resent reply-to. Value null means not specified. Is raised when this object is disposed and this property is accessed. - Checksum of content to ensure that it has not been modified. + Is raised when header field parsing errors. - + - Gets or sets time duration of content. Value null means that header field does not exist. + Gets or sets message identifier for resent message. Value null means not specified. Is raised when this object is disposed and this property is accessed. - Time duration of body part content, in seconds (e.g., for audio message). - + - Gets or sets MIME entity body. + Gets or sets message return path. Value null means not specified. - Is raised when null reference passed. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Default constructor. + Gets mail transfer trace information. Value null means not specified. + Contains information about receipt of the current message by a mail transfer agent on the transfer path. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Parses MIME message from the specified file. + Gets or sets mailboxes where to send disposition notification message. Value null means not specified. - File name with path from where to parse MIME message. - Returns parsed MIME message. - Is raised when file is null. - Is raised when any of the arguments has invalid value. + Indicates that the sender wants a disposition notification when this message + is received (read, processed, etc.) by its recipients. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Parses MIME message from the specified file. + Gets or sets disposition notification options. Value null means not specified. - File name with path from where to parse MIME message. - Header reading encoding. If not sure UTF-8 is recommended. - Returns parsed MIME message. - Is raised when file or headerEncoding is null. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Parses MIME message from the specified stream. + Gets or sets language that the message sender requests to be used for responses. Value null means not specified. - Stream from where to parse MIME message. Parsing starts from current stream position. - Returns parsed MIME message. - Is raised when stream is null. + + Indicates a language that the message sender requests to be used for responses. + + Is raised when this object is disposed and this property is accessed. - + - Parses MIME message from the specified stream. + Gets or sets original message identifier. Value null means not specified. - Stream from where to parse MIME message. Parsing starts from current stream position. - Header reading encoding. If not sure UTF-8 is recommended. - Returns parsed MIME message. - Is raised when stream or headerEncoding is null. + Original message identifier used with resend of message with alternative content format; + identifies the original message data to which it corresponds. + Is raised when this object is disposed and this property is accessed. - + - Creates attachment entity. + Gets or sets PICS rating label. Value null means not specified. - File name with optional path. - Returns created attachment entity. - Is raised when file is null reference. + Ratings label to control selection (filtering) of messages according to the PICS protocol. + Is raised when this object is disposed and this property is accessed. - + - Creates attachment entity. + Gets or sets URL of mailing list archive. Value null means not specified. - Attachment data stream. Data is read from stream current position. - File name. - Returns created attachment entity. - Is raised when stream or fileName is null reference. + Contains the URL to use to browse the archives of the mailing list from which this message was relayed. + Is raised when this object is disposed and this property is accessed. - + - Gets all MIME entities as list. + Gets or sets URL for mailing list information. Value null means not specified. - If true, then embedded RFC822 message child entities are included. - Returns all MIME entities as list. - Is raised when this class is disposed and this method is accessed. + Contains the URL to use to get information about the mailing list from which this message was relayed. + Is raised when this object is disposed and this property is accessed. - + - Gets MIME entity with the specified Content-ID. Returns null if no such entity. + Gets or sets mailing list identifier. Value null means not specified. - Content ID. - Returns MIME entity with the specified Content-ID or null if no such entity. - Is raised when this class is disposed and this method is accessed. - Is raised when cid is null. - Is raised when any of the arguments has invalid value. + Stores an identification of the mailing list through which this message was distributed. + Is raised when this object is disposed and this property is accessed. - + - Gets all MIME entities as list. + Gets or sets URL for mailing list owner's mailbox. Value null means not specified. - Is raised when this class is disposed and this property is accessed. - The nestetd entities of embbed messages with Content-Type: Message/Rfc822 are also included. + Contains the URL to send e-mail to the owner of the mailing list from which this message was relayed. + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Gets or sets URL for mailing list posting. Value null means not specified. + Contains the URL to use to send contributions to the mailing list from which this message was relayed. + Is raised when this object is disposed and this property is accessed. - + - Parses mail message from the specified byte array. + Gets or sets URL for mailing list subscription. Value null means not specified. - Mail message data. - Returns parsed mail message. - Is raised when data is null reference. + Contains the URL to use to get a subscription to the mailing list from which this message was relayed. + Is raised when this object is disposed and this property is accessed. - + - Parses mail message from the specified byte array. + Gets or sets URL for mailing list unsubscription. Value null means not specified. - Mail message data. - Header reading encoding. If not sure UTF-8 is recommended. - Returns parsed mail message. - Is raised when data or headerEncoding is null reference. + Contains the URL to use to unsubscribe the mailing list from which this message was relayed. + Is raised when this object is disposed and this property is accessed. - + - Parses mail message from the specified file. + Gets or sets type or context of message. Value null means not specified. - File name with path from where to parse mail message. - Returns parsed mail message. - Is raised when file is null. - Is raised when any of the arguments has invalid value. + Provides information about the context and presentation characteristics of a message. + Can have the values 'voice-message', 'fax-message', 'pager-message', 'multimedia-message', 'text-message', or 'none'. + Is raised when this object is disposed and this property is accessed. - + - Parses mail message from the specified file. + Gets or sets message importance. Value null means not specified. - File name with path from where to parse mail message. - Header reading encoding. If not sure UTF-8 is recommended. - Returns parsed mail message. - Is raised when file or headerEncoding is null. - Is raised when any of the arguments has invalid value. + A hint from the originator to the recipients about how important a message is. + Values: High, normal, or low. Not used to control transmission speed. + Is raised when this object is disposed and this property is accessed. - + - Parses mail message from the specified stream. + Gets or sets message priority. Value null means not specified. - Stream from where to parse mail message. Parsing starts from current stream position. - Returns parsed mail message. - Is raised when stream is null. + Can be 'normal', 'urgent', or 'non-urgent' and can influence transmission speed and delivery. + Is raised when this object is disposed and this property is accessed. - + - Parses mail message from the specified stream. + Gets this message attachments. - Stream from where to parse mail message. Parsing starts from current stream position. - Header reading encoding. If not sure UTF-8 is recommended. - Returns parsed mail message. - Is raised when stream or headerEncoding is null. + Is raised when this object is disposed and this property is accessed. - + - Clones mail message. + Gets message body text. Returns null if no body text available. - Returns cloned message. - Is raised when this object is disposed and this method is accessed. + Is raised when this object is disposed and this property is accessed. - + - Gets this message attachments. + Gets message body html text. Returns null if no body html text available. - Specifies if 'inline' entities are included. - Specifies if embed RFC822 message child entities are included. - Returns this message attachments. - Is raised when this object is disposed and this method is accessed. + Is raised when this object is disposed and this property is accessed. - + - Gets or sets message date and time. Value DateTime.MinValue means not specified. + This class represents RFC 5322 3.4 Address class. + This class is base class for mailbox address and group address. - Specifies the date and time at which the creator of the message indicated that the - message was complete and ready to enter the mail delivery system. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets message author(s). Value null means not specified. + Default constructor. - Specifies the author(s) of the message; that is, the mailbox(es) of the person(s) or - system(s) responsible for the writing of the message. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets message sender. Value null means not specified. + Returns address as string value. - Specifies the mailbox of the agent responsible for the actual transmission of the message. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + 8-bit words ecnoder. Value null means that words are not encoded. + Returns address as string value. - + - Gets or sets mailbox for replies to message. Value null means not specified. + This class represents address-list. Defined in RFC 5322 3.4. - When the "Reply-To:" field is present, it indicates the mailbox(es) to which the author of - the message suggests that replies be sent. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + + + RFC 5322. + address-list = (address *("," address)) + address = mailbox / group + + - + - Gets or sets message primary recipient(s). Value null means not specified. + Default constructor. - Contains the address(es) of the primary recipient(s) of the message. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets carbon-copy recipient mailbox. Value null means not specified. + Parses address-list from specified string value. - Contains the addresses of others who are to receive the message, though the content of the message may not be directed at them. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + The address-list string value. + + Is raised when value is null reference. + Is raised when value is not valid address-list value. - + - Gets or sets blind-carbon-copy recipient mailbox. Value null means not specified. + Inserts a address into the collection at the specified location. - Contains addresses of recipients of the message whose addresses are not to be revealed to other recipients of the message. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + The location in the collection where you want to add the item. + Address to insert. + Is raised when index is out of range. + Is raised when value is null reference. - + - Gets or sets message identifier. Value null means not specified. + Adds specified address to the end of the collection. - Contains a single unique message identifier that refers to a particular version of a particular message. - If the message is resent without changes, the original Message-ID is retained. - Is raised when this object is disposed and this property is accessed. + Address to add. + Is raised when value is null reference value. - + - Gets or sets identify replied-to message(s). Value null means not specified. + Removes specified item from the collection. - The message identifier(s) of the original message(s) to which the current message is a reply. - Is raised when this object is disposed and this property is accessed. + Address to remove. + Is raised when value is null reference value. - + - Gets or sets related message identifier(s). Value null means not specified. + Removes all items from the collection. - The message identifier(s) of other message(s) to which the current message may be related. - In RFC 2822, the definition was changed to say that this header field contains a list of all Message-IDs - of messages in the preceding reply chain. - Is raised when this object is disposed and this property is accessed. - + - Gets or sets topic of message. Value null means not specified. + Returns the Mail_t_AddressList as a IList - Contains a short string identifying the topic of the message. - Is raised when this object is disposed and this property is accessed. + - + - Gets or sets additional comments about the message. Value null means not specified. + Copies addresses to new array. - Contains any additional comments on the text of the body of the message. - Warning: Some mailers will not show this field to recipients. - Is raised when this object is disposed and this property is accessed. + Returns addresses array. - + - Gets or sets message key words and/or phrases. Value null means not specified. + Returns address-list as string. - Contains a comma-separated list of important words and phrases that might be useful for the recipient. - Is raised when this object is disposed and this property is accessed. + Returns address-list as string. - + - Gets or sets date and time message is resent. Value DateTime.MinValue means not specified. + Resets IsModified property to false. - Contains the date and time that a message is reintroduced into the message transfer system. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets mailbox of person for whom message is resent. Value null means not specified. + Gets enumerator. - Contains the mailbox of the agent who has reintroduced the message into - the message transfer system, or on whose behalf the message has been resent. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + - + - Gets or sets mailbox of person who actually resends the message. Value null means not specified. + Gets if list has modified since it was loaded. - Contains the mailbox of the agent who has reintroduced the message into - the message transfer system, if this is different from the Resent-From value. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets mailbox to which message is resent. Value null means not specified. + Gets number of items in the collection. - Contains the mailbox(es) to which the message has been resent. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets mailbox(es) to which message is cc'ed on resend. Value null means not specified. + Gets the element at the specified index. - Contains the mailbox(es) to which message is cc'ed on resend. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + The zero-based index of the element to get. + Returns the element at the specified index. + Is raised when index is out of range. - + - Gets or sets mailbox(es) to which message is bcc'ed on resend. Value null means not specified. + Gets this address list mailboxes(group address mailboxes + mailboxes). - Contains the mailbox(es) to which message is bcc'ed on resend. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets resent reply-to. Value null means not specified. + This class represents "group" address. Defined in RFC 5322 3.4. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets message identifier for resent message. Value null means not specified. + Default constructor. - Is raised when this object is disposed and this property is accessed. + Display name. Value null means not specified. - + - Gets or sets message return path. Value null means not specified. + Returns mailbox as string. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + Returns mailbox as string. - + - Gets mail transfer trace information. Value null means not specified. + Returns address as string value. - Contains information about receipt of the current message by a mail transfer agent on the transfer path. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. + 8-bit words ecnoder. Value null means that words are not encoded. + Returns address as string value. - + - Gets or sets mailboxes where to send disposition notification message. Value null means not specified. + Gets or sets diplay name. Value null means not specified. - Indicates that the sender wants a disposition notification when this message - is received (read, processed, etc.) by its recipients. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets disposition notification options. Value null means not specified. + Gets groiup address members collection. - Is raised when this object is disposed and this property is accessed. - Is raised when header field parsing errors. - + - Gets or sets language that the message sender requests to be used for responses. Value null means not specified. + This class represents "mailbox" address. Defined in RFC 5322 3.4. - - Indicates a language that the message sender requests to be used for responses. - - Is raised when this object is disposed and this property is accessed. + + + RFC 5322 3.4. + mailbox = name-addr / addr-spec + name-addr = [display-name] angle-addr + angle-addr = [CFWS] "<" addr-spec ">" [CFWS] + addr-spec = local-part "@" domain + + - + - Gets or sets original message identifier. Value null means not specified. + Default constructor. - Original message identifier used with resend of message with alternative content format; - identifies the original message data to which it corresponds. - Is raised when this object is disposed and this property is accessed. + Display name. Value null means not specified. + Email address. + Is raised when address is null reference. - + - Gets or sets PICS rating label. Value null means not specified. + Parses mailbox from specified string value. - Ratings label to control selection (filtering) of messages according to the PICS protocol. - Is raised when this object is disposed and this property is accessed. + The mailbox string value. + Returns parse mailbox. + Is raised when value is null reference. + Is raised when value is not valid mailbox value. - + - Gets or sets URL of mailing list archive. Value null means not specified. + Returns mailbox as string. - Contains the URL to use to browse the archives of the mailing list from which this message was relayed. - Is raised when this object is disposed and this property is accessed. + Returns mailbox as string. - + - Gets or sets URL for mailing list information. Value null means not specified. + Returns address as string value. - Contains the URL to use to get information about the mailing list from which this message was relayed. - Is raised when this object is disposed and this property is accessed. + 8-bit words ecnoder. Value null means that words are not encoded. + Returns address as string value. - + - Gets or sets mailing list identifier. Value null means not specified. + Gets display name. Value null means not specified. - Stores an identification of the mailing list through which this message was distributed. - Is raised when this object is disposed and this property is accessed. - - - Gets or sets URL for mailing list owner's mailbox. Value null means not specified. - - Contains the URL to send e-mail to the owner of the mailing list from which this message was relayed. - Is raised when this object is disposed and this property is accessed. - - - - Gets or sets URL for mailing list posting. Value null means not specified. - - Contains the URL to use to send contributions to the mailing list from which this message was relayed. - Is raised when this object is disposed and this property is accessed. - - - - Gets or sets URL for mailing list subscription. Value null means not specified. - - Contains the URL to use to get a subscription to the mailing list from which this message was relayed. - Is raised when this object is disposed and this property is accessed. - - - - Gets or sets URL for mailing list unsubscription. Value null means not specified. - - Contains the URL to use to unsubscribe the mailing list from which this message was relayed. - Is raised when this object is disposed and this property is accessed. - - - - Gets or sets type or context of message. Value null means not specified. - - Provides information about the context and presentation characteristics of a message. - Can have the values 'voice-message', 'fax-message', 'pager-message', 'multimedia-message', 'text-message', or 'none'. - Is raised when this object is disposed and this property is accessed. - - - - Gets or sets message importance. Value null means not specified. - - A hint from the originator to the recipients about how important a message is. - Values: High, normal, or low. Not used to control transmission speed. - Is raised when this object is disposed and this property is accessed. - - - - Gets or sets message priority. Value null means not specified. - - Can be 'normal', 'urgent', or 'non-urgent' and can influence transmission speed and delivery. - Is raised when this object is disposed and this property is accessed. - - - - Gets this message attachments. - - Is raised when this object is disposed and this property is accessed. - - - - Gets message body text. Returns null if no body text available. - - Is raised when this object is disposed and this property is accessed. - - - - Gets message body html text. Returns null if no body html text available. - - Is raised when this object is disposed and this property is accessed. - - + - This class represents RFC 5322 3.4 Address class. - This class is base class for mailbox address and group address. + Gets address. - + - Default constructor. + Gets local-part of address. - + - Returns address as string value. + Gets domain part of address. - 8-bit words ecnoder. Value null means that words are not encoded. - Returns address as string value. - + - This class represents address-list. Defined in RFC 5322 3.4. + This class represents mailbox-list. Defined in RFC 5322 3.4. RFC 5322. - address-list = (address *("," address)) - address = mailbox / group + mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list - + Default constructor. - + - Parses address-list from specified string value. + Parses mailbox-list from specified string value. - The address-list string value. + The mailbox-list string value. Is raised when value is null reference. - Is raised when value is not valid address-list value. + Is raised when value is not valid mailbox-list value. - + Inserts a address into the collection at the specified location. @@ -14781,65 +13966,65 @@ Is raised when index is out of range. Is raised when value is null reference. - + Adds specified address to the end of the collection. Address to add. Is raised when value is null reference value. - + Removes specified item from the collection. Address to remove. Is raised when value is null reference value. - + Removes all items from the collection. - + - Returns the Mail_t_AddressList as a IList + Returns an IList - + Copies addresses to new array. Returns addresses array. - + Returns address-list as string. Returns address-list as string. - + Resets IsModified property to false. - + Gets enumerator. - + Gets if list has modified since it was loaded. - + Gets number of items in the collection. - + Gets the element at the specified index. @@ -14847,326 +14032,123 @@ Returns the element at the specified index. Is raised when index is out of range. - - - Gets this address list mailboxes(group address mailboxes + mailboxes). - - - + - This class represents "group" address. Defined in RFC 5322 3.4. + Represents Received: header "TCP-info" value. Defined in RFC 5321. 4.4. + + + RFC 5321 4.4. + TCP-info = address-literal / ( Domain FWS address-literal ) + address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]" + + - + Default constructor. - Display name. Value null means not specified. + IP address. + Host name. + Is raised when ip is null reference. - + - Returns mailbox as string. + Returns this as string. - Returns mailbox as string. + Returns this as string. - + - Returns address as string value. + Gets IP address. - 8-bit words ecnoder. Value null means that words are not encoded. - Returns address as string value. - + - Gets or sets diplay name. Value null means not specified. + Gets host value. Value null means not specified. - + - Gets groiup address members collection. + This class provides mail message related utility methods. - + - This class represents "mailbox" address. Defined in RFC 5322 3.4. + Reads SMTP "Mailbox" from the specified MIME reader. - - - RFC 5322 3.4. - mailbox = name-addr / addr-spec - name-addr = [display-name] angle-addr - angle-addr = [CFWS] "<" addr-spec ">" [CFWS] - addr-spec = local-part "@" domain - - + MIME reader. + Returns SMTP "Mailbox" or null if no SMTP mailbox available. + Is raised when reader is null reference. - + - Default constructor. + Common utility methods. - Display name. Value null means not specified. - Email address. - Is raised when address is null reference. - + - Parses mailbox from specified string value. + Gets local host name or argument hostName value if it's specified. - The mailbox string value. - Returns parse mailbox. - Is raised when value is null reference. - Is raised when value is not valid mailbox value. + Host name or null. + Returns local host name or argument hostName value if it's specified. - + - Returns mailbox as string. + Compares if specified array itmes equals. - Returns mailbox as string. + Array 1. + Array 2 + Returns true if both arrays are equal. - + - Returns address as string value. + Compares if specified array itmes equals. - 8-bit words ecnoder. Value null means that words are not encoded. - Returns address as string value. + Array 1. + Array 2 + Number of bytes in array 2 used for compare. + Returns true if both arrays are equal. - + - Gets display name. Value null means not specified. + Reverses the specified array elements. + Array elements to reverse. + Returns array with reversed items. + Is raised when array is null. - + - Gets address. + Convert array elements to string. + String values. + Values delimiter. + Returns array elements as string. - + - Gets local-part of address. + Copies source stream data to target stream. + Source stream. Reading starts from stream current position. + Target stream. Writing starts from stream current position. + Specifies transfer block size in bytes. + Returns number of bytes copied. - + - Gets domain part of address. + Compares 2 IP addresses. Returns 0 if IPs are equal, + returns positive value if destination IP is bigger than source IP, + returns negative value if destination IP is smaller than source IP. + Source IP address. + Destination IP address. + Returns 0 if IPs are equal, + returns positive value if destination IP is bigger than source IP, + returns negative value if destination IP is smaller than source IP. + - - - This class represents mailbox-list. Defined in RFC 5322 3.4. - - - - RFC 5322. - mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list - - - - - - Default constructor. - - - - - Parses mailbox-list from specified string value. - - The mailbox-list string value. - - Is raised when value is null reference. - Is raised when value is not valid mailbox-list value. - - - - Inserts a address into the collection at the specified location. - - The location in the collection where you want to add the item. - Address to insert. - Is raised when index is out of range. - Is raised when value is null reference. - - - - Adds specified address to the end of the collection. - - Address to add. - Is raised when value is null reference value. - - - - Removes specified item from the collection. - - Address to remove. - Is raised when value is null reference value. - - - - Removes all items from the collection. - - - - - Returns an IList - - - - - - Copies addresses to new array. - - Returns addresses array. - - - - Returns address-list as string. - - Returns address-list as string. - - - - Resets IsModified property to false. - - - - - Gets enumerator. - - - - - - Gets if list has modified since it was loaded. - - - - - Gets number of items in the collection. - - - - - Gets the element at the specified index. - - The zero-based index of the element to get. - Returns the element at the specified index. - Is raised when index is out of range. - - - - Represents Received: header "TCP-info" value. Defined in RFC 5321. 4.4. - - - - RFC 5321 4.4. - TCP-info = address-literal / ( Domain FWS address-literal ) - address-literal = "[" ( IPv4-address-literal / IPv6-address-literal / General-address-literal ) "]" - - - - - - Default constructor. - - IP address. - Host name. - Is raised when ip is null reference. - - - - Returns this as string. - - Returns this as string. - - - - Gets IP address. - - - - - Gets host value. Value null means not specified. - - - - - This class provides mail message related utility methods. - - - - - Reads SMTP "Mailbox" from the specified MIME reader. - - MIME reader. - Returns SMTP "Mailbox" or null if no SMTP mailbox available. - Is raised when reader is null reference. - - - - Common utility methods. - - - - - Gets local host name or argument hostName value if it's specified. - - Host name or null. - Returns local host name or argument hostName value if it's specified. - - - - Compares if specified array itmes equals. - - Array 1. - Array 2 - Returns true if both arrays are equal. - - - - Compares if specified array itmes equals. - - Array 1. - Array 2 - Number of bytes in array 2 used for compare. - Returns true if both arrays are equal. - - - - Reverses the specified array elements. - - Array elements to reverse. - Returns array with reversed items. - Is raised when array is null. - - - - Convert array elements to string. - - String values. - Values delimiter. - Returns array elements as string. - - - - Copies source stream data to target stream. - - Source stream. Reading starts from stream current position. - Target stream. Writing starts from stream current position. - Specifies transfer block size in bytes. - Returns number of bytes copied. - - - - Compares 2 IP addresses. Returns 0 if IPs are equal, - returns positive value if destination IP is bigger than source IP, - returns negative value if destination IP is smaller than source IP. - - Source IP address. - Destination IP address. - Returns 0 if IPs are equal, - returns positive value if destination IP is bigger than source IP, - returns negative value if destination IP is smaller than source IP. - - - + Gets if the specified string value is IP address. @@ -15567,4472 +14549,5142 @@ Gets position in original string. - + - This class provides data to .... . + This class implements generic TCP client. - + Default constructor. - TCP server. - TCP server session. - + - Gets TCP server. + Cleans up any resources being used. This method is thread-safe. - + - Gets TCP server session. + Connects to the specified host. If the hostname resolves to more than one IP address, + all IP addresses will be tried for connection, until one of them connects. + Host name or IP address. + Port to connect. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when any of the arguments has invalid value. - + - This class implements TCP session collection. + Connects to the specified host. If the hostname resolves to more than one IP address, + all IP addresses will be tried for connection, until one of them connects. + Host name or IP address. + Port to connect. + Specifies if connects to SSL end point. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when any of the arguments has invalid value. - + - Default constructor. + Connects to the specified remote end point. + Remote IP end point where to connect. + Specifies if connects to SSL end point. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when remoteEP is null. + Is raised when any of the arguments has invalid value. - - - Adds specified TCP session to the colletion. - - TCP server session to add. - Is raised when session is null. - - + - Removes specified TCP server session from the collection. + Connects to the specified remote end point. - TCP server session to remove. - Is raised when session is null. + Local IP end point to use. Value null means that system will allocate it. + Remote IP end point to connect. + Specifies if connection switches to SSL affter connect. + Is raised when this object is disposed and and this method is accessed. + Is raised when TCP client is already connected. + Is raised when remoteEP is null reference. - + - Removes all items from the collection. + Connects to the specified remote end point. + Local IP end point to use. Value null means that system will allocate it. + Remote IP end point to connect. + Specifies if connection switches to SSL affter connect. + SSL server certificate validation callback. Value null means any certificate is accepted. + Is raised when this object is disposed and and this method is accessed. + Is raised when TCP client is already connected. + Is raised when remoteEP is null reference. - + - Copies all TCP server session to new array. This method is thread-safe. + This class represents asynchronous operation. - Returns TCP sessions array. - + - Gets number of connections per specified IP. + Default constructor. - IP address. - Returns current number of connections of the specified IP. - Is raised when ip is null reference. + Local IP end point to use. Value null means that system will allocate it. + Remote IP end point to connect. + Specifies if connection switches to SSL affter connect. + SSL server certificate validation callback. Value null means any certificate is accepted. + Is raised when remoteEP is null reference. - + - Gets number of items in the collection. + Cleans up any resource being used. - + - Gets TCP session with the specified ID. + Starts operation processing. - Session ID. - Returns TCP session with the specified ID. + Owner TCP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - This class provides usefull text methods. + Sets operation state. + New state. - + - Qoutes string and escapes fishy('\',"') chars. + This method is called when "BeginConnect" has completed. - Text to quote. - + Asynchronous result. - + - Unquotes and unescapes escaped chars specified text. For example "xxx" will become to 'xxx', "escaped quote \"", will become to escaped 'quote "'. + This method is called when "BeginAuthenticateAsClient" has completed. - Text to unquote. - + Asynchronous result. - + - Escapes specified chars in the specified string. + This method is called when we need to validate remote server certificate. - Text to escape. - Chars to escape. + Sender. + Certificate. + Certificate chain. + SSL policy errors. + Returns true if certificate validated, otherwise false. - + - Unescapes all escaped chars. + Cleans up any socket related resources. - Text to unescape. - - + - Splits string into string arrays. This split method won't split qouted strings, but only text outside of qouted string. - For example: '"text1, text2",text3' will be 2 parts: "text1, text2" and text3. + Is called when when connecting has finished. - Text to split. - Char that splits text. - - + - Splits string into string arrays. This split method won't split qouted strings, but only text outside of qouted string. - For example: '"text1, text2",text3' will be 2 parts: "text1, text2" and text3. + This method is called when this derrived class OnConnected processing has completed. - Text to split. - Char that splits text. - If true, splitted parst will be unqouted if they are qouted. - + Exception happened or null if no errors. - + - Splits string into string arrays. This split method won't split qouted strings, but only text outside of qouted string. - For example: '"text1, text2",text3' will be 2 parts: "text1, text2" and text3. + Gets asynchronous operation state. - Text to split. - Char that splits text. - If true, splitted parst will be unqouted if they are qouted. - Maximum number of substrings to return. - Returns splitted string. - Is raised when text is null reference. - + - Gets first index of specified char. The specified char in quoted string is skipped. - Returns -1 if specified char doesn't exist. + Gets error happened during operation. Returns null if no error. - Text in what to check. - Char what index to get. - + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Splits string into string arrays. + Gets connected socket. - Text to split. - Char Char that splits text. - + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Gets if specified string is valid "token" value. + Gets connected TCP stream. - String value to check. - Returns true if specified string value is valid "token" value. - Is raised if value is null. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Simple timer implementation. + Is called when asynchronous operation has completed. - + - Default contructor. + Raises CompletedAsync event. - + - Default contructor. + Starts connecting to remote end point. - The time in milliseconds between events. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when op is null reference. - + - Default contructor. + Disconnects connection. - The time in milliseconds between events. - Specifies if timer is auto reseted. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is not connected. - + - Represents a collection that can be accessed either with the key or with the index. + Internal helper method for asynchronous Disconnect method. - + - Default constructor. + Starts disconnecting connection. + Callback to call when the asynchronous operation is complete. + User data. + An IAsyncResult that references the asynchronous disconnect. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is not connected. - + - Adds the specified key and value to the collection. + Ends a pending asynchronous disconnect request. - Key. - Value. + An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when asyncResult is null. + Is raised when argument asyncResult was not returned by a call to the BeginDisconnect method. + Is raised when EndDisconnect was previously called for the asynchronous connection. - + - Removes the value with the specified key from the collection. + Switches session to secure connection. - Key. - Returns if key found and removed, otherwise false. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is not connected or is already secure. - + - Removes all items from the collection. + This class represents asynchronous operation. - + - Gets if the collection contains the specified key. + Default constructor. - Key. - Returns true if the collection contains specified key. + SSL server certificate validation callback. Value null means any certificate is accepted. - + - Gets the value associated with the specified key. + Cleans up any resource being used. - Key. - When this method returns, contains the value associated with the specified key, if the key is found. - Returns true if the collection contains specified key and value stored to value argument. - + - Gets the value at the specified index. + Starts operation processing. - Zero based item index. - When this method returns, contains the value associated with the specified key, if the key is found. - Returns true if the collection contains specified key and value stored to value argument. + Owner TCP client. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Copies all elements to new array, all elements will be in order they added. This method is thread-safe. + Sets operation state. - Returns elements in a new array. + New state. - + - Gets enumerator. - - Returns IEnumerator interface. - - - - Gets number of items int he collection. + This method is called when we need to validate remote server certificate. + Sender. + Certificate. + Certificate chain. + SSL policy errors. + Returns true if certificate validated, otherwise false. - + - Gets item with the specified key. + This method is called when "BeginAuthenticateAsClient" has completed. - Key. - Returns item with the specified key. If the specified key is not found, a get operation throws a KeyNotFoundException. + Asynchronous result. - + - This class is base class for MIME entity bodies. + Gets asynchronous operation state. - + - Default constructor. + Gets error happened during operation. Returns null if no error. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Parses body from the specified stream + Is called when asynchronous operation has completed. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - Sets body parent. + Raises CompletedAsync event. - Owner entity. - If true sets entity.ContentType header value. - + - Stores MIME entity body to the specified stream. + Starts switching connection to secure. - Stream where to store body data. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null reference. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when TCP client is not connected or connection is already secure. + Is raised when op is null reference. - + - Gets if body has modified. + This method is called after TCP client has sucessfully connected. - + - Gets body owner entity. Returns null if body not bounded to any entity yet. + Represents callback to be called when to complete connect operation. + Exception happened or null if no errors. - + - Gets body media type. For example: 'text/plain'. + This method is called when TCP client has sucessfully connected. + Callback to be called to complete connect operation. - + - This class represents MIME application/xxx bodies. Defined in RFC 2046 4.2. + Reads and logs specified line from connected host. - - The "application" media type is to be used for discrete data which do - not fit in any of the other categories, and particularly for data to - be processed by some type of application program. - + Returns readed line. - + - This class is base class for singlepart media bodies like: text,video,audio,image. + Sends and logs specified line to connected host. + Line to send. + Is raised when line is null reference. - + - Default constructor. + Logs read operation. - Content type. - Is raised when contentType is null reference. + Number of bytes readed. + Log text. - + - Destructor - Just incase user won't call dispose. + Logs write operation. + Number of bytes written. + Log text. - + - Sets body parent. + Logs free text entry. - Owner entity. - If true sets entity.ContentType header value. + Log text. - + - Stores MIME entity body to the specified stream. + Logs exception. - Stream where to store body data. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null reference. + Log text. + Exception happened. - + - Sets IsModified property value. + Gets if this object is disposed. - Modified flag. - + - Gets body encoded data stream. + Gets or sets TCP client logger. Value null means no logging. - Returns body encoded data stream. - Is raised when this method is accessed and this body is not bounded to any entity. - + - Sets body encoded data from specified stream. + Gets if TCP client is connected. - Content-Transfer-Encoding in what encoding stream data is. - Stream data to add. - Is raised when contentTransferEncoding or stream is null reference. - Is raised when any of the argumennts has invalid value. - Is raised when this method is accessed and this body is not bounded to any entity. - + - Gets body decoded data stream. + Gets session ID. - Returns body decoded data stream. - Is raised when this method is accessed and this body is not bounded to any entity. - Is raised when body contains not supported Content-Transfer-Encoding. - The returned stream should be closed/disposed as soon as it's not needed any more. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Sets body data from the specified stream. + Gets the time when session was connected. - Source stream. - Specifies content-transfer-encoding to use to encode data. - Is raised when stream or transferEncoding is null reference. - Is raised when this method is accessed and this body is not bounded to any entity. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Sets body data from the specified file. + Gets the last time when data was sent or received. - File name with optional path. - Specifies content-transfer-encoding to use to encode data. - Is raised when file is null reference. - Is raised when this method is accessed and this body is not bounded to any entity. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Gets if body has modified. + Gets session local IP end point. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Gets encoded body data size in bytes. + Gets session remote IP end point. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Gets body encoded data. + Gets if this session TCP connection is secure connection. - NOTE: Use this property with care, because body data may be very big and you may run out of memory. - For bigger data use method instead. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Gets body decoded data. + Gets TCP stream which must be used to send/receive data through this session. - NOTE: Use this property with care, because body data may be very big and you may run out of memory. - For bigger data use method instead. - Is raised when body contains not supported Content-Transfer-Encoding. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP client is not connected. - + - Gets encoded data stream. + Gets or stes remote callback which is called when remote server certificate needs to be validated. + Value null means not sepcified. - + - Default constructor. + Gets or sets default TCP read/write timeout. - MIME media type. - Is raised when mediaType is null reference. + This timeout applies only synchronous TCP read/write operations. - + - Parses body from the specified stream + Internal helper method for asynchronous Connect method. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or strean is null reference. - Is raised when any parsing errors. + Host name or IP address. + Port to connect. + Specifies if connects to SSL end point. - + - This class represents MIME application/pkcs7-mime body. Defined in RFC 5751 3.2. + Internal helper method for asynchronous Connect method. + Local IP end point to use for connect. + Remote IP end point where to connect. + Specifies if connects to SSL end point. - + - Default constructor. + Starts connection to the specified host. + Host name or IP address. + Port to connect. + Callback to call when the connect operation is complete. + User data. + An IAsyncResult that references the asynchronous connection. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when any of the arguments has invalid value. - + - Parses body from the specified stream + Starts connection to the specified host. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or strean is null reference. - Is raised when any parsing errors. - - - - Gets certificates contained in pkcs 7. - - Returns certificates contained in pkcs 7. Returns null if no certificates. + Host name or IP address. + Port to connect. + Specifies if connects to SSL end point. + Callback to call when the connect operation is complete. + User data. + An IAsyncResult that references the asynchronous connection. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when any of the arguments has invalid value. - + - Checks if signature is valid and data not altered. + Starts connection to the specified remote end point. - Returns true if signature is valid, otherwise false. - This method is valid only if Content-Type parameter smime-type=signed-data. - Is raised when smime-type != signed-data. + Remote IP end point where to connect. + Specifies if connects to SSL end point. + Callback to call when the connect operation is complete. + User data. + An IAsyncResult that references the asynchronous connection. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when remoteEP is null. + Is raised when any of the arguments has invalid value. - + - Gets signed mime content. Value null means no content. + Starts connection to the specified remote end point. - Returns signed mime content. Value null means no content. - This method is valid only if Content-Type parameter smime-type=signed-data. - Is raised when smime-type != signed-data. + Local IP end point to use for connect. + Remote IP end point where to connect. + Specifies if connects to SSL end point. + Callback to call when the connect operation is complete. + User data. + An IAsyncResult that references the asynchronous connection. + Is raised when this object is disposed and this method is accessed. + Is raised when TCP client is already connected. + Is raised when remoteEP is null. + Is raised when any of the arguments has invalid value. - + - Decrypts enveloped mime content. + Ends a pending asynchronous connection request. - Decrypting certificate. - Returns decrypted enveloped mime content. - Is raised when cert is null reference. - Is raised when smime-type != enveloped-data. + An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when asyncResult is null. + Is raised when argument asyncResult was not returned by a call to the BeginConnect method. + Is raised when EndConnect was previously called for the asynchronous connection. - + - This class represents MIME audio/xxx bodies. Defined in RFC 2046 4.3. + This must be called when unexpected error happens. When inheriting TCP_Client class, be sure that you call OnError + method for each unexpected error. - A media type of "audio" indicates that the body contains audio data. + Exception happened. - + - Default constructor. + This class implements generic TCP session based server. - MIME media type. - Is raised when mediaType is null reference. - + - Parses body from the specified stream + This class holds listening point info. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - This class represents MIME image/xxx bodies. Defined in RFC 2046 4.2. + Default constructor. - - A media type of "image" indicates that the body contains an image. - The subtype names the specific image format. - + Listening socket. + Bind info what acceped socket. - + - Default constructor. + Gets socket. - MIME media type. - Is raised when mediaType is null reference. - + - Parses body from the specified stream + Gets bind info. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - This class represents MIME message/xxx bodies. Defined in RFC 2046 5.2. + Implements single TCP connection acceptor. + For higher performance, mutiple acceptors per socket must be created. - + Default constructor. - MIME media type. - Is raised when mediaType is null reference. + Socket. + Is raised when socket is null reference. - + - Parses body from the specified stream + Cleans up any resources being used. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - This class represents MIME message/delivery-status body. Defined in RFC 3464. + Starts accpeting connections. - - - delivery-status-content = per-message-fields 1*( CRLF per-recipient-fields ) - - per-message-fields = - [ original-envelope-id-field CRLF ] - reporting-mta-field CRLF - [ dsn-gateway-field CRLF ] - [ received-from-mta-field CRLF ] - [ arrival-date-field CRLF ] - *( extension-field CRLF ) - - per-recipient-fields = - [ original-recipient-field CRLF ] - final-recipient-field CRLF - action-field CRLF - status-field CRLF - [ remote-mta-field CRLF ] - [ diagnostic-code-field CRLF ] - [ last-attempt-date-field CRLF ] - [ final-log-id-field CRLF ] - [ will-retry-until-field CRLF ] - *( extension-field CRLF ) - - + Is raised when this calss is disposed and this method is accessed. - + - Default constructor. + Accpets connection synchornously(if connection(s) available now) or starts waiting TCP connection asynchronously if no connections at moment. - + - Parses body from the specified stream + Is called BeginAccept has completed. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + The result of the asynchronous operation. - + - Stores MIME entity body to the specified stream. + Gets user data items. - Stream where to store body data. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null reference. - + - Gets if body has modified. + Is raised when new TCP connection was accepted. - + - Gets per-message fields collection. + Raises ConnectionAccepted event. - Is raised when this method is accessed and this body is not bounded to any entity. + Accepted socket. - + - Gets reciepent report blocks collection. + Is raised when unhandled error happens. - Each block contains per-recipient-fields. - + - This class represents MIME message/rfc822 body. Defined in RFC 2046 5.2.1. + Raises Error event. + Exception happened. - + Default constructor. - + - Parses body from the specified stream + Cleans up any resources being used. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - Stores MIME entity body to the specified stream. + Is called when session idle check timer triggered. - Stream where to store body data. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null reference. + Sender. + Event data. - + - Gets if body has modified. + Starts TCP server. + Is raised when this object is disposed and this property is accessed. - + - Gets embbed mail message. + Stops TCP server, all active connections will be terminated. - Is raised when null reference passed. - Is raised when this method is accessed and this body is not bounded to any entity. - + - This class represents MIME application/xxx bodies. Defined in RFC 2046 5.1. + Restarts TCP server. - - The "multipart" represents single MIME body containing multiple child MIME entities. - The "multipart" body must contain at least 1 MIME entity. - - + - Default constructor. + Is called when new incoming session and server maximum allowed connections exceeded. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. - - + Incoming session. + This method allows inhereted classes to report error message to connected client. + Session will be disconnected after this method completes. + + + - Parses body from the specified stream + Is called when new incoming session and server maximum allowed connections per connected IP exceeded. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + Incoming session. + This method allows inhereted classes to report error message to connected client. + Session will be disconnected after this method completes. + - + - Internal body parsing. + Starts listening incoming connections. NOTE: All active listening points will be disposed. - Owner MIME entity. - MIME media type. For example: text/plain. - Stream from where to read body. - Multipart body instance. - Is raised when stream, mediaType, stream or body is null reference. - Is raised when any parsing errors. - + - Sets body parent. + Processes specified connection. - Owner entity. - If true sets entity.ContentType header value. + Accpeted socket. + Local bind info what accpeted connection. + Is raised when socket or bindInfo is null reference. - + - Stores MIME entity body to the specified stream. + Gets if server is disposed. - Stream where to store body data. - Header 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null reference. - + - Gets if body has modified. + Gets if server is running. - + - Gets default body part Content-Type. For more info see RFC 2046 5.1. + Gets or sets TCP server IP bindings. + Is raised when this object is disposed and this property is accessed. - + - Gets multipart body body-parts collection. + Gets local listening IP end points. - Multipart entity child entities are called "body parts" in RFC 2045. + Is raised when this object is disposed and this property is accessed. - + - Gets or sets "preamble" text. Defined in RFC 2046 5.1.1. + Gets or sets maximum allowed concurent connections. Value 0 means unlimited. - Preamble text is text between MIME entiy headers and first boundary. + Is raised when this object is disposed and this property is accessed. + Is raised when negative value is passed. - + - Gets or sets "epilogue" text. Defined in RFC 2046 5.1.1. + Gets or sets maximum allowed connections for 1 IP address. Value 0 means unlimited. - Epilogue text is text after last boundary end. - + - Implements multipart "body parts" reader. + Gets or sets maximum allowed session idle time in seconds, after what session will be terminated. Value 0 means unlimited, + but this is strongly not recommened. + Is raised when this object is disposed and this property is accessed. + Is raised when negative value is passed. - + - Default constructor. + Gets or sets logger. Value null means no logging. - Stream from where to read body part. - Boundry ID what separates body parts. - Is raised when stream or boundary is null reference. - + - Moves to next "body part". Returns true if moved to next "body part" or false if there are no more parts. + Gets the time when server was started. - Returns true if moved to next "body part" or false if there are no more body parts. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP server is not running and this property is accesed. - + - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + Gets how many connections this TCP server has processed. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP server is not running and this property is accesed. - + - Sets the position within the current stream. This method is not supported and always throws a NotSupportedException. + Gets TCP server active sessions. - A byte offset relative to the origin parameter. - A value of type SeekOrigin indicating the reference point used to obtain the new position. - The new position within the current stream. - Is raised when this method is accessed. + Is raised when this object is disposed and this property is accessed. + Is raised when TCP server is not running and this property is accesed. - + - Sets the length of the current stream. This method is not supported and always throws a NotSupportedException. + This event is raised when TCP server has started. - The desired length of the current stream in bytes. - Is raised when this method is accessed. - + - Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + Raises Started event. - An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. - The zero-based byte offset in buffer at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - Is raised when buffer is null reference. - + - Writes sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + This event is raised when TCP server has stopped. - An array of bytes. This method copies count bytes from buffer to the current stream. - The zero-based byte offset in buffer at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - Is raised when this method is accessed. - + - Gets a value indicating whether the current stream supports reading. + Raises Stopped event. - + - Gets a value indicating whether the current stream supports seeking. + This event is raised when TCP server has disposed. - + - Gets a value indicating whether the current stream supports writing. + Raises Disposed event. - + - Gets the length in bytes of the stream. This method is not supported and always throws a NotSupportedException. + This event is raised when TCP server creates new session. - Is raised when this property is accessed. - + - Gets or sets the position within the current stream. This method is not supported and always throws a NotSupportedException. + Raises SessionCreated event. - Is raised when this property is accessed. + TCP server session that was created. - + - Gets "preamble" text. Defined in RFC 2046 5.1.1. + This event is raised when TCP server has unknown unhandled error. - Preamble text is text between MIME entiy headers and first boundary. - + - Gets "epilogue" text. Defined in RFC 2046 5.1.1. + Raises Error event. - Epilogue text is text after last boundary end. + Exception happened. - + - Gets reader state. + This class implements generic TCP server session. - + - This enum specified multipart reader sate. + Default constructor. - + - First boundary must be seeked. + Cleans up any resources being used. - + - Read next boundary. (Method Next must be called to continue next boundary reading) + Initializes session. This method is called from TCP_Server when new session created. + Owner TCP server. + Connected socket. + Local host name. + Specifies if session should switch to SSL. + SSL certificate. - + - Active boundary reading pending. + This method is called from TCP server when session should start processing incoming connection. - + - All boundraies readed. + This method is called from TCP server when session should start processing incoming connection. - + - This class holds readed data line info. + Switches session to secure connection. + Is raised when this object is disposed and this method is accessed. + Is raised when connection is already secure or when SSL certificate is not specified. - + - Default constructor. + This class represents asynchronous operation. - + - Assigns data line info from rea line operation. + Default constructor. - Read line operation. - Is raised when op is null reference. - + - Gets line data buffer. + Cleans up any resource being used. - + - Gets number of bytes used in LineBuffer. + Starts operation processing. + Owner TCP session. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - This class represents MIME multipart/alternative body. Defined in RFC 2046 5.1.4. + Sets operation state. - - The "multipart/alternative" is intended for use when each of the body parts is an "alternative" version of the same information. - In general, user agents that compose "multipart/alternative" entities - must place the body parts in increasing order of preference, that is, - with the preferred format last. - + New state. - + - Default constructor. + This method is called when "BeginAuthenticateAsServer" has completed. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Asynchronous result. - + - Parses body from the specified stream + Gets asynchronous operation state. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - This class represents MIME multipart/digest body. Defined in RFC 2046 5.1.5. + Gets error happened during operation. Returns null if no error. - - The "multipart/digest" Content-Type is intended to be used to send collections of messages. - + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Default constructor. + Is called when asynchronous operation has completed. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. - + - Parses body from the specified stream + Raises CompletedAsync event. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. - + - Gets default body part Content-Type. For more info see RFC 2046 5.1. + Starts switching connection to secure. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when connection is already secure or when SSL certificate is not specified. + Is raised when op is null reference. - + - This class represents MIME multipart/encrypted body. Defined in rfc 1847. + Disconnects session. + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Disconnects session. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Text what is sent to connected host before disconnecting. + Is raised when this object is disposed and this method is accessed. - + - Parses body from the specified stream + This method is called when specified session times out. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + + This method allows inhereted classes to report error message to connected client. + Session will be disconnected after this method completes. + - + - This class represents MIME multipart/form-data body. Defined in RFC 2046. + Just calls OnTimeout method. - + - Default constructor. + Logs specified text. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + text to log. + Is raised when text is null reference. - + - Parses body from the specified stream + Logs specified exception. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + Exception to log. + Is raised when exception is null reference. - + - This class represents MIME multipart/mixed body. Defined in RFC 2046 5.1.3. + Gets if TCP server session is disposed. - - The "mixed" subtype of "multipart" is intended for use when the body - parts are independent and need to be bundled in a particular order. - - + - Default constructor. + Gets owner TCP server. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Parses body from the specified stream + Gets local host name. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + Is raised when this object is disposed and this property is accessed. - + - This class represents MIME multipart/parallel bodies. Defined in RFC 2046 5.1.6. + Gets session certificate. - - The "parallel" subtype of "multipart" is intended for use when the body - parts are independent and their order is not important. Parts can be processed parallel. - + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Gets or sets user data. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. - + - Parses body from the specified stream + Gets user data items collection. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + Is raised when this object is disposed and this property is accessed. - + - This class represents MIME multipart/related body. Defined in RFC 2387. + Gets if session is connected. - - The Multipart/Related content-type provides a common mechanism for - representing objects that are aggregates of related MIME body parts. - - + - Default constructor. + Gets session ID. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Parses body from the specified stream + Gets the time when session was connected. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + Is raised when this object is disposed and this property is accessed. - + - This class represents MIME multipart/report body. Defined in RFC 3462. + Gets the last time when data was sent or received. - - The Multipart/Report Multipurpose Internet Mail Extensions (MIME) content-type is a general "family" or - "container" type for electronic mail reports of any kind. The most used type is delivery-status. - + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Gets session local IP end point. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Parses body from the specified stream + Gets session remote IP end point. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or stream is null reference. - Is raised when any parsing errors. + Is raised when this object is disposed and this property is accessed. - + - This class represents MIME multipart/signed body. Defined in RFC 5751. + Gets if this session TCP connection is secure connection. + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Gets TCP stream which must be used to send/receive data through this session. - Content type. - Is raised when contentType is null reference. - Is raised when any of the arguments has invalid value. + Is raised when this object is disposed and this property is accessed. - + - Parses body from the specified stream + This event is raised when session idle(no activity) timeout reached. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, mediaTypedefaultContentTypeb> or stream is null reference. - Is raised when any parsing errors. - + - This class represent MIME entity body provider. + Raises IdleTimeout event. - + - Default constructor. + This event is raised when session has disconnected and will be disposed soon. - + - Parses MIME entity body from specified stream. + Raises Disonnected event. - Owner MIME entity. - Stream from where to parse entity body. - Default content type. - Returns parsed body. - Is raised when owner, strean or defaultContentType is null reference. - Is raised when header field parsing errors. - + - This class represents MIME text/xxx bodies. Defined in RFC 2045. + This event is raised when session has disposed. - - The "text" media type is intended for sending material which is principally textual in form. - - + - Default constructor. + Raises Disposed event. - MIME media type. - Is raised when mediaSubType is null reference. - Is raised when any of the arguments has invalid value. - + - Parses body from the specified stream + This event is raised when TCP server session has unknown unhandled error. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, mediaType or stream is null reference. - Is raised when any parsing errors. - - - - Sets text. - - Content transfer encoding. - Charset to use to encode text. If not sure, utf-8 is recommended. - Text. - Is raised when transferEncoding, charset or text is null reference. - Is raised when this method is accessed and this body is not bounded to any entity. - Is raised when body contains not supported Content-Transfer-Encoding. - + - Gets charset from Content-Type. If char set isn't specified, "ascii" is defined as default and it will be returned. + Raises Error event. - Returns content charset. - Is raised when Content-Type has not supported charset parameter value. + Exception happened. - + - Gets body decoded text. + This class provides data to .... . - Is raised when not supported content-type charset or not supported content-transfer-encoding value. - Is raised when body contains not supported Content-Transfer-Encoding. - + - This class represents MIME unknown bodies. + Default constructor. + TCP server. + TCP server session. - + - Default constructor. + Gets TCP server. - MIME media type. - Is raised when mediaType is null reference. - + - Parses body from the specified stream + Gets TCP server session. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, defaultContentType or strean is null reference. - Is raised when any parsing errors. - + - This class represents MIME video/xxx bodies. Defined in RFC 2046 4.4. + This is base class for TCP_Client and TCP_ServerSession. - - A media type of "video" indicates that the body contains a time- - varying-picture image, possibly with color and coordinated sound. - - + Default constructor. - MIME media type. - Is raised when mediaType is null reference. - + - Parses body from the specified stream + Cleans up any resources being used. - Owner MIME entity. - Default content-type for this body. - Stream from where to read body. - Returns parsed body. - Is raised when stream, mediaType or stream is null reference. - Is raised when any parsing errors. - + - Implements 'encoded-word' encoding. Defined in RFC 2047. + Disconnects session. - + - Default constructor. + Gets if session is connected. - Encoding to use to encode text. - Charset to use for encoding. If not sure UTF-8 is strongly recommended. - Is raised when charset is null reference. - + - Encodes specified text if it contains 8-bit chars, otherwise text won't be encoded. + Gets session ID. - Text to encode. - Returns encoded text. - + - Decodes specified encoded-word. + Gets the time when session was connected. - Encoded-word value. - Returns decoded text. - Is raised when text is null reference. - + - Checks if specified text must be encoded. + Gets the last time when data was sent or received. - Text to encode. - Returns true if specified text must be encoded, otherwise false. - Is raised when text is null reference. - + - Encodes specified text if it contains 8-bit chars, otherwise text won't be encoded. + Gets session local IP end point. - Encoding to use to encode text. - Charset to use for encoding. If not sure UTF-8 is strongly recommended. - If true, words are splitted after 75 chars. - Text to encode. - Returns encoded text. - Is raised when charset or text is null reference. - + - Decodes non-ascii word with MIME encoded-word method. Defined in RFC 2047 2. + Gets session remote IP end point. - MIME encoded-word value. - Returns decoded word. - If word is not encoded-word or has invalid syntax, word is leaved as is. - Is raised when word is null reference. - + - Decodes non-ascii text with MIME encoded-word method. Defined in RFC 2047 2. + Gets if this session TCP connection is secure connection. - Text. - Returns decoded text. - Is raised when text is null reference. - + - Gets or sets if long words(over 75 char) are splitted. + Gets if this session is authenticated. - + - This class represents MIME header fields collection. Defined in RFC 2045. + Gets session authenticated user identity , returns null if not authenticated. - + - Default constructor. + Gets TCP stream which must be used to send/receive data through this session. - Header fields provider. - Is raised when provider is null reference. - + - Inserts a new header field into the collection at the specified location. + This class implements TCP session collection. - The location in the collection where you want to add the item. - Header field to insert. - Is raised when index is out of range. - Is raised when field is null reference. - + - Parses and adds specified header field to the end of the collection. + Default constructor. - Header field string (Name: value). - Retunrs added header field. - Is raised when field is null reference. - + - Adds specified header field to the end of the collection. + Adds specified TCP session to the colletion. - Header field to add. - Is raised when field is null reference value. + TCP server session to add. + Is raised when session is null. - + - Removes specified header field from the collection. + Removes specified TCP server session from the collection. - Header field to remove. - Is raised when field is null reference value. + TCP server session to remove. + Is raised when session is null. - + - Removes all header fields with the specified name. + Removes all items from the collection. - Header field name. - Is raised when name is null reference. - Is raised when any of the arguments has invalid value. - + - Removes all items from the collection. + Copies all TCP server session to new array. This method is thread-safe. + Returns TCP sessions array. - + - Gets if collection has item with the specified name. + Gets number of connections per specified IP. - Header field name. - Returns true if specified item exists in the collection, otherwise false. - Is raised when name is null reference. - Is raised when any of the arguments has invalid value. + IP address. + Returns current number of connections of the specified IP. + Is raised when ip is null reference. - + - Gets if collection contains the specified item. + Gets number of items in the collection. - Header field. - Returns true if specified item exists in the collection, otherwise false. - Is raised when field is null reference. - + - Gets first header field with the specified name. returns null if specified header field doesn't exist. + Gets TCP session with the specified ID. - Header field name. - Returns first header field with the specified name. returns null if specified header field doesn't exist. - Is raised when name is null reference. + Session ID. + Returns TCP session with the specified ID. - + - Replaces first header field with specified name with specified value. + This class provides usefull text methods. - Hedaer field. - Is raised when field is null reference. - + - Copies header fields to new array. + Qoutes string and escapes fishy('\',"') chars. - Returns header fields array. + Text to quote. + - + - Stores header to the specified file. + Unquotes and unescapes escaped chars specified text. For example "xxx" will become to 'xxx', "escaped quote \"", will become to escaped 'quote "'. - File name with optional path. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - Is raised when fileName is null reference. + Text to unquote. + - + - Returns header as byte[] data. + Escapes specified chars in the specified string. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - Returns header as byte[] data. + Text to escape. + Chars to escape. - + - Stores header to the specified stream. + Unescapes all escaped chars. - Stream where to store header. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - Is raised when stream is null reference. + Text to unescape. + - + - Stores header to the specified stream. + Splits string into string arrays. This split method won't split qouted strings, but only text outside of qouted string. + For example: '"text1, text2",text3' will be 2 parts: "text1, text2" and text3. + + Text to split. + Char that splits text. + + + + + Splits string into string arrays. This split method won't split qouted strings, but only text outside of qouted string. + For example: '"text1, text2",text3' will be 2 parts: "text1, text2" and text3. + + Text to split. + Char that splits text. + If true, splitted parst will be unqouted if they are qouted. + + + + + Splits string into string arrays. This split method won't split qouted strings, but only text outside of qouted string. + For example: '"text1, text2",text3' will be 2 parts: "text1, text2" and text3. + + Text to split. + Char that splits text. + If true, splitted parst will be unqouted if they are qouted. + Maximum number of substrings to return. + Returns splitted string. + Is raised when text is null reference. + + + + Gets first index of specified char. The specified char in quoted string is skipped. + Returns -1 if specified char doesn't exist. + + Text in what to check. + Char what index to get. + + + + + Splits string into string arrays. + + Text to split. + Char Char that splits text. + + + + + Gets if specified string is valid "token" value. + + String value to check. + Returns true if specified string value is valid "token" value. + Is raised if value is null. + + + + Simple timer implementation. + + + + + Default contructor. + + + + + Default contructor. + + The time in milliseconds between events. + + + + Default contructor. + + The time in milliseconds between events. + Specifies if timer is auto reseted. + + + + Represents a collection that can be accessed either with the key or with the index. + + + + + Default constructor. + + + + + Adds the specified key and value to the collection. + + Key. + Value. + + + + Removes the value with the specified key from the collection. + + Key. + Returns if key found and removed, otherwise false. + + + + Removes all items from the collection. + + + + + Gets if the collection contains the specified key. + + Key. + Returns true if the collection contains specified key. + + + + Gets the value associated with the specified key. + + Key. + When this method returns, contains the value associated with the specified key, if the key is found. + Returns true if the collection contains specified key and value stored to value argument. + + + + Gets the value at the specified index. + + Zero based item index. + When this method returns, contains the value associated with the specified key, if the key is found. + Returns true if the collection contains specified key and value stored to value argument. + + + + Copies all elements to new array, all elements will be in order they added. This method is thread-safe. + + Returns elements in a new array. + + + + Gets enumerator. + + Returns IEnumerator interface. + + + + Gets number of items int he collection. + + + + + Gets item with the specified key. + + Key. + Returns item with the specified key. If the specified key is not found, a get operation throws a KeyNotFoundException. + + + + This class is base class for MIME entity bodies. + + + + + Default constructor. + + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + Sets body parent. + + Owner entity. + If true sets entity.ContentType header value. + + + + Stores MIME entity body to the specified stream. + + Stream where to store body data. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null reference. + + + + Gets if body has modified. + + + + + Gets body owner entity. Returns null if body not bounded to any entity yet. + + + + + Gets body media type. For example: 'text/plain'. + + + + + This class represents MIME application/xxx bodies. Defined in RFC 2046 4.2. + + + The "application" media type is to be used for discrete data which do + not fit in any of the other categories, and particularly for data to + be processed by some type of application program. + + + + + Default constructor. + + MIME media type. + Is raised when mediaType is null reference. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or strean is null reference. + Is raised when any parsing errors. + + + + This class represents MIME application/pkcs7-mime body. Defined in RFC 5751 3.2. + + + + + Default constructor. + + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or strean is null reference. + Is raised when any parsing errors. + + + + Gets certificates contained in pkcs 7. + + Returns certificates contained in pkcs 7. Returns null if no certificates. + + + + Checks if signature is valid and data not altered. + + Returns true if signature is valid, otherwise false. + This method is valid only if Content-Type parameter smime-type=signed-data. + Is raised when smime-type != signed-data. + + + + Gets signed mime content. Value null means no content. + + Returns signed mime content. Value null means no content. + This method is valid only if Content-Type parameter smime-type=signed-data. + Is raised when smime-type != signed-data. + + + + Decrypts enveloped mime content. + + Decrypting certificate. + Returns decrypted enveloped mime content. + Is raised when cert is null reference. + Is raised when smime-type != enveloped-data. + + + + This class represents MIME audio/xxx bodies. Defined in RFC 2046 4.3. + + A media type of "audio" indicates that the body contains audio data. + + + + Default constructor. + + MIME media type. + Is raised when mediaType is null reference. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + This class represents MIME image/xxx bodies. Defined in RFC 2046 4.2. + + + A media type of "image" indicates that the body contains an image. + The subtype names the specific image format. + + + + + Default constructor. + + MIME media type. + Is raised when mediaType is null reference. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + This class represents MIME message/xxx bodies. Defined in RFC 2046 5.2. + + + + + Default constructor. + + MIME media type. + Is raised when mediaType is null reference. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + This class represents MIME message/delivery-status body. Defined in RFC 3464. + + + + delivery-status-content = per-message-fields 1*( CRLF per-recipient-fields ) + + per-message-fields = + [ original-envelope-id-field CRLF ] + reporting-mta-field CRLF + [ dsn-gateway-field CRLF ] + [ received-from-mta-field CRLF ] + [ arrival-date-field CRLF ] + *( extension-field CRLF ) + + per-recipient-fields = + [ original-recipient-field CRLF ] + final-recipient-field CRLF + action-field CRLF + status-field CRLF + [ remote-mta-field CRLF ] + [ diagnostic-code-field CRLF ] + [ last-attempt-date-field CRLF ] + [ final-log-id-field CRLF ] + [ will-retry-until-field CRLF ] + *( extension-field CRLF ) + + + + + + Default constructor. + + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + Stores MIME entity body to the specified stream. + + Stream where to store body data. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null reference. + + + + Gets if body has modified. + + + + + Gets per-message fields collection. + + Is raised when this method is accessed and this body is not bounded to any entity. + + + + Gets reciepent report blocks collection. + + Each block contains per-recipient-fields. + + + + This class represents MIME message/rfc822 body. Defined in RFC 2046 5.2.1. + + + + + Default constructor. + + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + Stores MIME entity body to the specified stream. + + Stream where to store body data. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null reference. + + + + Gets if body has modified. + + + + + Gets embbed mail message. + + Is raised when null reference passed. + Is raised when this method is accessed and this body is not bounded to any entity. + + + + This class represents MIME application/xxx bodies. Defined in RFC 2046 5.1. + + + The "multipart" represents single MIME body containing multiple child MIME entities. + The "multipart" body must contain at least 1 MIME entity. + + + + + Implements multipart "body parts" reader. + + + + + This enum specified multipart reader sate. + + + + + First boundary must be seeked. + + + + + Read next boundary. (Method Next must be called to continue next boundary reading) + + + + + Active boundary reading pending. + + + + + All boundraies readed. + + + + + This class holds readed data line info. + + + + + Default constructor. + + + + + Assigns data line info from rea line operation. + + Read line operation. + Is raised when op is null reference. + + + + Gets line data buffer. + + + + + Gets number of bytes used in LineBuffer. + + + + + Default constructor. + + Stream from where to read body part. + Boundry ID what separates body parts. + Is raised when stream or boundary is null reference. + + + + Moves to next "body part". Returns true if moved to next "body part" or false if there are no more parts. + + Returns true if moved to next "body part" or false if there are no more body parts. + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + + + + Sets the position within the current stream. This method is not supported and always throws a NotSupportedException. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference point used to obtain the new position. + The new position within the current stream. + Is raised when this method is accessed. + + + + Sets the length of the current stream. This method is not supported and always throws a NotSupportedException. + + The desired length of the current stream in bytes. + Is raised when this method is accessed. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + Is raised when buffer is null reference. + + + + Writes sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + Is raised when this method is accessed. + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets the length in bytes of the stream. This method is not supported and always throws a NotSupportedException. + + Is raised when this property is accessed. + + + + Gets or sets the position within the current stream. This method is not supported and always throws a NotSupportedException. + + Is raised when this property is accessed. + + + + Gets "preamble" text. Defined in RFC 2046 5.1.1. + + Preamble text is text between MIME entiy headers and first boundary. + + + + Gets "epilogue" text. Defined in RFC 2046 5.1.1. + + Epilogue text is text after last boundary end. + + + + Gets reader state. + + + + + Default constructor. + + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + Internal body parsing. + + Owner MIME entity. + MIME media type. For example: text/plain. + Stream from where to read body. + Multipart body instance. + Is raised when stream, mediaType, stream or body is null reference. + Is raised when any parsing errors. + + + + Sets body parent. + + Owner entity. + If true sets entity.ContentType header value. + + + + Stores MIME entity body to the specified stream. + + Stream where to store body data. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null reference. + + + + Gets if body has modified. + + + + + Gets default body part Content-Type. For more info see RFC 2046 5.1. + + + + + Gets multipart body body-parts collection. + + Multipart entity child entities are called "body parts" in RFC 2045. + + + + Gets or sets "preamble" text. Defined in RFC 2046 5.1.1. + + Preamble text is text between MIME entiy headers and first boundary. + + + + Gets or sets "epilogue" text. Defined in RFC 2046 5.1.1. + + Epilogue text is text after last boundary end. + + + + This class represents MIME multipart/alternative body. Defined in RFC 2046 5.1.4. + + + The "multipart/alternative" is intended for use when each of the body parts is an "alternative" version of the same information. + In general, user agents that compose "multipart/alternative" entities + must place the body parts in increasing order of preference, that is, + with the preferred format last. + + + + + Default constructor. + + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. + + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + This class represents MIME multipart/digest body. Defined in RFC 2046 5.1.5. + + + The "multipart/digest" Content-Type is intended to be used to send collections of messages. + + + + + Default constructor. - Stream where to store header. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used for header. If false and header field value not modified, - original encoding is kept. - Is raised when stream is null reference. + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + - Returns MIME header as string. + Parses body from the specified stream - Returns MIME header as string. + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. - + - Returns MIME header as string. + Gets default body part Content-Type. For more info see RFC 2046 5.1. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - Returns MIME header as string. - + - Returns MIME header as string. + This class represents MIME multipart/encrypted body. Defined in rfc 1847. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. - If true always specified encoding is used. If false and header fields which value not modified, original encoding is kept. - Returns MIME header as string. - + - Parses MIME header from the specified value. + Default constructor. - MIME header string. - Is raised when value is null reference. + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + - Parses MIME header from the specified stream. + Parses body from the specified stream - MIME header stream. - Is raised when stream is null. + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. - + - Parses MIME header from the specified stream. + This class represents MIME multipart/form-data body. Defined in RFC 2046. - MIME header stream. - Headers fields reading encoding. If not sure, UTF-8 is recommended. - Is raised when stream or encoding is null. - + - Gets enumerator. + Default constructor. - + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + - Gets if header has modified since it was loaded. + Parses body from the specified stream + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. - + - Gets number of items in the collection. + This class represents MIME multipart/mixed body. Defined in RFC 2046 5.1.3. + + The "mixed" subtype of "multipart" is intended for use when the body + parts are independent and need to be bundled in a particular order. + - + - Gets the element at the specified index. + Default constructor. - The zero-based index of the element to get. - Returns the element at the specified index. - Is raised when index is out of range. + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + - Gets header fields with the specified name. + Parses body from the specified stream - Header field name. - Returns header fields with the specified name. - Is raised when name is null reference. + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. - + - Gets header fields provider. + This class represents MIME multipart/parallel bodies. Defined in RFC 2046 5.1.6. + + The "parallel" subtype of "multipart" is intended for use when the body + parts are independent and their order is not important. Parts can be processed parallel. + - - - Represents "Content-Disposition:" header. Defined in RFC 2183. - - - - RFC 2183. - In the extended BNF notation of [RFC 822], the Content-Disposition - header field is defined as follows: - - disposition := "Content-Disposition" ":" disposition-type *(";" disposition-parm) - - disposition-type := "inline" / "attachment" / extension-token - ; values are not case-sensitive - - disposition-parm := filename-parm - / creation-date-parm - / modification-date-parm - / read-date-parm - / size-parm - / parameter - - filename-parm := "filename" "=" value - - creation-date-parm := "creation-date" "=" quoted-date-time - - modification-date-parm := "modification-date" "=" quoted-date-time - - read-date-parm := "read-date" "=" quoted-date-time - - size-parm := "size" "=" 1*DIGIT - - quoted-date-time := quoted-string - ; contents MUST be an RFC 822 `date-time' - ; numeric timezones (+HHMM or -HHMM) MUST be used - - + + + Default constructor. + + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + + + Parses body from the specified stream + + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. + + + + This class represents MIME multipart/related body. Defined in RFC 2387. + + + The Multipart/Related content-type provides a common mechanism for + representing objects that are aggregates of related MIME body parts. + + + Default constructor. - The disposition-type. Known values are in MIME_DispositionTypes. - Is raised when dispositionType is null reference. + Content type. + Is raised when contentType is null reference. Is raised when any of the arguments has invalid value. - + - Internal parser constructor. + Parses body from the specified stream + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. - + - Parses header field from the specified value. + This class represents MIME multipart/report body. Defined in RFC 3462. - Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. - Returns parsed header field. - Is raised when value is null reference. - Is raised when header field parsing errors. + + The Multipart/Report Multipurpose Internet Mail Extensions (MIME) content-type is a general "family" or + "container" type for electronic mail reports of any kind. The most used type is delivery-status. + - + - Returns header field as string. + Default constructor. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If true always specified encoding is used. If false and header field value not modified, original encoding is kept. - Returns header field as string. + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + - Gets if this header field is modified since it has loaded. + Parses body from the specified stream - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or stream is null reference. + Is raised when any parsing errors. - + - Returns always "Content-Disposition". + This class represents MIME multipart/signed body. Defined in RFC 5751. - + - Gets the disposition-type. Known values are in MIME_DispositionTypes. + Default constructor. + Content type. + Is raised when contentType is null reference. + Is raised when any of the arguments has invalid value. - + - Gets Content-Type parameters collection. + Parses body from the specified stream + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, mediaTypedefaultContentTypeb> or stream is null reference. + Is raised when any parsing errors. - + - Gets or sets the suggested file name. Value null means not specified. Defined in RFC 2183 2.3. + This class represent MIME entity body provider. - + - Gets or sets the creation date for a file. Value DateTime.MinValue means not specified. Defined in RFC 2183 2.4. + Default constructor. - + - Gets or sets the modification date of a file. Value DateTime.MinValue means not specified. Defined in RFC 2183 2.5. + Parses MIME entity body from specified stream. + Owner MIME entity. + Stream from where to parse entity body. + Default content type. + Returns parsed body. + Is raised when owner, strean or defaultContentType is null reference. + Is raised when header field parsing errors. - + - Gets or sets the last read date of a file. Value DateTime.MinValue means not specified. Defined in RFC 2183 2.6. + This class is base class for singlepart media bodies like: text,video,audio,image. - + - Gets or sets the size of a file. Value -1 means not specified. Defined in RFC 2183 2.7. + Default constructor. + Content type. + Is raised when contentType is null reference. - - - Represents "Content-Type:" header. Defined in RFC 2045 5.1. - - - - RFC 2045 5.1. - In the Augmented BNF notation of RFC 822, a Content-Type header field - value is defined as follows: - - content := "Content-Type" ":" type "/" subtype - *(";" parameter) - ; Matching of media type and subtype - ; is ALWAYS case-insensitive. - - type := discrete-type / composite-type - - discrete-type := "text" / "image" / "audio" / "video" / "application" / extension-token - - composite-type := "message" / "multipart" / extension-token - - extension-token := ietf-token / x-token - - ietf-token := (An extension token defined by a standards-track RFC and registered with IANA.) - - x-token := (The two characters "X-" or "x-" followed, with no intervening white space, by any token) - - subtype := extension-token / iana-token - - iana-token := (A publicly-defined extension token. Tokens of this form must be registered with IANA as specified in RFC 2048.) - - parameter := attribute "=" value - - attribute := token - ; Matching of attributes - ; is ALWAYS case-insensitive. - - value := token / quoted-string - - token := 1*(any (US-ASCII) CHAR except SPACE, CTLs,or tspecials) - - tspecials := "(" / ")" / "<" / ">" / "@" / - "," / ";" / ":" / "\" / " - "/" / "[" / "]" / "?" / "=" - ; Must be in quoted-string, - ; to use within parameter values - - - - + - Default constructor. + Destructor - Just incase user won't call dispose. - Media type with subtype. For example text/plain. - Is raised when mediaType is null reference. - + - Internal parser constructor. + Sets body parent. + Owner entity. + If true sets entity.ContentType header value. - + - Parses header field from the specified value. + Stores MIME entity body to the specified stream. - Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. - Returns parsed header field. - Is raised when value is null reference. - Is raised when header field parsing errors. + Stream where to store body data. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null reference. - + - Returns header field as string. + Sets IsModified property value. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If true always specified encoding is used. If false and header field value not modified, original encoding is kept. - Returns header field as string. + Modified flag. - + - Gets if this header field is modified since it has loaded. + Gets body encoded data stream. - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. + Returns body encoded data stream. + Is raised when this method is accessed and this body is not bounded to any entity. - + - Returns always "Content-Type". + Sets body encoded data from specified stream. + Content-Transfer-Encoding in what encoding stream data is. + Stream data to add. + Is raised when contentTransferEncoding or stream is null reference. + Is raised when any of the argumennts has invalid value. + Is raised when this method is accessed and this body is not bounded to any entity. - + - Gets media type. For example: application,image,text, ... . + Gets body decoded data stream. - The official list of reggistered types are http://www.iana.org/assignments/media-types . + Returns body decoded data stream. + Is raised when this method is accessed and this body is not bounded to any entity. + Is raised when body contains not supported Content-Transfer-Encoding. + The returned stream should be closed/disposed as soon as it's not needed any more. - + - Gets media sub-type. For example for text/plain, sub-type is 'plain'. + Sets body data from the specified stream. - The official list of reggistered types are http://www.iana.org/assignments/media-types . + Source stream. + Specifies content-transfer-encoding to use to encode data. + Is raised when stream or transferEncoding is null reference. + Is raised when this method is accessed and this body is not bounded to any entity. - + - Gets media type with subtype as Type/SubType. Well known value are in MIME_MediaTypes. For example: text/plain. + Sets body data from the specified file. + File name with optional path. + Specifies content-transfer-encoding to use to encode data. + Is raised when file is null reference. + Is raised when this method is accessed and this body is not bounded to any entity. - + - Gets media type with subtype as Type/SubType. Well known value are in MIME_MediaTypes. For example: text/plain. + Gets if body has modified. - + - Gets Content-Type parameters collection. + Gets encoded body data size in bytes. - + - Gets or sets Content-Type name parameter value. Value null means not specified. + Gets body encoded data. + NOTE: Use this property with care, because body data may be very big and you may run out of memory. + For bigger data use method instead. - + - Gets or sets Content-Type charset parameter value. Value null means not specified. + Gets body decoded data. + NOTE: Use this property with care, because body data may be very big and you may run out of memory. + For bigger data use method instead. + Is raised when body contains not supported Content-Transfer-Encoding. - + - Gets or sets Content-Type boundary parameter value. Value null means not specified. + Gets encoded data stream. - + - This class represents MIME headers provider. + This class represents MIME text/xxx bodies. Defined in RFC 2045. + + The "text" media type is intended for sending material which is principally textual in form. + - + Default constructor. + MIME media type. + Is raised when mediaSubType is null reference. + Is raised when any of the arguments has invalid value. - + - Parses specified header field. + Parses body from the specified stream - Header field string (Name: value). - Returns parsed header field. - Is raised when field is null reference. - Is raised when header field parsing errors. + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, mediaType or stream is null reference. + Is raised when any parsing errors. - + - Gets or sets default header field what is used to reperesent unknown header fields. + Sets text. - This property value value must be based on class. - Is raised when null reference passed. - Is raised when invalid value is passed. + Content transfer encoding. + Charset to use to encode text. If not sure, utf-8 is recommended. + Text. + Is raised when transferEncoding, charset or text is null reference. + Is raised when this method is accessed and this body is not bounded to any entity. + Is raised when body contains not supported Content-Transfer-Encoding. - + - Gets header fields parsers collection. + Gets charset from Content-Type. If char set isn't specified, "ascii" is defined as default and it will be returned. + Returns content charset. + Is raised when Content-Type has not supported charset parameter value. - + - Represents MIME header field parameter. + Gets body decoded text. + Is raised when not supported content-type charset or not supported content-transfer-encoding value. + Is raised when body contains not supported Content-Transfer-Encoding. - + - Default constructor. + This class represents MIME unknown bodies. - Parameter name. - Parameter value. Value null means not specified. - + - Gets if this header field parameter is modified since it has loaded. + Default constructor. - All new added header fields parameters has IsModified = true. - Is riased when this class is disposed and this property is accessed. + MIME media type. + Is raised when mediaType is null reference. - + - Gets parameter name. + Parses body from the specified stream + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, defaultContentType or strean is null reference. + Is raised when any parsing errors. - + - Gets or sets parameter value. Value null means not specified. + This class represents MIME video/xxx bodies. Defined in RFC 2046 4.4. + + A media type of "video" indicates that the body contains a time- + varying-picture image, possibly with color and coordinated sound. + - + - Represents MIME header field parameters collection. + Default constructor. + MIME media type. + Is raised when mediaType is null reference. - + - Default constructor. + Parses body from the specified stream - Owner MIME header field. - Is raised when owner is null reference. + Owner MIME entity. + Default content-type for this body. + Stream from where to read body. + Returns parsed body. + Is raised when stream, mediaType or stream is null reference. + Is raised when any parsing errors. - + - Removes specified parametr from the collection. + Implements 'encoded-word' encoding. Defined in RFC 2047. - Parameter name. - Is raised when name is null reference. - + - Removes all items from the collection. + Default constructor. + Encoding to use to encode text. + Charset to use for encoding. If not sure UTF-8 is strongly recommended. + Is raised when charset is null reference. - + - Copies header fields parameters to new array. + Encodes specified text if it contains 8-bit chars, otherwise text won't be encoded. - Returns header fields parameters array. + Text to encode. + Returns encoded text. - + - Returns header field parameters as string. + Decodes specified encoded-word. - Returns header field parameters as string. + Encoded-word value. + Returns decoded text. + Is raised when text is null reference. - + - Returns header field parameters as string. + Checks if specified text must be encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - Returns header field parameters as string. + Text to encode. + Returns true if specified text must be encoded, otherwise false. + Is raised when text is null reference. - + - Parses parameters from the specified value. + Encodes specified text if it contains 8-bit chars, otherwise text won't be encoded. - Header field parameters string. - Is raised when value is null reference. + Encoding to use to encode text. + Charset to use for encoding. If not sure UTF-8 is strongly recommended. + If true, words are splitted after 75 chars. + Text to encode. + Returns encoded text. + Is raised when charset or text is null reference. - + - Parses parameters from the specified reader. + Decodes non-ascii word with MIME encoded-word method. Defined in RFC 2047 2. - MIME reader. - Is raised when reader is null reference. + MIME encoded-word value. + Returns decoded word. + If word is not encoded-word or has invalid syntax, word is leaved as is. + Is raised when word is null reference. - + - Decodes non-ascii text with MIME ext-octet method. Defined in RFC 2231 7. + Decodes non-ascii text with MIME encoded-word method. Defined in RFC 2047 2. - Text to decode, - Charset to use. + Text. Returns decoded text. - Is raised when text or charset is null. + Is raised when text is null reference. - + - Gets enumerator. + Gets or sets if long words(over 75 char) are splitted. - - + - Gets if this header field parameters are modified since it has loaded. + This is base class for MIME header fields. Defined in RFC 2045 3. - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. - + - Gets owner MIME header field. + Default constructor. - + - Gets number of items in the collection. + Returns header field as string. + Returns header field as string. - + - Gets or sets specified header field parameter value. Value null means not specified. + Returns header field as string. - Header field name. - Returns specified header field value or null if specified parameter doesn't exist. - Is raised when name is null reference. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If encoding needed, UTF-8 is strongly reccomended if not sure. + Returns header field as string. - + - This class represents header field parameter builder. + Returns header field as string. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If encoding needed, UTF-8 is strongly reccomended if not sure. + If true always specified encoding is used. If false and header field value not modified, original encoding is kept. + Returns header field as string. - + - Default constructor. + Returns header field value as string. - Parameter name. - Is raised when name is null reference. + Returns header field value as string. - + - Adds header field parameter part to paramter buffer. + Returns header field value as string. - Parameter part index. - If true parameter part is encoded. - Parameter part value. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If encoding needed, UTF-8 is strongly reccomended if not sure. + Returns header field value as string. - + - Gets header field parameter(splitted paramter values concated). + Gets if this header field is modified since it has loaded. - Returns header field parameter. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - Gets parameter name. + Gets header field name. For example "Content-Type". - + - This class represent header field what parsing has failed. + This class represents MIME header fields collection. Defined in RFC 2045. - + Default constructor. - Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. - Parsing error. - Is raised when value is null reference. - Is raised when header field parsing errors. + Header fields provider. + Is raised when provider is null reference. - + - Parses header field from the specified value. + Inserts a new header field into the collection at the specified location. - Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. - Returns parsed header field. - Is alwyas raised when this mewthod is accsessed. + The location in the collection where you want to add the item. + Header field to insert. + Is raised when index is out of range. + Is raised when field is null reference. - + - Returns header field as string. + Parses and adds specified header field to the end of the collection. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If true always specified encoding is used. If false and header field value not modified, original encoding is kept. - Returns header field as string. + Header field string (Name: value). + Retunrs added header field. + Is raised when field is null reference. - + - Gets if this header field is modified since it has loaded. + Adds specified header field to the end of the collection. - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. + Header field to add. + Is raised when field is null reference value. - + - Gets header field name. + Removes specified header field from the collection. + Header field to remove. + Is raised when field is null reference value. - + - Gets header field value. + Removes all header fields with the specified name. + Header field name. + Is raised when name is null reference. + Is raised when any of the arguments has invalid value. - + - Gets error happened during parse. + Removes all items from the collection. - + - This class represents normal unstructured text header field. + Gets if collection has item with the specified name. + Header field name. + Returns true if specified item exists in the collection, otherwise false. + Is raised when name is null reference. + Is raised when any of the arguments has invalid value. - + - Default constructor. + Gets if collection contains the specified item. - Header field name. - Header field value. - Is raised when name or value is null reference. + Header field. + Returns true if specified item exists in the collection, otherwise false. + Is raised when field is null reference. - + - Internal parser constructor. + Gets first header field with the specified name. returns null if specified header field doesn't exist. + Header field name. + Returns first header field with the specified name. returns null if specified header field doesn't exist. + Is raised when name is null reference. - + - Parses header field from the specified value. + Replaces first header field with specified name with specified value. - Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. - Returns parsed header field. - Is raised when value is null reference. - Is raised when header field parsing errors. + Hedaer field. + Is raised when field is null reference. - + - Returns header field as string. + Copies header fields to new array. - 8-bit words ecnoder. Value null means that words are not encoded. - Charset to use to encode 8-bit characters. Value null means parameters not encoded. - If true always specified encoding is used. If false and header field value not modified, original encoding is kept. - Returns header field as string. + Returns header fields array. - + - Gets if this header field is modified since it has loaded. + Stores header to the specified file. - All new added header fields has IsModified = true. - Is riased when this class is disposed and this property is accessed. + File name with optional path. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Is raised when fileName is null reference. - + - Gets header field name. + Returns header as byte[] data. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Returns header as byte[] data. - + - Gets or sets header field value. + Stores header to the specified stream. - Is raised when when null reference is passed. + Stream where to store header. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Is raised when stream is null reference. - + - This enum specified balance mode. + Stores header to the specified stream. + Stream where to store header. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null reference. - + - Operation is load balanched by all workers. + Returns MIME header as string. + Returns MIME header as string. - + - Operation will be handed over to next worker, if last one fails. + Returns MIME header as string. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Returns MIME header as string. - + - This class universal event arguments for transporting single value. + Returns MIME header as string. - Event data. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used. If false and header fields which value not modified, original encoding is kept. + Returns MIME header as string. - + - Default constructor. + Parses MIME header from the specified value. - Event data. + MIME header string. + Is raised when value is null reference. - + - Gets event data. + Parses MIME header from the specified stream. + MIME header stream. + Is raised when stream is null. - + - This class provides data for error events and methods. + Parses MIME header from the specified stream. + MIME header stream. + Headers fields reading encoding. If not sure, UTF-8 is recommended. + Is raised when stream or encoding is null. - + - Default constructor. + Gets enumerator. - Exception. - Is raised when exception is null reference value. + - + - Gets exception. + Gets if header has modified since it was loaded. - + - Represents a network endpoint as an host(name or IP address) and a port number. + Gets number of items in the collection. - + - Default constructor. + Gets the element at the specified index. - Host name or IP address. - The port number associated with the host. Value -1 means port not specified. - Is raised when host is null. - Is raised when any of the arguments has invalid value. + The zero-based index of the element to get. + Returns the element at the specified index. + Is raised when index is out of range. - + - Default constructor. + Gets header fields with the specified name. - Host IP end point. - Is raised when endPoint is null reference. + Header field name. + Returns header fields with the specified name. + Is raised when name is null reference. - + - Parses HostEndPoint from the specified string. + Gets header fields provider. - HostEndPoint value. - Returns parsed HostEndPoint value. - Is raised when value is null. - Is raised when any of the arguments has invalid value. - + + + Represents "Content-Disposition:" header. Defined in RFC 2183. + + + + RFC 2183. + In the extended BNF notation of [RFC 822], the Content-Disposition + header field is defined as follows: + + disposition := "Content-Disposition" ":" disposition-type *(";" disposition-parm) + + disposition-type := "inline" / "attachment" / extension-token + ; values are not case-sensitive + + disposition-parm := filename-parm + / creation-date-parm + / modification-date-parm + / read-date-parm + / size-parm + / parameter + + filename-parm := "filename" "=" value + + creation-date-parm := "creation-date" "=" quoted-date-time + + modification-date-parm := "modification-date" "=" quoted-date-time + + read-date-parm := "read-date" "=" quoted-date-time + + size-parm := "size" "=" 1*DIGIT + + quoted-date-time := quoted-string + ; contents MUST be an RFC 822 `date-time' + ; numeric timezones (+HHMM or -HHMM) MUST be used + + + + - Parses HostEndPoint from the specified string. + Default constructor. - HostEndPoint value. - If port isn't specified in value, specified port will be used. - Returns parsed HostEndPoint value. - Is raised when value is null. + The disposition-type. Known values are in MIME_DispositionTypes. + Is raised when dispositionType is null reference. Is raised when any of the arguments has invalid value. - + - Returns HostEndPoint as string. + Internal parser constructor. - Returns HostEndPoint as string. - + - Gets if Host is IP address. + Parses header field from the specified value. + Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. + Returns parsed header field. + Is raised when value is null reference. + Is raised when header field parsing errors. - + - Gets host name or IP address. + Returns header field as string. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If true always specified encoding is used. If false and header field value not modified, original encoding is kept. + Returns header field as string. - + - Gets the port number of the endpoint. Value -1 means port not specified. + Gets if this header field is modified since it has loaded. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - This class provides data for Logger.WriteLog event. + Returns always "Content-Disposition". - + - Default constructor. + Gets the disposition-type. Known values are in MIME_DispositionTypes. - New log entry. - Is raised when logEntry is null. - + - Gets new log entry. + Gets Content-Type parameters collection. - + - This class holds MIME content disposition types. Defined in RFC 2183. + Gets or sets the suggested file name. Value null means not specified. Defined in RFC 2183 2.3. - + - A bodypart should be marked `inline' if it is intended to be displayed automatically upon display of the message. - Inline bodyparts should be presented in the order in which they occur, subject to the normal semantics of multipart messages. + Gets or sets the creation date for a file. Value DateTime.MinValue means not specified. Defined in RFC 2183 2.4. - + - Bodyparts can be designated `attachment' to indicate that they are separate from the main body of the mail message, - and that their display should not be automatic, but contingent upon some further action of the user. + Gets or sets the modification date of a file. Value DateTime.MinValue means not specified. Defined in RFC 2183 2.5. - + - This class holds well known Content-Type header field media types. For example: text/plain, application/octet-stream. - Full IANA registered list can be found from: http://www.iana.org/assignments/media-types. + Gets or sets the last read date of a file. Value DateTime.MinValue means not specified. Defined in RFC 2183 2.6. - + - This class holds well-known application/xxx media types. + Gets or sets the size of a file. Value -1 means not specified. Defined in RFC 2183 2.7. - + + + Represents "Content-Type:" header. Defined in RFC 2045 5.1. + + + + RFC 2045 5.1. + In the Augmented BNF notation of RFC 822, a Content-Type header field + value is defined as follows: + + content := "Content-Type" ":" type "/" subtype + *(";" parameter) + ; Matching of media type and subtype + ; is ALWAYS case-insensitive. + + type := discrete-type / composite-type + + discrete-type := "text" / "image" / "audio" / "video" / "application" / extension-token + + composite-type := "message" / "multipart" / extension-token + + extension-token := ietf-token / x-token + + ietf-token := (An extension token defined by a standards-track RFC and registered with IANA.) + + x-token := (The two characters "X-" or "x-" followed, with no intervening white space, by any token) + + subtype := extension-token / iana-token + + iana-token := (A publicly-defined extension token. Tokens of this form must be registered with IANA as specified in RFC 2048.) + + parameter := attribute "=" value + + attribute := token + ; Matching of attributes + ; is ALWAYS case-insensitive. + + value := token / quoted-string + + token := 1*(any (US-ASCII) CHAR except SPACE, CTLs,or tspecials) + + tspecials := "(" / ")" / "<" / ">" / "@" / + "," / ";" / ":" / "\" / " + "/" / "[" / "]" / "?" / "=" + ; Must be in quoted-string, + ; to use within parameter values + + + + - "application/octet-stream". Defined in RFC 2045,2046. + Default constructor. + Media type with subtype. For example text/plain. + Is raised when mediaType is null reference. - + - "application/pdf". Defined in RFC 3778. + Internal parser constructor. - + - "application/sdp". Defined in RFC 4566. + Parses header field from the specified value. + Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. + Returns parsed header field. + Is raised when value is null reference. + Is raised when header field parsing errors. - + - "application/xml". Defined RFC 3023. + Returns header field as string. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If true always specified encoding is used. If false and header field value not modified, original encoding is kept. + Returns header field as string. - + - "application/zip". Defined in RFC 4566. + Gets if this header field is modified since it has loaded. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - "application/x-pkcs7-signature". Defined in RFC 2311,2633. + Returns always "Content-Type". - + - "application/pkcs7-mime". Defined in RFC 5751. + Gets media type. For example: application,image,text, ... . + The official list of reggistered types are http://www.iana.org/assignments/media-types . - + - This class holds well-known image/xxx media types. + Gets media sub-type. For example for text/plain, sub-type is 'plain'. + The official list of reggistered types are http://www.iana.org/assignments/media-types . - + - "image/gif". + Gets media type with subtype as Type/SubType. Well known value are in MIME_MediaTypes. For example: text/plain. - + - "image/jpeg". + Gets media type with subtype as Type/SubType. Well known value are in MIME_MediaTypes. For example: text/plain. - + - "image/tiff". + Gets Content-Type parameters collection. - + - This class holds well-known text/xxx media types. + Gets or sets Content-Type name parameter value. Value null means not specified. - + - "text/calendar". Defined in RFC 2445. + Gets or sets Content-Type charset parameter value. Value null means not specified. - + - "text/css". Defined in RFC 2854 + Gets or sets Content-Type boundary parameter value. Value null means not specified. - + - "text/html". Defined in RFC 2854. + This class represents MIME headers provider. - + - "text/plain". Defined in RFC 2646,2046. + Default constructor. - + - "text/rfc822-headers". Defined in RFC 1892. + Parses specified header field. + Header field string (Name: value). + Returns parsed header field. + Is raised when field is null reference. + Is raised when header field parsing errors. - + - "text/richtext". Defined in RFC 2045,2046. + Gets or sets default header field what is used to reperesent unknown header fields. + This property value value must be based on class. + Is raised when null reference passed. + Is raised when invalid value is passed. - + - "text/xml". Defined in RFC 3023. + Gets header fields parsers collection. - + - This class holds well-known multipart/xxx media types. + Represents MIME header field parameter. - + - "multipart/alternative". Defined in RFC 2045,2046. + Default constructor. + Parameter name. + Parameter value. Value null means not specified. - + - "multipart/digest". Defined in RFC 2045,2046. + Gets if this header field parameter is modified since it has loaded. + All new added header fields parameters has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - "multipart/digest". Defined in RFC 1847. + Gets parameter name. - + - "multipart/form-data". Defined in RFC 2388. + Gets or sets parameter value. Value null means not specified. - + - "multipart/mixed". Defined in RFC 2045,2046. + Represents MIME header field parameters collection. - + - "multipart/parallel". Defined in RFC 2045,2046. + This class represents header field parameter builder. - + - "multipart/related". Defined in RFC 2387. + Default constructor. + Parameter name. + Is raised when name is null reference. - + - "multipart/report". Defined in RFC 1892. + Adds header field parameter part to paramter buffer. + Parameter part index. + If true parameter part is encoded. + Parameter part value. - + - "multipart/signed". Defined in RFC 1847. + Gets header field parameter(splitted paramter values concated). + Returns header field parameter. - + - "multipart/voice-message". Defined in RFC 2421,2423. + Gets parameter name. - + - This class holds well-known message/xxx media types. + Default constructor. + Owner MIME header field. + Is raised when owner is null reference. - + - "message/rfc822". + Removes specified parametr from the collection. + Parameter name. + Is raised when name is null reference. - + - "message/disposition-notification". + Removes all items from the collection. - + - "message/delivery-status". Defined in RFC 3464. + Copies header fields parameters to new array. + Returns header fields parameters array. - + - This enum specifies MIME RFC 2047 'encoded-word' encoding method. + Returns header field parameters as string. + Returns header field parameters as string. - + - The "B" encoding. Defined in RFC 2047 (section 4.1). + Returns header field parameters as string. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + Returns header field parameters as string. - + - The "Q" encoding. Defined in RFC 2047 (section 4.2). + Parses parameters from the specified value. + Header field parameters string. + Is raised when value is null reference. - + - Represents MIME child entity collection in multipart/xxx entity. + Parses parameters from the specified reader. + MIME reader. + Is raised when reader is null reference. - + - Default constructor. + Decodes non-ascii text with MIME ext-octet method. Defined in RFC 2231 7. + Text to decode, + Charset to use. + Returns decoded text. + Is raised when text or charset is null. - + - Adds specified MIME enity to the collection. + Gets enumerator. - MIME entity. - Is raised when entity is null reference. + - + - Inserts a new MIME entity into the collection at the specified location. + Gets if this header field parameters are modified since it has loaded. - The location in the collection where you want to add the MIME entity. - MIME entity. - Is raised when index is out of range. - Is raised when entity is null reference. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - Removes specified MIME entity from the collection. + Gets owner MIME header field. - MIME entity. - Is raised when field is null reference. - + - Removes MIME entity at the specified index from the collection. + Gets number of items in the collection. - The index of the MIME entity to remove. - Is raised when index is out of range. - + - Removes all items from the collection. + Gets or sets specified header field parameter value. Value null means not specified. + Header field name. + Returns specified header field value or null if specified parameter doesn't exist. + Is raised when name is null reference. - + - Gets if the collection contains specified MIME entity. + This class represent header field what parsing has failed. - MIME entity. - Returns true if the specified MIME entity exists in the collection, otherwise false. - Is raised when entity is null. - + - Sets IsModified property value. + Default constructor. - Modified flag. + Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. + Parsing error. + Is raised when value is null reference. + Is raised when header field parsing errors. - + - Gets enumerator. + Parses header field from the specified value. - Returns IEnumerator interface. + Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. + Returns parsed header field. + Is alwyas raised when this mewthod is accsessed. - + - Gets if enity collection has modified. + Returns header field as string. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If true always specified encoding is used. If false and header field value not modified, original encoding is kept. + Returns header field as string. - + - Gets number of items in the collection. + Gets if this header field is modified since it has loaded. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - Gets MIME entity at the specified index. + Gets header field name. - MIME entity zero-based index. - Returns MIME entity. - + - MIME lexical tokens parser. + Gets header field value. - + - Default constructor. + Gets error happened during parse. - Value to read. - Is raised when value is null. - + - Reads RFC 2822 'atom' from source stream. + This class represents normal unstructured text header field. - Returns RFC 2822 'atom' or null if end of stream reached. - + - Reads RFC 2822 'dot-atom' from source stream. + Default constructor. - Returns RFC 2822 'dot-atom' or null if end of stream reached. + Header field name. + Header field value. + Is raised when name or value is null reference. - + - Reads RFC 2045 (section 5) 'token' from source stream. + Internal parser constructor. - Returns RFC 2045 (section 5) 'token' or null if end of stream reached. - + - Reads RFC 822 'comment' from source stream. + Parses header field from the specified value. - Returns RFC 822 'comment' or null if end of stream reached. + Header field value. Header field name must be included. For example: 'Content-Type: text/plain'. + Returns parsed header field. + Is raised when value is null reference. + Is raised when header field parsing errors. - + - Reads RFC 2822 (section 3.2.6) 'word' from source stream. + Returns header field as string. - Returns RFC 2822 (section 3.2.6) 'word' or null if end of stream reached. + 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit characters. Value null means parameters not encoded. + If true always specified encoding is used. If false and header field value not modified, original encoding is kept. + Returns header field as string. - + - Reads RFC 2047 'encoded-word' from source stream. + Gets if this header field is modified since it has loaded. - Returns RFC 2047 'encoded-word' or null if end of stream reached. - Is raised when source stream has no encoded-word at current position. + All new added header fields has IsModified = true. + Is riased when this class is disposed and this property is accessed. - + - Reads RFC 822 'quoted-string' from source stream. + Gets header field name. - Returns RFC 822 'quoted-string' or null if end of stream reached. - Is raised when source stream has no quoted-string at current position. - Is raised when not valid 'quoted-string'. - + - Reads RFC 2045 (section 5) 'token' from source stream. + Gets or sets header field value. - Returns 2045 (section 5) 'token' or null if end of stream reached. + Is raised when when null reference is passed. - + - Reads RFC 2047 (section 5) 'phrase' from source stream. + This class holds MIME content disposition types. Defined in RFC 2183. - Returns RFC 2047 (section 5) 'phrase' or null if end of stream reached. - + - Reads RFC 822 '*text' from source stream. + A bodypart should be marked `inline' if it is intended to be displayed automatically upon display of the message. + Inline bodyparts should be presented in the order in which they occur, subject to the normal semantics of multipart messages. - Returns RFC 822 '*text' or null if end of stream reached. - + - Reads all white-space chars + CR and LF. + Bodyparts can be designated `attachment' to indicate that they are separate from the main body of the mail message, + and that their display should not be automatic, but contingent upon some further action of the user. - Returns readed chars. - + - Reads 1 char from source stream. + This class holds well known Content-Type header field media types. For example: text/plain, application/octet-stream. + Full IANA registered list can be found from: http://www.iana.org/assignments/media-types. - Specifies if postion is moved to char(skips white spaces). - Returns readed char or -1 if end of stream reached. - + - Shows next char in source stream, this method won't consume that char. + This class holds well-known application/xxx media types. - Specifies if postion is moved to char(skips white spaces). - Returns next char in source stream, returns -1 if end of stream. - + - Gets if source stream valu starts with the specified value. Compare is case-insensitive. + "application/octet-stream". Defined in RFC 2045,2046. - Value to check. - Returns true if source steam satrs with specified string. - Is raised when value is null. - + - Reads all data from current postion to the end. + "application/pdf". Defined in RFC 3778. - Retruns readed data. Returns null if end of string is reached. - + - Gets if the specified char is RFC 822 'ALPHA'. + "application/sdp". Defined in RFC 4566. - Char to check. - Returns true if specified char is RFC 822 'ALPHA'. - + - Gets if the specified char is RFC 2822 'atext'. + "application/xml". Defined RFC 3023. - Char to check. - Returns true if specified char is RFC 2822 'atext'. - + - Gets if the specified value can be represented as "dot-atom". + "application/zip". Defined in RFC 4566. - Value to check. - Returns true if the specified value can be represented as "dot-atom". - + - Gets if specified valu is RFC 2045 (section 5) 'token'. + "application/x-pkcs7-signature". Defined in RFC 2311,2633. - Text to check. - Returns true if specified char is RFC 2045 (section 5) 'token'. - Is raised when text is null. - + - Gets if the specified char is RFC 2045 (section 5) 'token'. + "application/pkcs7-mime". Defined in RFC 5751. - Char to check. - Returns true if specified char is RFC 2045 (section 5) 'token'. - + - Gets if the specified char is RFC 2231 (section 7) 'attribute-char'. + This class holds well-known image/xxx media types. - Char to check. - Returns true if specified char is RFC 2231 (section 7) 'attribute-char'. - + - Reads parenthesized value. Supports {},(),[],<> parenthesis. - Throws exception if there isn't parenthesized value or closing parenthesize is missing. + "image/gif". - Returns value between parenthesized. - + - Reads string to specified delimiter or to end of underlying string. Notes: Delimiters in quoted string is skipped. - For example: delimiter = ',', text = '"aaaa,eee",qqqq' - then result is '"aaaa,eee"'. + "image/jpeg". - Data delimiters. - Returns readed string or null if end of string reached. - Is raised when delimiters is null reference. - + - Gets number of chars has left for processing. + "image/tiff". - + - Gets position in string. + This class holds well-known text/xxx media types. - + - This class holds MIME content transfer encodings. Defined in RFC 2045 6. + "text/calendar". Defined in RFC 2445. - + - Up to 998 octets per line of the code range 1..127 with CR and LF (codes 13 and 10 respectively) only allowed to - appear as part of a CRLF line ending. This is the default value. - Defined in RFC 2045 6.2. + "text/css". Defined in RFC 2854 - + - Up to 998 octets per line with CR and LF (codes 13 and 10 respectively) only allowed to appear as part of a CRLF line ending. - Defined in RFC 2045 6.2. + "text/html". Defined in RFC 2854. - + - Used to encode arbitrary octet sequences into a form that satisfies the rules of 7bit. - Designed to be efficient and mostly human readable when used for text data consisting primarily of US-ASCII characters - but also containing a small proportion of bytes with values outside that range. - Defined in RFC 2045 6.7. + "text/plain". Defined in RFC 2646,2046. - + - Used to encode arbitrary octet sequences into a form that satisfies the rules of 7bit. Has a fixed overhead and is - intended for non text data and text that is not ASCII heavy. - Defined in RFC 2045 6.8. + "text/rfc822-headers". Defined in RFC 1892. - + - Any sequence of octets. This type is not widely used. Defined in RFC 3030. + "text/richtext". Defined in RFC 2045,2046. - + - Provides MIME related utility methods. + "text/xml". Defined in RFC 3023. - + - Converts date to RFC 2822 date time string. + This class holds well-known multipart/xxx media types. - Date time value to convert.. - Returns RFC 2822 date time string. - + - Parses RFC 2822 date-time from the specified value. + "multipart/alternative". Defined in RFC 2045,2046. - RFC 2822 date-time string value. - Returns parsed datetime value. - Is raised when value is null. - Is raised when any of the arguments has invalid value. - + - Unfolds folded header field. + "multipart/digest". Defined in RFC 2045,2046. - Header field. - Returns unfolded header field. - Is raised when value is null reference. - + - Creates Rfc 2822 3.6.4 message-id. Syntax: '<' id-left '@' id-right '>'. + "multipart/digest". Defined in RFC 1847. - - + - Parses headers from message or mime entry. + "multipart/form-data". Defined in RFC 2388. - Stream from where to read headers. - Returns header lines. - + - Parse header specified header field value. - - Use this method only if you need to get only one header field, otherwise use - MimeParser.ParseHeaderField(string fieldName,string headers). - This avoid parsing headers multiple times. + "multipart/mixed". Defined in RFC 2045,2046. - Header field which to parse. Eg. Subject: . - Stream from where to read headers. - - + - Parse header specified header field value. + "multipart/parallel". Defined in RFC 2045,2046. - Header field which to parse. Eg. Subject: . - Full headers string. Use MimeParser.ParseHeaders() to get this value. - + - "Q" decoder. This is same as quoted-printable, except '_' is converted to ' '. - Defined in RFC 2047 4.2. + "multipart/related". Defined in RFC 2387. - Input string encoding. - String which to encode. - Returns decoded string. - Is raised when encoding or data is null reference. - + - quoted-printable decoder. Defined in RFC 2045 6.7. + "multipart/report". Defined in RFC 1892. - Data which to encode. - Returns decoded data. - Is raised when data is null reference. - + - POP3 client exception. + "multipart/signed". Defined in RFC 1847. - + - Default constructor. + "multipart/voice-message". Defined in RFC 2421,2423. - IMAP server response line. - Is raised when responseLine is null. - + - Gets POP3 server error status code. + This class holds well-known message/xxx media types. - + - Gets POP3 server response text after status code. + "message/rfc822". - + - This class represents POP3 client message. + "message/disposition-notification". - + - Default constructor. + "message/delivery-status". Defined in RFC 3464. - Owner POP3 client. - Message 1 based sequence number. - Message size in bytes. - + - Marks message as deleted. + This enum specifies MIME RFC 2047 'encoded-word' encoding method. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 serveer returns error. - + - Starts sending DELE command to POP3 server. + The "B" encoding. Defined in RFC 2047 (section 4.1). - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - + - Gets message header as string. + The "Q" encoding. Defined in RFC 2047 (section 4.2). - Returns message header as string. - Is raised when this object is disposed and this method is accessed. - Is raised when message is marked for deletion and this method is accessed. - Is raised when POP3 serveer returns error. - + - Gets message header as byte[] data. + Represents a MIME entity. Defined in RFC 2045 2.4. - Returns message header as byte[] data. - Is raised when this object is disposed and this method is accessed. - Is raised when message is marked for deletion and this method is accessed. - Is raised when POP3 serveer returns error. - + - Stores message header to the specified stream. + Default constructor. - Stream where to store data. - Is raised when this object is disposed and this method is accessed. - Is raised when argument stream value is null. - Is raised when POP3 serveer returns error. - + - Gets message as byte[] data. + Cleans up any resources being used. This method is thread-safe. - Returns message as byte[] data. - Is raised when this object is disposed and this method is accessed. - Is raised when message is marked for deletion and this method is accessed. - Is raised when POP3 server returns error. - + - Stores message to specified stream. + Stores MIME entity to the specified file. - Stream where to store message. - Is raised when this object is disposed and this method is accessed. - Is raised when argument stream value is null. - Is raised when message is marked for deletion and this method is accessed. - Is raised when POP3 serveer returns error. + File name with path where to store MIME entity. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Is raised when file is null. + Is raised when any of the arguments has invalid value. - + - Starts sending RETR command to POP3 server. + Stores MIME entity to the specified file. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + File name with path where to store MIME entity. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when file is null. + Is raised when any of the arguments has invalid value. - + - Gets message header + specified number lines of message body. + Store MIME enity to the specified stream. - Number of lines to get from message body. - Returns message header + specified number lines of message body. - Is raised when this object is disposed and this method is accessed. - Is raised when numberOfLines is negative value. - Is raised when message is marked for deletion and this method is accessed. - Is raised when POP3 serveer returns error. + Stream where to store MIME entity. Storing starts form stream current position. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Is raised when stream is null. - + - Stores message header + specified number lines of message body to the specified stream. + Store MIME enity to the specified stream. - Stream where to store data. - Number of lines to get from message body. - Is raised when this object is disposed and this method is accessed. - Is raised when argument stream value is null. - Is raised when message is marked for deletion and this method is accessed. - Is raised when POP3 server returns error. + Stream where to store MIME entity. Storing starts form stream current position. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Is raised when stream is null. - + - Starts sending TOP command to POP3 server. + Returns MIME entity as string. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Returns MIME entity as string. - + - Disposes message. + Returns MIME entity as string. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + Returns MIME entity as string. - + - Sets message UID value. + Returns MIME entity as string. - UID value. + Header 8-bit words ecnoder. Value null means that words are not encoded. + Charset to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Returns MIME entity as string. - + - Sets IsMarkedForDeletion flag value. + Returns MIME entity as byte[]. - New IsMarkedForDeletion value. + Header 8-bit words encoder. Value null means that words are not encoded. + Char set to use to encode 8-bit header parameters. Value null means parameters not encoded. + If true always specified encoding is used for header. If false and header field value not modified, + original encoding is kept. + Returns MIME entity as byte[]. - + - Gets if POP3 message is Disposed. + Parses MIME entiry from the specified stream. + Source stream. + Header reading encoding. If not sure UTF-8 is recommended. + Default content type. + Is raised when stream,headerEncoding or defaultContentType is null reference. - + - Gets message 1 based sequence number. + Sets MIME entity parent entity. - Is raised when this object is disposed and this property is accessed. + Parent entity. - + - Gets message UID. NOTE: Before accessing this property, check that server supports UIDL command. + Gets if this object is disposed. - Is raised when this object is disposed and this property is accessed. - Is raised when POP3 server doesnt support UIDL command. - + - Gets message size in bytes. + Gets if this entity is modified since it has loaded. - Is raised when this object is disposed and this property is accessed. + Is riased when this class is disposed and this property is accessed. - + - Gets if message is marked for deletion. + Gets the parent entity of this entity, returns null if this is the root entity. Is raised when this object is disposed and this property is accessed. - + - This class represents asynchronous operation. + Gets MIME entity header field collection. + Is raised when this object is disposed and this property is accessed. - + - Default constructor. + Gets or sets MIME version number. Value null means that header field does not exist. Normally this value is 1.0. Defined in RFC 2045 section 4. + Is raised when this object is disposed and this property is accessed. + An indicator that this message is formatted according to the MIME + standard, and an indication of which version of MIME is used. - + - Cleans up any resources being used. + Gets or sets content body part ID. Value null means that header field does not exist. Defined in RFC 2045 7. + Is raised when this object is disposed and this property is accessed. + Specifies a Unique ID for one MIME body part of the content of a message. - + - Starts operation processing. + Gets or sets description of message body part. Value null means that header field does not exist. Defined in RFC 2045 8. - Owner POP3 client message. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. + Is raised when this object is disposed and this property is accessed. + Description of a particular body part of a message; for example, a caption for an image body part. - + - Sets operation state. + Gets or sets content transfer encoding. Value null means that header field does not exist. + RFC defined values are in MIME_TransferEncodings. Defined in RFC 2045 6. - New state. + Is raised when this object is disposed and this property is accessed. + Coding method used in a MIME message body part. - + - Is called when DELE command sending has finished. + Gets or sets MIME content type. Value null means that header field does not exist. Defined in RFC 2045 5. - Asynchronous result. + Is raised when this object is disposed and this property is accessed. + Is raised when header field parsing errors. - + - Is called when POP3 server DELE response reading has completed. + Gets or sets base to be used for resolving relative URIs within this content part. Value null means that header field does not exist. - Asynchronous operation. + Is raised when this object is disposed and this property is accessed. + Base to be used for resolving relative URIs within this content part. See also Content-Location. - + - Raises CompletedAsync event. + Gets or sets URI for retrieving a body part. Value null means that header field does not exist. + Is raised when this object is disposed and this property is accessed. + URI using which the content of this body-part part was retrieved, + might be retrievable, or which otherwise gives a globally unique identification of the content. - + - Gets asynchronous operation state. + Gets or sets content features of a MIME body part. Value null means that header field does not exist. + Is raised when this object is disposed and this property is accessed. + The 'Content-features:' header can be used to annotate a MIME body part with a media feature expression, + to indicate features of the body part content. See also RFC 2533, RFC 2506, and RFC 2045. - + - Gets error happened during operation. Returns null if no error. + Gets or sets content disposition. Value null means that header field does not exist. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Is raised when this object is disposed and this property is accessed. + Indicates whether a MIME body part is to be shown inline or is an attachment; can also indicate a + suggested filename for use when saving an attachment to a file. + Is raised when header field parsing errors. - + - Is called when asynchronous operation has completed. + Gets or sets language of message content. Value null means that header field does not exist. + Is raised when this object is disposed and this property is accessed. + Can include a code for the natural language used in a message; e.g., 'en' for English. + Can also contain a list of languages for a message containing more than one language. - + - This class represents asynchronous operation. + Gets or sets message alternative content. Value null means that header field does not exist. + Is raised when this object is disposed and this property is accessed. + Information about the media features of alternative content formats available for the current message. - + - Default constructor. + Gets or sets content MD5 checksum. Value null means that header field does not exist. - Stream where to store message. - Is raised when stream is null reference. + Is raised when this object is disposed and this property is accessed. + Checksum of content to ensure that it has not been modified. - + - Cleans up any resources being used. + Gets or sets time duration of content. Value null means that header field does not exist. + Is raised when this object is disposed and this property is accessed. + Time duration of body part content, in seconds (e.g., for audio message). - + - Starts operation processing. + Gets or sets MIME entity body. - Owner POP3 client message. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. + Is raised when null reference passed. - + - Sets operation state. + Represents MIME child entity collection in multipart/xxx entity. - New state. - + - Is called when RETR command sending has finished. + Default constructor. - Asynchronous result. - + - Is called when POP3 server RETR response reading has completed. + Adds specified MIME enity to the collection. - Asynchronous operation. + MIME entity. + Is raised when entity is null reference. - + - Is called when message reading has completed. + Inserts a new MIME entity into the collection at the specified location. - Asynchronous operation. + The location in the collection where you want to add the MIME entity. + MIME entity. + Is raised when index is out of range. + Is raised when entity is null reference. - + - Raises CompletedAsync event. + Removes specified MIME entity from the collection. + MIME entity. + Is raised when field is null reference. - + - Gets asynchronous operation state. + Removes MIME entity at the specified index from the collection. + The index of the MIME entity to remove. + Is raised when index is out of range. - + - Gets error happened during operation. Returns null if no error. + Removes all items from the collection. - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Is called when asynchronous operation has completed. + Gets if the collection contains specified MIME entity. + MIME entity. + Returns true if the specified MIME entity exists in the collection, otherwise false. + Is raised when entity is null. - + - This class represents asynchronous operation. + Sets IsModified property value. + Modified flag. - + - Default constructor. + Gets enumerator. - Stream where to store message. - Number of lines to get from body(after message header) of the message. - Is raised when stream is null reference. - Is raised when any of the arguments has invalid value. + Returns IEnumerator interface. - + - Cleans up any resources being used. + Gets if enity collection has modified. - + - Starts operation processing. + Gets number of items in the collection. - Owner POP3 client message. - Returns true if asynchronous operation in progress or false if operation completed synchronously. - Is raised when owner is null reference. - + - Sets operation state. + Gets MIME entity at the specified index. - New state. + MIME entity zero-based index. + Returns MIME entity. - + - Is called when TOP command sending has finished. + Represents a MIME message. Defined in RFC 2045 2.3. - Asynchronous result. - + - Is called when POP3 server TOP response reading has completed. + Default constructor. - Asynchronous operation. - + - Is called when message reading has completed. + Parses MIME message from the specified file. - Asynchronous operation. + File name with path from where to parse MIME message. + Returns parsed MIME message. + Is raised when file is null. + Is raised when any of the arguments has invalid value. - + - Raises CompletedAsync event. + Parses MIME message from the specified file. + File name with path from where to parse MIME message. + Header reading encoding. If not sure UTF-8 is recommended. + Returns parsed MIME message. + Is raised when file or headerEncoding is null. + Is raised when any of the arguments has invalid value. - + - Gets asynchronous operation state. + Parses MIME message from the specified stream. + Stream from where to parse MIME message. Parsing starts from current stream position. + Returns parsed MIME message. + Is raised when stream is null. - + - Gets error happened during operation. Returns null if no error. - - Is raised when this object is disposed and and this property is accessed. - Is raised when this property is accessed other than AsyncOP_State.Completed state. + Parses MIME message from the specified stream. + + Stream from where to parse MIME message. Parsing starts from current stream position. + Header reading encoding. If not sure UTF-8 is recommended. + Returns parsed MIME message. + Is raised when stream or headerEncoding is null. - + - Is called when asynchronous operation has completed. + Creates attachment entity. + File name with optional path. + Returns created attachment entity. + Is raised when file is null reference. - + - This class represents POP3 client messages collection. + Creates attachment entity. + Attachment data stream. Data is read from stream current position. + File name. + Returns created attachment entity. + Is raised when stream or fileName is null reference. - + - Default constructor. + Gets all MIME entities as list. - Owner POP3 client. + If true, then embedded RFC822 message child entities are included. + Returns all MIME entities as list. + Is raised when this class is disposed and this method is accessed. - + - Cleans up any resources being used. + Gets MIME entity with the specified Content-ID. Returns null if no such entity. + Content ID. + Returns MIME entity with the specified Content-ID or null if no such entity. + Is raised when this class is disposed and this method is accessed. + Is raised when cid is null. + Is raised when any of the arguments has invalid value. - + - Adds new message to messages collection. + Gets all MIME entities as list. - Message size in bytes. + Is raised when this class is disposed and this property is accessed. + The nestetd entities of embbed messages with Content-Type: Message/Rfc822 are also included. - + - Gets enumerator. + MIME lexical tokens parser. - Returns IEnumerator interface. - Is raised when this object is disposed and this property is accessed. - + - Gets total size of messages, messages marked for deletion are included. + Default constructor. - Is raised when this object is disposed and this property is accessed. + Value to read. + Is raised when value is null. - + - Gets number of messages in the collection, messages marked for deletion are included. + Reads RFC 2822 'atom' from source stream. - Is raised when this object is disposed and this property is accessed. + Returns RFC 2822 'atom' or null if end of stream reached. - + - Gets message from specified index. + Reads RFC 2822 'dot-atom' from source stream. - Message zero based index in the collection. - Is raised when this object is disposed and this property is accessed. - Is raised when index is out of range. + Returns RFC 2822 'dot-atom' or null if end of stream reached. - + - Gets message with specified UID value. + Reads RFC 2045 (section 5) 'token' from source stream. - Message UID value. - Returns message or null if message doesn't exist. - Is raised when this object is disposed and this property is accessed. - Is raised when POP3 server doesn't support UIDL. + Returns RFC 2045 (section 5) 'token' or null if end of stream reached. - + - This class provides IMAP FETCH response handling methods. + Reads RFC 822 'comment' from source stream. + Returns RFC 822 'comment' or null if end of stream reached. - + - Default constructor. + Reads RFC 2822 (section 3.2.6) 'word' from source stream. + Returns RFC 2822 (section 3.2.6) 'word' or null if end of stream reached. - + - Sets CurrentSeqNo property value. + Reads RFC 2047 'encoded-word' from source stream. - Message sequnece number. + Returns RFC 2047 'encoded-word' or null if end of stream reached. + Is raised when source stream has no encoded-word at current position. - + - Raises NextMessage event. + Reads RFC 822 'quoted-string' from source stream. + Returns RFC 822 'quoted-string' or null if end of stream reached. + Is raised when source stream has no quoted-string at current position. + Is raised when not valid 'quoted-string'. - + - Raises Body event. + Reads RFC 2045 (section 5) 'token' from source stream. - Event args. + Returns 2045 (section 5) 'token' or null if end of stream reached. - + - Raises Envelope event. + Reads RFC 2047 (section 5) 'phrase' from source stream. - Envelope value. + Returns RFC 2047 (section 5) 'phrase' or null if end of stream reached. - + - Raises Flags event. + Reads RFC 822 '*text' from source stream. - Message flags. + Returns RFC 822 '*text' or null if end of stream reached. - + - Raises InternalDate event. + Reads all white-space chars + CR and LF. - Message IMAP server internal date. + Returns readed chars. - + - Raises Rfc822 event. + Reads 1 char from source stream. - Event args. + Specifies if postion is moved to char(skips white spaces). + Returns readed char or -1 if end of stream reached. - + - Raises Rfc822Text event. + Shows next char in source stream, this method won't consume that char. - Message header. + Specifies if postion is moved to char(skips white spaces). + Returns next char in source stream, returns -1 if end of stream. - + - Raises Rfc822Size event. + Gets if source stream valu starts with the specified value. Compare is case-insensitive. - Message size in bytes. + Value to check. + Returns true if source steam satrs with specified string. + Is raised when value is null. - + - Raises Rfc822Text event. + Reads all data from current postion to the end. - Message body text. + Retruns readed data. Returns null if end of string is reached. - + - Raises UID event. + Gets if the specified char is RFC 822 'ALPHA'. - Message UID value. + Char to check. + Returns true if specified char is RFC 822 'ALPHA'. - + - Raises X_GM_MSGID event. + Gets if the specified char is RFC 2822 'atext'. - Message ID. + Char to check. + Returns true if specified char is RFC 2822 'atext'. - + - Raises X_GM_THRID event. + Gets if the specified value can be represented as "dot-atom". - Message thread ID. + Value to check. + Returns true if the specified value can be represented as "dot-atom". - + - Gets current message sequence number. Value -1 means no current message. + Gets if specified valu is RFC 2045 (section 5) 'token'. + Text to check. + Returns true if specified char is RFC 2045 (section 5) 'token'. + Is raised when text is null. - + - This event is raised when current message changes and next message FETCH data-items will be returned. + Gets if the specified char is RFC 2045 (section 5) 'token'. + Char to check. + Returns true if specified char is RFC 2045 (section 5) 'token'. - + - Is raised when current message FETCH BODY[] data-item is returned. + Gets if the specified char is RFC 2231 (section 7) 'attribute-char'. + Char to check. + Returns true if specified char is RFC 2231 (section 7) 'attribute-char'. - + - Is raised when current message FETCH ENVELOPE data-item is returned. + Reads parenthesized value. Supports {},(),[],<> parenthesis. + Throws exception if there isn't parenthesized value or closing parenthesize is missing. + Returns value between parenthesized. - + - Is raised when current message FETCH FLAGS data-item is returned. + Reads string to specified delimiter or to end of underlying string. Notes: Delimiters in quoted string is skipped. + For example: delimiter = ',', text = '"aaaa,eee",qqqq' - then result is '"aaaa,eee"'. + Data delimiters. + Returns readed string or null if end of string reached. + Is raised when delimiters is null reference. - + - Is raised when current message FETCH INTERNALDATE data-item is returned. + Gets number of chars has left for processing. - + - Is raised when current message FETCH RFC822 data-item is returned. + Gets position in string. - + - Is raised when current message FETCH RFC822.HEADER data-item is returned. + This class holds MIME content transfer encodings. Defined in RFC 2045 6. - + - Is raised when current message FETCH RFC822.SIZE data-item is returned. + Up to 998 octets per line of the code range 1..127 with CR and LF (codes 13 and 10 respectively) only allowed to + appear as part of a CRLF line ending. This is the default value. + Defined in RFC 2045 6.2. - + - Is raised when current message FETCH RFC822.TEXT data-item is returned. + Up to 998 octets per line with CR and LF (codes 13 and 10 respectively) only allowed to appear as part of a CRLF line ending. + Defined in RFC 2045 6.2. - + - Is raised when current message FETCH UID data-item is returned. + Used to encode arbitrary octet sequences into a form that satisfies the rules of 7bit. + Designed to be efficient and mostly human readable when used for text data consisting primarily of US-ASCII characters + but also containing a small proportion of bytes with values outside that range. + Defined in RFC 2045 6.7. - + - Is raised when current message FETCH GMail X-GM-MSGID data-item is returned. + Used to encode arbitrary octet sequences into a form that satisfies the rules of 7bit. Has a fixed overhead and is + intended for non text data and text that is not ASCII heavy. + Defined in RFC 2045 6.8. - + - Is raised when current message FETCH GMail X-GM-THRID data-item is returned. + Any sequence of octets. This type is not widely used. Defined in RFC 3030. - + - This class represents FETCH BODY[] data item. Defined in RFC 3501. + Provides MIME related utility methods. - + - Defualt constructor. + Converts date to RFC 2822 date time string. - Body section value. - Body data offset. + Date time value to convert.. + Returns RFC 2822 date time string. - + - Raises StoringCompleted event. + Parses RFC 2822 date-time from the specified value. + RFC 2822 date-time string value. + Returns parsed datetime value. + Is raised when value is null. + Is raised when any of the arguments has invalid value. - + - Gets BODY section value. Value null means not specified(full message). + Unfolds folded header field. + Header field. + Returns unfolded header field. + Is raised when value is null reference. - + - Gets BODY data returning start offset. Value null means not specified. + Creates Rfc 2822 3.6.4 message-id. Syntax: '<' id-left '@' id-right '>'. + - + - Gets or sets stream where BODY data is stored. + Parses headers from message or mime entry. + Stream from where to read headers. + Returns header lines. - + - This method is called when message storing has completed. + Parse header specified header field value. + + Use this method only if you need to get only one header field, otherwise use + MimeParser.ParseHeaderField(string fieldName,string headers). + This avoid parsing headers multiple times. + Header field which to parse. Eg. Subject: . + Stream from where to read headers. + - + - This class provides data for the event. + Parse header specified header field value. + Header field which to parse. Eg. Subject: . + Full headers string. Use MimeParser.ParseHeaders() to get this value. - + - Default constructor. + "Q" decoder. This is same as quoted-printable, except '_' is converted to ' '. + Defined in RFC 2047 4.2. + Input string encoding. + String which to encode. + Returns decoded string. + Is raised when encoding or data is null reference. - + - Raises StoringCompleted event. + quoted-printable decoder. Defined in RFC 2045 6.7. + Data which to encode. + Returns decoded data. + Is raised when data is null reference. - + - Gets or sets stream where RFC822 message is stored. + This enum specified balance mode. - + - This method is called when message storing has completed. + Operation is load balanched by all workers. - + - This class represents IMAP FETCH ENVELOPE data item. Defined in RFC 3501. + Operation will be handed over to next worker, if last one fails. - + - Default constructor. + This class universal event arguments for transporting single value. - Message Date header value. - Message Subject header value. - Message From header value. - Message Sender header value. - Message Reply-To header value. - Message To header value. - Message Cc header value. - Message Bcc header value. - Message In-Reply-To header value. - Message Message-ID header value. + Event data. - + - Parses IMAP ENVELOPE from string. + Default constructor. - String reader. - Returns parsed IMAP ENVELOPE string. - Is raised when r is null reference. + Event data. - + - Parses IMAP FETCH ENVELOPE data-item. + Gets event data. - Fetch reader. - Returns parsed IMAP FETCH ENVELOPE data-item. - Is raised when fetchReader is null reference. - + - Construct secified mime entity ENVELOPE string. + This class provides data for error events and methods. - Mail message. - - + - Reads parenthesized list of addresses. + Default constructor. - String reader. - Returns read addresses. - Is raised when r is null reference. + Exception. + Is raised when exception is null reference value. - + - Reads parenthesized list of addresses. + Gets exception. - Fetch reader. - Returns read addresses. - Is raised when fetchReader is null reference. - + - Constructs ENVELOPE addresses structure. + Represents a network endpoint as an host(name or IP address) and a port number. - Mailboxes. - Unicode words encoder. - - + - Constructs ENVELOPE address structure. + Default constructor. - Mailbox address. - Unicode words encoder. - + Host name or IP address. + The port number associated with the host. Value -1 means port not specified. + Is raised when host is null. + Is raised when any of the arguments has invalid value. - + - Removes CR and LF chars from the specified string. + Default constructor. - String value. - Reurns string. + Host IP end point. + Is raised when endPoint is null reference. - + - Decodes word from reader. + Parses HostEndPoint from the specified string. - Text. - Returns decoded word. + HostEndPoint value. + Returns parsed HostEndPoint value. + Is raised when value is null. + Is raised when any of the arguments has invalid value. - + - Gets message Date header field value. Value DateTime.Min means no Date header field. + Parses HostEndPoint from the specified string. + HostEndPoint value. + If port isn't specified in value, specified port will be used. + Returns parsed HostEndPoint value. + Is raised when value is null. + Is raised when any of the arguments has invalid value. - + - Gets message Subject header field value. Value null means no Subject header field. + Returns HostEndPoint as string. + Returns HostEndPoint as string. - + - Gets message From header field value. Value null means no From header field. + Gets if Host is IP address. - + - Gets message Sender header field value. Value null means no Sender header field. + Gets host name or IP address. - + - Gets message Reply-To header field value. Value null means no Reply-To header field. + Gets the port number of the endpoint. Value -1 means port not specified. - + - Gets message To header field value. Value null means no To header field. + This class provides data for Logger.WriteLog event. - + - Gets message Cc header field value. Value null means no Cc header field. + Default constructor. + New log entry. + Is raised when logEntry is null. - + - Gets message Bcc header field value. Value null means no Bcc header field. + Gets new log entry. - + - Gets message In-Reply-To header field value. Value null means no In-Reply-To header field. + Implements log entry. - + - Gets message Message-ID header field value. Value null means no Message-ID header field. + Default constructor. + Log entry type. + Log entry ID. + Specified how much data was readed or written. + Description text. - + - This class is base class for IMAP FETCH data-items. For more info see RFC 3501. 6.4.5. + Default constructor. + Log entry type. + Log entry ID. + Log entry owner user or null if none. + Log entry read/write size in bytes. + Log text. + Local IP end point. + Remote IP end point. + Log data. - + - This class represents FETCH ENVELOPE data item. Defined in RFC 3501. + Default constructor. + Log entry type. + Log entry ID. + Log entry owner user or null if none. + Log entry read/write size in bytes. + Log text. + Local IP end point. + Remote IP end point. + Exception happened. Can be null. - + - Default constructor. + Gets log entry type. - + - Returns this as string. + Gets log entry ID. - Returns this as string. - + - IMAP message flags. + Gets time when log entry was created. - + - No flags defined. + Gets log entry related user identity. - + - Message has been read. + Gets how much data was readed or written, depends on LogEntryType. - + - Message has been answered. + Gets describing text. - + - Message is "flagged" for urgent/special attention. + Gets exception happened. This property is available only if LogEntryType.Exception. - + - Message is "deleted" for removal by later EXPUNGE. + Gets local IP end point. Value null means no local end point. - + - Message has not completed composition. + Gets remote IP end point. Value null means no remote end point. - + - Message is "recently" arrived in this mailbox. + Gest log data. Value null means no log data. - + - This class represents IMAP MYRIGHTS response. Defined in RFC 4314 3.8. + Specifies log entry type. - + - Default constructor. + Read entry. - Folder name with path. - Rights values. - Is raised when folder is null reference. - Is raised when any of the arguments has invalid value. - + - Parses MYRIGHTS response from MYRIGHTS-response string. + Write entry. - MYRIGHTS response line. - Returns parsed MYRIGHTS response. - Is raised when myRightsResponse is null reference. - + - Returns this as string. + Text entry. - Returns this as string. - + - Gets folder name. + Exception entry. - + - Gets rights list. + General logging module. - + - IMAP sequence-set. RFC 3501. - - Examples: - 2 -> seq-number (2) - 2:4 -> seq-range (from 2 - 4) - 2:* -> seq-range (from 2 to last) - 2,3,10:* -> sequence-set (seq-number,seq-number,seq-range) - (2,3, 10 - last) - - NOTES: - *) comma separates sequence parts - *) * means maximum value. - + Default constructor. - + - Default constructor. + Cleans up any resources being used. - + - Parses sequence-set from specified string. Throws exception if invalid sequnce-set value. + Adds read log entry. - Sequence-set string. + Readed data size in bytes. + Log text. - + - Parses sequence-set from specified string. Throws exception if invalid sequnce-set value. + Adds read log entry. - Sequence-set string. - Maximum value. This if for replacement of * value. + Log entry ID. + Readed data size in bytes. + Log text. + Authenticated user identity. + Local IP endpoint. + Remote IP endpoint. - + - Gets if sequence set contains specified number. + Adds read log entry. - Number to check. + Log entry ID. + Readed data size in bytes. + Log text. + Authenticated user identity. + Local IP endpoint. + Remote IP endpoint. + Log data. - + - Converts IMAP_SequenceSet to IMAP sequence-set string. + Add write log entry. - + Written data size in bytes. + Log text. - + - Parses seq-number from specified value. Throws exception if invalid seq-number value. + Add write log entry. - Integer number or *. - Maximum value. This if for replacement of * value. + Log entry ID. + Written data size in bytes. + Log text. + Authenticated user identity. + Local IP endpoint. + Remote IP endpoint. - + - Gets sequence set ranges. + Add write log entry. + Log entry ID. + Written data size in bytes. + Log text. + Authenticated user identity. + Local IP endpoint. + Remote IP endpoint. + Log data. - + - Stream line reader. + Adds text entry. + Log text. - + - Default constructor. + Adds text entry. - Source stream from where to read data. Reading begins from stream current position. + Log entry ID. + Log text. - + - Reads byte[] line from stream. NOTE: Returns null if end of stream reached. + Adds text entry. - Return null if end of stream reached. + Log entry ID. + Log text. + Authenticated user identity. + Local IP endpoint. + Remote IP endpoint. - + - Reads string line from stream. String is converted with specified Encoding property from byte[] line. NOTE: Returns null if end of stream reached. + Adds exception entry. - + Log entry ID. + Log text. + Authenticated user identity. + Local IP endpoint. + Remote IP endpoint. + Exception happened. - + - Gets or sets charset encoding to use for string based methods. Default("") encoding is system default encoding. + Is raised when new log entry is available. - + - Gets or sets if lines must be CRLF terminated or may be only LF terminated too. + Raises WriteLog event. + Log entry. - + - Implements log entry. + POP3 client exception. - + Default constructor. - Log entry type. - Log entry ID. - Specified how much data was readed or written. - Description text. + IMAP server response line. + Is raised when responseLine is null. - + - Default constructor. + Gets POP3 server error status code. - Log entry type. - Log entry ID. - Log entry owner user or null if none. - Log entry read/write size in bytes. - Log text. - Local IP end point. - Remote IP end point. - Log data. - + - Default constructor. + Gets POP3 server response text after status code. - Log entry type. - Log entry ID. - Log entry owner user or null if none. - Log entry read/write size in bytes. - Log text. - Local IP end point. - Remote IP end point. - Exception happened. Can be null. - + - Gets log entry type. + This class represents POP3 client message. - + - Gets log entry ID. + Default constructor. + Owner POP3 client. + Message 1 based sequence number. + Message size in bytes. - + - Gets time when log entry was created. + Marks message as deleted. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 serveer returns error. - + - Gets log entry related user identity. + This class represents asynchronous operation. - + - Gets how much data was readed or written, depends on LogEntryType. + Default constructor. - + - Gets describing text. + Cleans up any resources being used. - + - Gets exception happened. This property is available only if LogEntryType.Exception. + Starts operation processing. + Owner POP3 client message. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Gets local IP end point. Value null means no local end point. + Sets operation state. + New state. - + - Gets remote IP end point. Value null means no remote end point. + Is called when DELE command sending has finished. + Asynchronous result. - + - Gest log data. Value null means no log data. + Is called when POP3 server DELE response reading has completed. + Asynchronous operation. - + - Specifies log entry type. + Gets asynchronous operation state. - + - Read entry. + Gets error happened during operation. Returns null if no error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Write entry. + Is called when asynchronous operation has completed. - + - Text entry. + Raises CompletedAsync event. - + - Exception entry. + Starts sending DELE command to POP3 server. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. - + - General logging module. + Gets message header as string. + Returns message header as string. + Is raised when this object is disposed and this method is accessed. + Is raised when message is marked for deletion and this method is accessed. + Is raised when POP3 serveer returns error. - + - Default constructor. + Gets message header as byte[] data. + Returns message header as byte[] data. + Is raised when this object is disposed and this method is accessed. + Is raised when message is marked for deletion and this method is accessed. + Is raised when POP3 serveer returns error. - + - Cleans up any resources being used. + Stores message header to the specified stream. + Stream where to store data. + Is raised when this object is disposed and this method is accessed. + Is raised when argument stream value is null. + Is raised when POP3 serveer returns error. - + - Adds read log entry. + Gets message as byte[] data. - Readed data size in bytes. - Log text. + Returns message as byte[] data. + Is raised when this object is disposed and this method is accessed. + Is raised when message is marked for deletion and this method is accessed. + Is raised when POP3 server returns error. - + - Adds read log entry. + Stores message to specified stream. - Log entry ID. - Readed data size in bytes. - Log text. - Authenticated user identity. - Local IP endpoint. - Remote IP endpoint. + Stream where to store message. + Is raised when this object is disposed and this method is accessed. + Is raised when argument stream value is null. + Is raised when message is marked for deletion and this method is accessed. + Is raised when POP3 serveer returns error. - + - Adds read log entry. + This class represents asynchronous operation. - Log entry ID. - Readed data size in bytes. - Log text. - Authenticated user identity. - Local IP endpoint. - Remote IP endpoint. - Log data. - + - Add write log entry. + Default constructor. - Written data size in bytes. - Log text. + Stream where to store message. + Is raised when stream is null reference. - + - Add write log entry. + Cleans up any resources being used. - Log entry ID. - Written data size in bytes. - Log text. - Authenticated user identity. - Local IP endpoint. - Remote IP endpoint. - + - Add write log entry. + Starts operation processing. - Log entry ID. - Written data size in bytes. - Log text. - Authenticated user identity. - Local IP endpoint. - Remote IP endpoint. - Log data. + Owner POP3 client message. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Adds text entry. + Sets operation state. - Log text. + New state. - + - Adds text entry. + Is called when RETR command sending has finished. - Log entry ID. - Log text. + Asynchronous result. - + - Adds text entry. + Is called when POP3 server RETR response reading has completed. - Log entry ID. - Log text. - Authenticated user identity. - Local IP endpoint. - Remote IP endpoint. + Asynchronous operation. - + - Adds exception entry. + Is called when message reading has completed. - Log entry ID. - Log text. - Authenticated user identity. - Local IP endpoint. - Remote IP endpoint. - Exception happened. + Asynchronous operation. - + - Raises WriteLog event. + Gets asynchronous operation state. - Log entry. - + - Is raised when new log entry is available. + Gets error happened during operation. Returns null if no error. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - POP3 Client. Defined in RFC 1939. + Is called when asynchronous operation has completed. - - - - /* - To make this code to work, you need to import following namespaces: - using LumiSoft.Net.Mail; - using LumiSoft.Net.POP3.Client; - */ - - using(POP3_Client c = new POP3_Client()){ - c.Connect("ivx",WellKnownPorts.POP3); - c.Login("test","test"); - // Or Auth(sasl-method); - - // Get first message if there is any - if(c.Messages.Count > 0){ - // Do your suff - - // Parse message - Mail_Message m = Mail_Message.Parse(c.Messages[0].MessageToByte()); - string subject = m.Subject; - // ... - } - } - - - + - Default constructor. + Raises CompletedAsync event. - + - Clean up any resources being used. + Starts sending RETR command to POP3 server. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. - + - Closes connection to POP3 server. + Gets message header + specified number lines of message body. + Number of lines to get from message body. + Returns message header + specified number lines of message body. Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected. + Is raised when numberOfLines is negative value. + Is raised when message is marked for deletion and this method is accessed. + Is raised when POP3 serveer returns error. - + - Executes CAPA command. + Stores message header + specified number lines of message body to the specified stream. + Stream where to store data. + Number of lines to get from message body. Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when argument stream value is null. + Is raised when message is marked for deletion and this method is accessed. Is raised when POP3 server returns error. - + - Starts sending CAPA command to POP3 server. + This class represents asynchronous operation. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - + + + Default constructor. + + Stream where to store message. + Number of lines to get from body(after message header) of the message. + Is raised when stream is null reference. + Is raised when any of the arguments has invalid value. + + - Executes STLS command. + Cleans up any resources being used. - SSL server certificate validation callback. Value null means any certificate is accepted. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is authenticated or is already secure connection. - Is raised when POP3 server returns error. - + - Starts sending STLS command to POP3 server. + Starts operation processing. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Owner POP3 client message. + Returns true if asynchronous operation in progress or false if operation completed synchronously. + Is raised when owner is null reference. - + - Executes USER/PASS command. + Sets operation state. - User name. - User password. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is already authenticated. - Is raised when user or password is null reference. - Is raised when any of the arguments has invalid value. - Is raised when POP3 server returns error. + New state. - + - Starts executing USER/PASS command. + Is called when TOP command sending has finished. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Asynchronous result. - + - Sends AUTH command to POP3 server. + Is called when POP3 server TOP response reading has completed. - SASL authentication. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is already authenticated. - Is raised when POP3 server returns error. + Asynchronous operation. - + - Starts sending AUTH command to POP3 server. + Is called when message reading has completed. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not connected or connection is already authenticated. - Is raised when op is null reference. - + - Send NOOP command to server. This method can be used for keeping connection alive(not timing out). + Gets asynchronous operation state. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected. - Is raised when POP3 server returns error. - + - Starts sending NOOP command to POP3 server. + Gets error happened during operation. Returns null if no error. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + Is raised when this object is disposed and and this property is accessed. + Is raised when this property is accessed other than AsyncOP_State.Completed state. - + - Resets session. Messages marked for deletion will be unmarked. + Is called when asynchronous operation has completed. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected and authenticated. - Is raised when POP3 server returns error. - + - Starts sending RSET command to POP3 server. + Raises CompletedAsync event. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - + - Starts filling mailbox messages info. + Starts sending TOP command to POP3 server. Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). Returns false if operation completed synchronously. Is raised when this object is disposed and and this method is accessed. Is raised when POP3 client is not in valid state. For example 'not connected'. Is raised when op is null reference. - + - Starts sending LIST command to POP3 server. + Disposes message. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. - + - Starts sending UIDL command to POP3 server. + Sets message UID value. - Asynchronous operation. - Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). - Returns false if operation completed synchronously. - Is raised when this object is disposed and and this method is accessed. - Is raised when POP3 client is not in valid state. For example 'not connected'. - Is raised when op is null reference. + UID value. - + - This method is called when TCP client has sucessfully connected. + Sets IsMarkedForDeletion flag value. - Callback to be called to complete connect operation. + New IsMarkedForDeletion value. - + - Is called when POP3 server greeting reading has completed. + Gets if POP3 message is Disposed. - Asynchronous operation. - Callback to be called to complete connect operation. - + - Switches POP3 connection to SSL. + Gets message 1 based sequence number. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is authenticated or is already secure connection. - Is raised when POP3 server returns error. + Is raised when this object is disposed and this property is accessed. - + - Starts switching to SSL. + Gets message UID. NOTE: Before accessing this property, check that server supports UIDL command. - An IAsyncResult that references the asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is authenticated or is already secure connection. + Is raised when this object is disposed and this property is accessed. + Is raised when POP3 server doesnt support UIDL command. - + - Ends a pending asynchronous StartTLS request. + Gets message size in bytes. - An IAsyncResult that stores state information and any user defined data for this asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when asyncResult is null. - Is raised when invalid asyncResult passed to this method. - Is raised when POP3 server returns error. + Is raised when this object is disposed and this property is accessed. - + - Authenticates user. + Gets if message is marked for deletion. - User login name. - Password. - If true and POP3 server supports APOP, then APOP is used, otherwise normal login used. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is already authenticated. - Is raised when POP3 server returns error. + Is raised when this object is disposed and this property is accessed. - + - Starts authentication. + This class represents POP3 client messages collection. - User login name. - Password. - If true and POP3 server supports APOP, then APOP is used, otherwise normal login used. - Callback to call when the asynchronous operation is complete. - User data. - An IAsyncResult that references the asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected or is already authenticated. - + - Ends a pending asynchronous authentication request. + Default constructor. - An IAsyncResult that stores state information and any user defined data for this asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when asyncResult is null. - Is raised when invalid asyncResult passed to this method. - Is raised when POP3 server returns error. + Owner POP3 client. - + - Starts sending NOOP command to server. This method can be used for keeping connection alive(not timing out). + Cleans up any resources being used. - Callback to call when the asynchronous operation is complete. - User data. - An IAsyncResult that references the asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected. - + - Ends a pending asynchronous Noop request. + Adds new message to messages collection. - An IAsyncResult that stores state information and any user defined data for this asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when asyncResult is null. - Is raised when invalid asyncResult passed to this method. - Is raised when POP3 server returns error. + Message size in bytes. - + - Starts resetting session. Messages marked for deletion will be unmarked. + Gets enumerator. - Callback to call when the asynchronous operation is complete. - User data. - An IAsyncResult that references the asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected and authenticated. + Returns IEnumerator interface. + Is raised when this object is disposed and this property is accessed. - + - Ends a pending asynchronous reset request. + Gets total size of messages, messages marked for deletion are included. - An IAsyncResult that stores state information and any user defined data for this asynchronous operation. - Is raised when this object is disposed and this method is accessed. - Is raised when asyncResult is null. - Is raised when invalid asyncResult passed to this method. - Is raised when POP3 server returns error. + Is raised when this object is disposed and this property is accessed. - + - Resets session. Messages marked for deletion will be unmarked. + Gets number of messages in the collection, messages marked for deletion are included. - Is raised when this object is disposed and this method is accessed. - Is raised when POP3 client is not connected and authenticated. - Is raised when POP3 server returns error. + Is raised when this object is disposed and this property is accessed. - + - Fills messages info. + Gets message from specified index. + Message zero based index in the collection. + Is raised when this object is disposed and this property is accessed. + Is raised when index is out of range. - + - Gets greeting text which was sent by POP3 server. + Gets message with specified UID value. + Message UID value. + Returns message or null if message doesn't exist. Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and POP3 client is not connected. + Is raised when POP3 server doesn't support UIDL. - + - Gets POP3 exteneded capabilities supported by POP3 server. + POP3 Client. Defined in RFC 1939. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and POP3 client is not connected. + + + + /* + To make this code to work, you need to import following namespaces: + using LumiSoft.Net.Mail; + using LumiSoft.Net.POP3.Client; + */ + + using(POP3_Client c = new POP3_Client()){ + c.Connect("ivx",WellKnownPorts.POP3); + c.Login("test","test"); + // Or Auth(sasl-method); + + // Get first message if there is any + if(c.Messages.Count > 0){ + // Do your suff + + // Parse message + Mail_Message m = Mail_Message.Parse(c.Messages[0].MessageToByte()); + string subject = m.Subject; + // ... + } + } + + - + - Gets POP3 exteneded capabilities supported by POP3 server. + Default constructor. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and POP3 client is not connected. - + - Gets if POP3 server supports UIDL command. + Clean up any resources being used. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and - POP3 client is not connected and authenticated. - + - Gets messages collection. + Closes connection to POP3 server. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and - POP3 client is not connected and authenticated. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected. - + - Gets session authenticated user identity, returns null if not authenticated. + Executes CAPA command. - Is raised when this object is disposed and this property is accessed. - Is raised when this property is accessed and POP3 client is not connected. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when POP3 server returns error. @@ -20081,11 +19733,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20103,6 +19750,31 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending CAPA command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + + + + Executes STLS command. + + SSL server certificate validation callback. Value null means any certificate is accepted. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is authenticated or is already secure connection. + Is raised when POP3 server returns error. + This class represents asynchronous operation. @@ -20152,11 +19824,6 @@ Asynchronous operation. Is raised when op is null reference. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20174,6 +19841,34 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending STLS command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + + + + Executes USER/PASS command. + + User name. + User password. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is already authenticated. + Is raised when user or password is null reference. + Is raised when any of the arguments has invalid value. + Is raised when POP3 server returns error. + This class represents asynchronous operation. @@ -20237,11 +19932,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20259,6 +19949,31 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts executing USER/PASS command. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + + + + Sends AUTH command to POP3 server. + + SASL authentication. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is already authenticated. + Is raised when POP3 server returns error. + This class represents asynchronous operation. @@ -20308,11 +20023,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20330,6 +20040,30 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending AUTH command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not connected or connection is already authenticated. + Is raised when op is null reference. + + + + Send NOOP command to server. This method can be used for keeping connection alive(not timing out). + + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected. + Is raised when POP3 server returns error. + This class represents asynchronous operation. @@ -20371,11 +20105,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20393,6 +20122,30 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending NOOP command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + + + + Resets session. Messages marked for deletion will be unmarked. + + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected and authenticated. + Is raised when POP3 server returns error. + This class represents asynchronous operation. @@ -20434,11 +20187,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20456,6 +20204,22 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending RSET command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + This class represents asynchronous operation. @@ -20497,11 +20261,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20514,10 +20273,26 @@ Is raised when this object is disposed and and this property is accessed. Is raised when this property is accessed other than AsyncOP_State.Completed state. - + + + Is called when asynchronous operation has completed. + + + + + Raises CompletedAsync event. + + + - Is called when asynchronous operation has completed. + Starts filling mailbox messages info. + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. @@ -20566,11 +20341,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20595,6 +20365,22 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending LIST command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + This class represents asynchronous operation. @@ -20642,11 +20428,6 @@ Asynchronous operation. - - - Raises CompletedAsync event. - - Gets asynchronous operation state. @@ -20671,26 +20452,245 @@ Is called when asynchronous operation has completed. + + + Raises CompletedAsync event. + + + + + Starts sending UIDL command to POP3 server. + + Asynchronous operation. + Returns true if aynchronous operation is pending (The event is raised upon completion of the operation). + Returns false if operation completed synchronously. + Is raised when this object is disposed and and this method is accessed. + Is raised when POP3 client is not in valid state. For example 'not connected'. + Is raised when op is null reference. + + + + This method is called when TCP client has sucessfully connected. + + Callback to be called to complete connect operation. + + + + Is called when POP3 server greeting reading has completed. + + Asynchronous operation. + Callback to be called to complete connect operation. + + + + Gets greeting text which was sent by POP3 server. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and POP3 client is not connected. + + + + Gets POP3 exteneded capabilities supported by POP3 server. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and POP3 client is not connected. + + + + Gets POP3 exteneded capabilities supported by POP3 server. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and POP3 client is not connected. + + + + Gets if POP3 server supports UIDL command. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and + POP3 client is not connected and authenticated. + + + + Gets messages collection. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and + POP3 client is not connected and authenticated. + + + + Gets session authenticated user identity, returns null if not authenticated. + + Is raised when this object is disposed and this property is accessed. + Is raised when this property is accessed and POP3 client is not connected. + + + + Switches POP3 connection to SSL. + + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is authenticated or is already secure connection. + Is raised when POP3 server returns error. + Internal helper method for asynchronous StartTLS method. + + + Starts switching to SSL. + + An IAsyncResult that references the asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is authenticated or is already secure connection. + + + + Ends a pending asynchronous StartTLS request. + + An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when asyncResult is null. + Is raised when invalid asyncResult passed to this method. + Is raised when POP3 server returns error. + + + + Authenticates user. + + User login name. + Password. + If true and POP3 server supports APOP, then APOP is used, otherwise normal login used. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is already authenticated. + Is raised when POP3 server returns error. + Internal helper method for asynchronous Authenticate method. + + + Starts authentication. + + User login name. + Password. + If true and POP3 server supports APOP, then APOP is used, otherwise normal login used. + Callback to call when the asynchronous operation is complete. + User data. + An IAsyncResult that references the asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected or is already authenticated. + + + + Ends a pending asynchronous authentication request. + + An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when asyncResult is null. + Is raised when invalid asyncResult passed to this method. + Is raised when POP3 server returns error. + Internal helper method for asynchronous Noop method. + + + Starts sending NOOP command to server. This method can be used for keeping connection alive(not timing out). + + Callback to call when the asynchronous operation is complete. + User data. + An IAsyncResult that references the asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected. + + + + Ends a pending asynchronous Noop request. + + An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when asyncResult is null. + Is raised when invalid asyncResult passed to this method. + Is raised when POP3 server returns error. + Internal helper method for asynchronous Reset method. + + + Starts resetting session. Messages marked for deletion will be unmarked. + + Callback to call when the asynchronous operation is complete. + User data. + An IAsyncResult that references the asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected and authenticated. + + + + Ends a pending asynchronous reset request. + + An IAsyncResult that stores state information and any user defined data for this asynchronous operation. + Is raised when this object is disposed and this method is accessed. + Is raised when asyncResult is null. + Is raised when invalid asyncResult passed to this method. + Is raised when POP3 server returns error. + + + + Resets session. Messages marked for deletion will be unmarked. + + Is raised when this object is disposed and this method is accessed. + Is raised when POP3 client is not connected and authenticated. + Is raised when POP3 server returns error. + + + + Fills messages info. + + + + + Stream line reader. + + + + + Default constructor. + + Source stream from where to read data. Reading begins from stream current position. + + + + Reads byte[] line from stream. NOTE: Returns null if end of stream reached. + + Return null if end of stream reached. + + + + Reads string line from stream. String is converted with specified Encoding property from byte[] line. NOTE: Returns null if end of stream reached. + + + + + + Gets or sets charset encoding to use for string based methods. Default("") encoding is system default encoding. + + + + + Gets or sets if lines must be CRLF terminated or may be only LF terminated too. + + This class provides well known TCP/UDP service ports.