From d9bbbbc58972514a003ba372f9ff10ca88def338 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期六, 15 十月 2022 14:21:50 +0800
Subject: [PATCH] 设备维修记录
---
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css | 6834 +++++
VueWebApi/obj/Release/VueWebApi.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Common.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/BouncyCastle.Crypto.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Win32.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.min.js | 6
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.IsolatedStorage.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NameResolution.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/用户清单.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.SecureString.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_8.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Parallel.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css | 587
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.VisualBasic.Core.targets | 132
VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Deployment.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/3.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.X509Certificates.dll | 0
VueWebApi/Controllers/DeviceManagerController.cs | 110
VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js | 499
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Ping.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/netstandard.dll | 0
VueWebApi/Logs/2022-10-13.TXT | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Shared/_Layout.cshtml | 12
VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_7.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.ValueTuple.dll | 0
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache | 2
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_4.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipes.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/WebGrease.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml | 6
VueWebApi/obj/Release/Package/PackageTmp/log4net.config | 98
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css | 6
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Xml.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/grf/产品流传单A5.grf | 450
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Csp.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.Cors.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Globalization.Calendars.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Algorithms.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/_ViewStart.cshtml | 4
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Numerics.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Interfaces.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Net.Http.Headers.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_7.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/缺陷定义.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Data.Common.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/swagger_lang.js | 95
VueWebApi/obj/Release/Package/PackageTmp/Image/7.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.Unsafe.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Owin.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Formatters.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.DiagnosticSource.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe.config | 143
VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.ttf | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Security.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Requests.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.ThreadPool.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlSerializer.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Writer.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.TypeConverter.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/modernizr-2.8.3.js | 1406 +
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Encoding.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml | 6
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_11.png | 0
VueWebApi/obj/Release/VueWebApi.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml | 4
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs | 10
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml | 3
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Bcl.AsyncInterfaces.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tools.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml | 3628 ++
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_4.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.DriveInfo.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Handles.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Extensions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Helpers.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlDocument.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css.map | 1
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.RuntimeInformation.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Abstractions.dll | 0
VueWebApi/DLL/BLL/DeviceManagerBLL.cs | 23
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Optimization.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff2 | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.FileVersionInfo.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_6.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Console.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.map | 1
VueWebApi/obj/Release/Package/PackageTmp/grf/报工产出标签.grf | 310
VueWebApi/obj/Release/Package/PackageTmp/bin/Swashbuckle.Core.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.ZipFile.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.rsp | 46
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.eot | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Mvc.Abstractions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Features.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/grf/产品流传单.grf | 347
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml | 4
VueWebApi/obj/Release/Package/PackageTmp/Image/app_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml | 41
VueWebApi/obj/Release/Package/PackageTmp/Excel/节拍工价.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Concurrent.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.rsp | 55
VueWebApi/obj/Release/Package/PackageTmp/grf/报工打印标签.grf | 351
VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_14.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_5.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Extensions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml | 26
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll | 0
VueWebApi/DLL/DAL/DeviceManagerDAL.cs | 257
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.WebHost.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.CodeDom.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.ObjectModel.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/6.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/仓库库位清单.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/ResourceModel.cshtml | 19
VueWebApi/obj/Release/Package/PackageTmp/Content/Site.css | 17
VueWebApi/VueWebApi.csproj.user | 2
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.js | 8495 ++++++
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.MemoryMappedFiles.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XDocument.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.map | 1
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebHeaderCollection.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.XDocument.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Fleck.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Win32.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Razor.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Specialized.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_5.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipelines.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.Formatting.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Parallel.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Queryable.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Calendars.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Api.cshtml | 22
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_10.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Optimization.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Timer.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.AppContext.dll | 0
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user | 14
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.Client.dll | 0
VueWebApi/bin/VueWebApi.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Process.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.StackTrace.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Overlapped.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe.config | 153
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/HelpPage.css | 134
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Claims.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Buffers.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Razor.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Console.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css | 6
VueWebApi/obj/Release/Package/PackageTmp/Image/1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_5.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Collections.Immutable.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.dll | 0
.vs/VueWebApi/v16/.suo | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml | 67
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.NonGeneric.dll | 0
VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache | 0
VueWebApi/VueWebApi.csproj | 1
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Extensions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Web.config | 41
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.Extensions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.WebHost.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Managed.Core.targets | 155
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Razor.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Newtonsoft.Json.dll | 0
VueWebApi/bin/VueWebApi.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Routing.Abstractions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.ResourceManager.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Web.Infrastructure.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/往来单位.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.AppContext.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.VisualC.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Expressions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.EventBasedAsync.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Channels.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/8.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.ValueTuple.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe | 0
VueWebApi/obj/Release/Package/PackageTmp/libman.json | 5
VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Extensions.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/设备点检项目.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_3.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_1.png | 0
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml | 3
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.js | 2
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.js | 2958 ++
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Numerics.Vectors.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_6.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Json.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_3.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.rsp | 14
VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Redis.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.js | 2
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Principal.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Text.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_9.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.Core.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Algorithms.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml | 24
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Primitives.dll | 0
VueWebApi/obj/Release/TransformWebConfig/original/Web.config | 154
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.FileVersionInfo.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.SystemWeb.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Reader.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/index_1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Contracts.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff | 0
VueWebApi/obj/Release/Package/PackageTmp/Grid/webapp-ws-tutorial.htm | 152
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_13.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Drawing.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TraceSource.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Memory.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_1.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_4.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css.map | 1
VueWebApi/obj/Release/Package/PackageTmp/bin/log4net.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Helpers.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Sockets.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Web.config | 154
VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe.config | 143
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_9.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XmlDocument.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.dll | 0
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt | 282
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.min.js | 9
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Security.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/5.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Sockets.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/角色清单.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/favicon.ico | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_7.png | 0
VueWebApi/obj/Release/_WPPLastBuildInfo.txt | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml | 4
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Dynamic.Runtime.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml | 3
VueWebApi/obj/Release/Package/PackageTmp/bin/StackExchange.Redis.dll | 0
VueWebApi/obj/Release/TransformWebConfig/assist/Web.config | 31
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe.config | 148
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Encoding.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml | 48
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Cors.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Index.cshtml | 38
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Global.asax | 1
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tracing.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_3.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Debug.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/WebActivatorEx.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.X509Certificates.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_9.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Watcher.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CSharp.Core.targets | 135
VueWebApi/DLL/DAL/ProductModelDAL.cs | 10
VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.js | 10598 +++++++
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.SystemWeb.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TextWriterTraceListener.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encodings.Web.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css.map | 1
VueWebApi/obj/Release/Package/PackageTmp/bin/Dapper.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Net.Http.Formatting.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage1.html | 77
VueWebApi/Models/DeviceReport.cs | 25
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.Core.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.UnmanagedMemoryStream.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Thread.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_8.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.ReaderWriter.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css.map | 1
VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_3.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.js | 2580 +
VueWebApi/obj/Release/Package/PackageTmp/Image/9.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/index_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_4.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_12.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_4.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Extensions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Mvc.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_1.png | 0
VueWebApi/DLL/DAL/ProductionManagementDAL.cs | 22
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.StackTrace.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Razor.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml | 13
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Host.SystemWeb.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_8.png | 0
VueWebApi/obj/Release/Package/PackageTmp/grf/Rework.frx | 89
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.XDocument.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.svg | 288
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NetworkInformation.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.RegularExpressions.dll | 0
VueWebApi/obj/Release/TransformWebConfig/transformed/Web.config | 154
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/4.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage2.html | 78
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Reflection.Metadata.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_2.png | 0
VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_3.png | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Runtime.InteropServices.RuntimeInformation.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Web.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Mvc.resources.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Primitives.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Http.dll | 0
/dev/null | 36237 ---------------------------
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.ZipFile.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Threading.Tasks.Extensions.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Pipelines.Sockets.Unofficial.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage.html | 77
VueWebApi/obj/Release/Package/PackageTmp/grf/外协收料标签.grf | 310
VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml | 30
VueWebApi/obj/Release/Package/PackageTmp/Excel/设备保养项目.xls | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.ReaderWriter.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Text.Encoding.CodePages.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.PerformanceCounter.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Cors.dll | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll | 0
381 files changed, 43,266 insertions(+), 36,265 deletions(-)
diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index a2d99dd..c031dd2 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/DeviceManagerController.cs b/VueWebApi/Controllers/DeviceManagerController.cs
index 058f743..4fcf61c 100644
--- a/VueWebApi/Controllers/DeviceManagerController.cs
+++ b/VueWebApi/Controllers/DeviceManagerController.cs
@@ -784,5 +784,115 @@
return TJson.toJson(mes);
}
#endregion
+
+
+ #region[璁惧缁翠慨璁板綍鏌ヨ]
+ /// <summary>
+ /// 璁惧缁翠慨璁板綍鏌ヨ
+ /// </summary>
+ /// <param name="page">椤电爜</param>
+ /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ /// <param name="prop">鎺掑簭瀛楁</param>
+ /// <param name="order">鎺掑簭瑙勫垯</param>
+ /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ /// <param name="eqpcode">璁惧缂栫爜</param>
+ /// <param name="eqpname">璁惧鍚嶇О</param>
+ /// <param name="reportuser">鎶ヤ慨浜哄憳</param>
+ /// <param name="repairuser">缁翠慨浜哄憳</param>
+ /// <param name="vrifcatuser">楠岃瘉浜哄憳</param>
+ /// <param name="reportdate">鎶ヤ慨鏃堕棿</param>
+ /// <param name="repairdate">缁翠慨鏃堕棿</param>
+ /// <param name="vrifcatdate">楠岃瘉鏃堕棿</param>
+ /// <returns></returns>
+ [Route(template: "DeviceUpdateSearch")]
+ [HttpGet]
+ public HttpResponseMessage DeviceUpdateSearch(int page, int rows, string prop, string order, string wkshopcode = null, string eqpcode = null, string eqpname = null, string reportuser = null, string repairuser = null, string vrifcatuser = null, string reportdate = null, string repairdate = null, string vrifcatdate = null)
+ {
+ string reportopendate = ""; //鎶ヤ慨寮�濮嬫椂闂�
+ string reportclosedate = ""; //鎶ヤ慨缁撴潫鏃堕棿
+ string repairopendate = ""; //缁翠慨寮�濮嬫椂闂�
+ string repairclosedate = ""; //缁翠慨缁撴潫鏃堕棿
+ string vrifcatopendate = ""; //缁翠慨楠岃瘉寮�濮嬫椂闂�
+ string vrifcatclosedate = ""; //缁翠慨楠岃瘉缁撴潫鏃堕棿
+ if (reportdate != "" && reportdate != null)
+ {
+ reportopendate = reportdate.Split('~')[0].ToString();
+ reportclosedate = reportdate.Split('~')[1].ToString();
+ }
+ if (repairdate != "" && repairdate != null)
+ {
+ repairopendate = repairdate.Split('~')[0].ToString();
+ repairclosedate = repairdate.Split('~')[1].ToString();
+ }
+ if (vrifcatdate != "" && vrifcatdate != null)
+ {
+ vrifcatopendate = vrifcatdate.Split('~')[0].ToString();
+ vrifcatclosedate = vrifcatdate.Split('~')[1].ToString();
+ }
+ int startNum = rows * (page - 1) + 1; //璧峰璁板綍rowNum
+ int endNum = rows * page; //缁撴潫璁板綍 rowNum
+ mes = DeviceManagerBLL.DeviceUpdateSearch(wkshopcode, eqpcode, eqpname, reportuser, repairuser, vrifcatuser, reportopendate, reportclosedate, repairopendate, repairclosedate, vrifcatopendate, vrifcatclosedate, startNum, endNum, prop, order);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[璁惧缁翠慨璁板綍鏄庣粏鏌ヨ]
+ /// <summary>
+ /// 璁惧缁翠慨璁板綍鏄庣粏鏌ヨ
+ /// </summary>
+ /// <param name="repair_code">璁惧缁翠慨鍗曞彿</param>
+ /// <returns></returns>
+ [Route(template: "DeviceUpdateSubSearch")]
+ [HttpGet]
+ public HttpResponseMessage DeviceUpdateSubSearch(string repair_code)
+ {
+ mes = DeviceManagerBLL.DeviceUpdateSubSearch(repair_code);
+ return TJson.toJson(mes);
+ }
+ #endregion
+
+ #region[璁惧缁翠慨璁板綍瀵煎嚭]
+ /// <summary>
+ /// 璁惧缁翠慨璁板綍瀵煎嚭
+ /// </summary>
+ /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ /// <param name="eqpcode">璁惧缂栫爜</param>
+ /// <param name="eqpname">璁惧鍚嶇О</param>
+ /// <param name="reportuser">鎶ヤ慨浜哄憳</param>
+ /// <param name="repairuser">缁翠慨浜哄憳</param>
+ /// <param name="vrifcatuser">楠岃瘉浜哄憳</param>
+ /// <param name="reportdate">鎶ヤ慨鏃堕棿</param>
+ /// <param name="repairdate">缁翠慨鏃堕棿</param>
+ /// <param name="vrifcatdate">楠岃瘉鏃堕棿</param>
+ /// <returns></returns>
+ [Route(template: "DeviceUpdateOutExcel")]
+ [HttpGet]
+ public HttpResponseMessage DeviceUpdateOutExcel(string wkshopcode = null, string eqpcode = null, string eqpname = null, string reportuser = null, string repairuser = null, string vrifcatuser = null, string reportdate = null, string repairdate = null, string vrifcatdate = null)
+ {
+ string reportopendate = ""; //鎶ヤ慨寮�濮嬫椂闂�
+ string reportclosedate = ""; //鎶ヤ慨缁撴潫鏃堕棿
+ string repairopendate = ""; //缁翠慨寮�濮嬫椂闂�
+ string repairclosedate = ""; //缁翠慨缁撴潫鏃堕棿
+ string vrifcatopendate = ""; //缁翠慨楠岃瘉寮�濮嬫椂闂�
+ string vrifcatclosedate = ""; //缁翠慨楠岃瘉缁撴潫鏃堕棿
+ if (reportdate != "" && reportdate != null)
+ {
+ reportopendate = reportdate.Split('~')[0].ToString();
+ reportclosedate = reportdate.Split('~')[1].ToString();
+ }
+ if (repairdate != "" && repairdate != null)
+ {
+ repairopendate = repairdate.Split('~')[0].ToString();
+ repairclosedate = repairdate.Split('~')[1].ToString();
+ }
+ if (vrifcatdate != "" && vrifcatdate != null)
+ {
+ vrifcatopendate = vrifcatdate.Split('~')[0].ToString();
+ vrifcatclosedate = vrifcatdate.Split('~')[1].ToString();
+ }
+ mes = DeviceManagerBLL.DeviceUpdateOutExcel(wkshopcode, eqpcode, eqpname, reportuser, repairuser, vrifcatuser, reportopendate, reportclosedate, repairopendate, repairclosedate, vrifcatopendate, vrifcatclosedate);
+ return TJson.toJson(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebApi/DLL/BLL/DeviceManagerBLL.cs b/VueWebApi/DLL/BLL/DeviceManagerBLL.cs
index 3945b23..6c7b70f 100644
--- a/VueWebApi/DLL/BLL/DeviceManagerBLL.cs
+++ b/VueWebApi/DLL/BLL/DeviceManagerBLL.cs
@@ -296,5 +296,28 @@
return DeviceManagerDAL.DeviceRepairTakeOutExcel(wkshopcode, eqpcode, eqpname, stanedname, repairuser, repairopendate, repairclosedate, repairresult);
}
#endregion
+
+
+
+ #region[璁惧缁翠慨璁板綍鏌ヨ]
+ public static ToMessage DeviceUpdateSearch(string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate, int startNum, int endNum, string prop, string order)
+ {
+ return DeviceManagerDAL.DeviceUpdateSearch(wkshopcode, eqpcode, eqpname, reportuser, repairuser, vrifcatuser, reportopendate, reportclosedate, repairopendate, repairclosedate, vrifcatopendate, vrifcatclosedate, startNum, endNum, prop, order);
+ }
+ #endregion
+
+ #region[璁惧缁翠慨璁板綍鏄庣粏鏌ヨ]
+ public static ToMessage DeviceUpdateSubSearch(string repair_code)
+ {
+ return DeviceManagerDAL.DeviceUpdateSubSearch(repair_code);
+ }
+ #endregion
+
+ #region[璁惧缁翠慨璁板綍瀵煎嚭]
+ public static ToMessage DeviceUpdateOutExcel(string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate)
+ {
+ return DeviceManagerDAL.DeviceUpdateOutExcel(wkshopcode, eqpcode, eqpname, reportuser, repairuser, vrifcatuser, reportopendate, reportclosedate, repairopendate, repairclosedate, vrifcatopendate, vrifcatclosedate);
+ }
+ #endregion
}
}
\ No newline at end of file
diff --git a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
index fff7512..e40351b 100644
--- a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -2311,5 +2311,262 @@
return mes;
}
#endregion
+
+
+
+ #region[璁惧缁翠慨璁板綍鏌ヨ]
+ public static ToMessage DeviceUpdateSearch(string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wkshopcode != "" && wkshopcode != null)
+ {
+ search += "and A.wksp_code=@wkshopcode ";
+ dynamicParams.Add("@wkshopcode", wkshopcode);
+ }
+ if (eqpcode != "" && eqpcode != null)
+ {
+ search += "and A.eqp_code like '%'+@eqpcode+'%' ";
+ dynamicParams.Add("@eqpcode", eqpcode);
+ }
+ if (eqpname != "" && eqpname != null)
+ {
+ search += "and E.name like '%'+@eqpname+'%' ";
+ dynamicParams.Add("@eqpname", eqpname);
+ }
+ if (reportuser != "" && reportuser != null)
+ {
+ search += "and B.request_person like '%'+@reportuser+'%' ";
+ dynamicParams.Add("@reportuser", reportuser);
+ }
+ if (repairuser != "" && repairuser != null)
+ {
+ search += "and A.repair_person like '%'+@repairuser+'%' ";
+ dynamicParams.Add("@repairuser", repairuser);
+ }
+ if (vrifcatuser != "" && vrifcatuser != null)
+ {
+ search += "and A.verify_person like '%'+@vrifcatuser+'%' ";
+ dynamicParams.Add("@vrifcatuser", vrifcatuser);
+ }
+ if (reportopendate != "" && reportopendate != null)
+ {
+ search += "and B.request_date between @reportopendate and @reportclosedate ";
+ dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+ dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+ }
+ if (repairopendate != "" && repairopendate != null)
+ {
+ search += "and A.repair_date between @repairopendate and @repairclosedate ";
+ dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+ dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+ }
+ if (vrifcatopendate != "" && vrifcatopendate != null)
+ {
+ search += "and A.verify_date between @vrifcatopendate and @vrifcatclosedate ";
+ dynamicParams.Add("@vrifcatopendate", vrifcatopendate + " 00:00:00");
+ dynamicParams.Add("@vrifcatclosedate", vrifcatclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.repair_code,A.wksp_code,T.org_name as wksp_name,A.eqp_code,E.name as eqp_name,B.request_person,B.request_date,
+ A.repair_person,A.repair_date,CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as cycleDate,
+ A.verify_person,A.verify_date,(case when A.verify_result='OK' then '閫氳繃' when A.verify_result='NG' then '涓嶉�氳繃' end)as verify_result
+ from TEqp_Repair A
+ left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+ left join TEqpInfo E on A.eqp_code=E.code
+ left join TOrganization T on A.wksp_code=T.org_code
+ where T.description='W' " + search;
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = data.ToList();
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[璁惧缁翠慨璁板綍鏄庣粏鏌ヨ]
+ public static ToMessage DeviceUpdateSubSearch(string repair_code)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ Dictionary<object, object> Dict = new Dictionary<object, object>();
+ try
+ {
+ //鑾峰彇璁惧鎶ヤ慨鐢宠鏁版嵁
+ sql = @"select B.docu_code,
+ (
+ case when B.source='A' then '璁惧鐐规'
+ when B.source='B' then '璁惧淇濆吇'
+ when B.source='C' then '瀹夌伅鍛煎彨'
+ when B.source='C' then '鎵嬪伐鍒涘缓' end
+ ) as source,B.failure_descript from TEqp_Repair A
+ left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+ where A.repair_code=@repair_code";
+ dynamicParams.Add("@repair_code", repair_code);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ DeviceReport report = new DeviceReport();
+ report.faultsource = data.Rows[0]["source"].ToString();
+ report.faultdescr = data.Rows[0]["failure_descript"].ToString();
+ //鑾峰彇璁惧鎶ヤ慨鐢宠鍥剧墖鏁版嵁
+ sql = @"select M.img1url from TEqp_Repair A
+ left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+ left join TEqp_RepairImage M on B.docu_code=M.source_wo
+ where A.repair_code=@repair_code and M.wo_type='REPA'";
+ dynamicParams.Add("@repair_code", repair_code);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ report.faultimage = data0;
+ Dict.Add("data1", report);
+
+ //鑾峰彇璁惧缁翠慨鏁版嵁
+ sql = @"select A.failure_descript,A.is_shutdown,A.repair_content,A.repair_part from TEqp_Repair A
+ left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+ where A.repair_code='SBWX221010016'";
+ dynamicParams.Add("@repair_code", repair_code);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ DeviceRepair repair = new DeviceRepair();
+ repair.faultdescr = data1.Rows[0]["failure_descript"].ToString();
+ repair.isstoprepair = data1.Rows[0]["is_shutdown"].ToString();
+ repair.repaircontent = data1.Rows[0]["repair_content"].ToString();
+ repair.repairpart = data1.Rows[0]["repair_part"].ToString();
+ //鑾峰彇璁惧缁翠慨鍥剧墖鏁版嵁
+ sql = @"select M.img1url,M.img2url from TEqp_Repair A
+ left join TEqp_RepairImage M on A.repair_code=M.source_wo
+ where A.repair_code='SBWX221010016' and M.wo_type='COMP'";
+ dynamicParams.Add("@repair_code", repair_code);
+ var data3 = DapperHelper.selectdata(sql, dynamicParams);
+ repair.repairimage = data3;
+ Dict.Add("data2", repair);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = Dict;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[璁惧缁翠慨璁板綍瀵煎嚭]
+ public static ToMessage DeviceUpdateOutExcel(string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wkshopcode != "" && wkshopcode != null)
+ {
+ search += "and A.wksp_code=@wkshopcode ";
+ dynamicParams.Add("@wkshopcode", wkshopcode);
+ }
+ if (eqpcode != "" && eqpcode != null)
+ {
+ search += "and A.eqp_code like '%'+@eqpcode+'%' ";
+ dynamicParams.Add("@eqpcode", eqpcode);
+ }
+ if (eqpname != "" && eqpname != null)
+ {
+ search += "and E.name like '%'+@eqpname+'%' ";
+ dynamicParams.Add("@eqpname", eqpname);
+ }
+ if (reportuser != "" && reportuser != null)
+ {
+ search += "and B.request_person like '%'+@reportuser+'%' ";
+ dynamicParams.Add("@reportuser", reportuser);
+ }
+ if (repairuser != "" && repairuser != null)
+ {
+ search += "and A.repair_person like '%'+@repairuser+'%' ";
+ dynamicParams.Add("@repairuser", repairuser);
+ }
+ if (vrifcatuser != "" && vrifcatuser != null)
+ {
+ search += "and A.verify_person like '%'+@vrifcatuser+'%' ";
+ dynamicParams.Add("@vrifcatuser", vrifcatuser);
+ }
+ if (reportopendate != "" && reportopendate != null)
+ {
+ search += "and B.request_date between @reportopendate and @reportclosedate ";
+ dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+ dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+ }
+ if (repairopendate != "" && repairopendate != null)
+ {
+ search += "and A.repair_date between @repairopendate and @repairclosedate ";
+ dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+ dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+ }
+ if (vrifcatopendate != "" && vrifcatopendate != null)
+ {
+ search += "and A.verify_date between @vrifcatopendate and @vrifcatclosedate ";
+ dynamicParams.Add("@vrifcatopendate", vrifcatopendate + " 00:00:00");
+ dynamicParams.Add("@vrifcatclosedate", vrifcatclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select
+ A.repair_code as '缁翠慨鍗曞彿',
+ T.org_name as '鎵�灞炶溅闂�',
+ A.eqp_code as '璁惧缂栫爜',
+ E.name as '璁惧鍚嶇О',
+ B.request_person as '鎶ヤ慨浜哄憳',
+ B.request_date as '鎶ヤ慨鏃堕棿',
+ A.repair_person as '缁翠慨浜哄憳',
+ A.repair_date as '缁翠慨鏃堕棿',
+ CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as '缁翠慨鏃堕暱(灏忔椂)',
+ A.verify_person as '楠岃瘉浜哄憳',
+ A.verify_date as '楠岃瘉鏃堕棿',
+ (case when A.verify_result='OK' then '閫氳繃' when A.verify_result='NG' then '涓嶉�氳繃' end)as '楠岃瘉缁撴灉'
+ from TEqp_Repair A
+ left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+ left join TEqpInfo E on A.eqp_code=E.code
+ left join TOrganization T on A.wksp_code=T.org_code
+ where T.description='W'" + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "璁惧缁翠慨璁板綍");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
}
}
\ No newline at end of file
diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index 5498cbe..cd32c9c 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -58,12 +58,17 @@
{
string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
//鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�
- sql = @"select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname from TK_Wrk_Record A
+ sql = @"select * from (
+ select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname from TK_Wrk_Record A
inner join TK_Wrk_Man P on A.wo_code=P.wo_code
left join TMateriel_Info M on P.materiel_code=M.partcode
left join TUom T on M.uom_code=T.code
left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
- where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'";
+ left join (
+ select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty from TK_Wrk_Step where isend='Y' group by wo_code
+ ) S on P.wo_code=S.wo_code
+ where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
+ ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
if (data0.Rows.Count > 0)
@@ -162,6 +167,7 @@
left join TMateriel_Info M on A.materiel_code=M.partcode
left join TUom U on M.uom_code=U.code
where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
+ and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
)as A ";
var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
mes.code = "200";
diff --git a/VueWebApi/DLL/DAL/ProductModelDAL.cs b/VueWebApi/DLL/DAL/ProductModelDAL.cs
index e0762fe..f073b22 100644
--- a/VueWebApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -938,7 +938,7 @@
version = version,
username = username,
CreateDate = DateTime.Now.ToString(),
- startdate= startdate
+ startdate = startdate
}
});
//鍐欏叆BOM瀛愯〃
@@ -986,12 +986,12 @@
str = sql,
parm = new
{
- id = bomid,
+ bomid = bomid,
materiel_code = parentpartcode,
quantity = quantity,
status = status,
- username = username,
- CreateDate = DateTime.Now.ToString()
+ lm_user = username,
+ lm_date = DateTime.Now.ToString()
}
});
//鍒犻櫎BOM瀛愯〃
@@ -1001,7 +1001,7 @@
str = sql,
parm = new
{
- id = bomid
+ bomid = bomid
}
});
//鍐欏叆BOM瀛愯〃
diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 2783531..ed671ca 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -2623,14 +2623,14 @@
{
if (type == "Add")
{
- var sql = @"insert into TWkm_capac_plan(wkshop, eqp_typecode, wkshift_code, enable, lm_user, lm_time,classtype)
- values(@wkshop,@eqp_typecode,@wkshift_code,@enable,@lm_user,@lm_time,@classtype)";
+ var sql = @"insert into TWkm_capac_plan(wkshop, eqp_typecode, wkshift_code, enable, lm_user, lm_date,classtype)
+ values(@wkshop,@eqp_typecode,@wkshift_code,@enable,@lm_user,@lm_date,@classtype)";
dynamicParams.Add("@wkshop", wkshopcode);
dynamicParams.Add("@eqp_typecode", capunitcode);
dynamicParams.Add("@wkshift_code", capsetupcode);
dynamicParams.Add("@enable", "Y");
dynamicParams.Add("@lm_user", username);
- dynamicParams.Add("@lm_time", DateTime.Now.ToString());
+ dynamicParams.Add("@lm_date", DateTime.Now.ToString());
dynamicParams.Add("@classtype", captplantype);
int cont = DapperHelper.SQL(sql, dynamicParams);
if (cont > 0)
@@ -2694,10 +2694,10 @@
sql = @"select CONVERT(varchar(100), wkdate, 23) DataTime,wkshift_code from TWkm_capac_plan_sub where m_id=@captplanid";
dynamicParams.Add("@captplanid", captplanid);
var data = DapperHelper.selectdata(sql, dynamicParams);
- for (int i = 0; i < dt.Rows.Count; i++)
+ for (int i = 0; i < data.Rows.Count; i++)
{
- string DataTime = dt.Rows[i]["DataTime"].ToString();//鏃ユ湡
- string key = dt.Rows[i]["wkshift_code"].ToString(); //鏂规缂栫爜
+ string DataTime = data.Rows[i]["DataTime"].ToString();//鏃ユ湡
+ string key = data.Rows[i]["wkshift_code"].ToString(); //鏂规缂栫爜
CapaPlan cmp = new CapaPlan();
cmp.name = DataTime;
cmp.key = key;
@@ -2735,11 +2735,11 @@
dynamicParams.Add("@captplanid", captplanid);
dynamicParams.Add("@datetime", datetime);
var data = DapperHelper.selectdata(sql, dynamicParams);
- for (int i = 0; i < dt.Rows.Count; i++)
+ for (int i = 0; i < data.Rows.Count; i++)
{
- string code = dt.Rows[i]["code"].ToString();//鏂规缂栫爜
- string name = dt.Rows[i]["name"].ToString();//鏂规鍚嶇О
- string flag = dt.Rows[i]["flag"].ToString(); //閫変腑鏂规鏍囪瘑
+ string code = data.Rows[i]["code"].ToString();//鏂规缂栫爜
+ string name = data.Rows[i]["name"].ToString();//鏂规鍚嶇О
+ string flag = data.Rows[i]["flag"].ToString(); //閫変腑鏂规鏍囪瘑
CapacityPlanSect cmp = new CapacityPlanSect();
cmp.CapCode = code;
cmp.CapName = name;
@@ -2748,7 +2748,7 @@
string sql1 = @"select wktme1_start,wktme2_start,wktme3_start,wktme4_start,wktme5_start from TBas_wkshift_info where code=@code";
dynamicParams.Add("@code", code);
- var db = DapperHelper.selectdata(sql, dynamicParams);
+ var db = DapperHelper.selectdata(sql1, dynamicParams);
for (int j = 0; j < db.Columns.Count; j++) //鏃堕棿娈�
{
diff --git a/VueWebApi/Logs/2022-10-13.TXT b/VueWebApi/Logs/2022-10-13.TXT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/VueWebApi/Logs/2022-10-13.TXT
diff --git a/VueWebApi/Models/DeviceReport.cs b/VueWebApi/Models/DeviceReport.cs
new file mode 100644
index 0000000..775424f
--- /dev/null
+++ b/VueWebApi/Models/DeviceReport.cs
@@ -0,0 +1,25 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+
+namespace VueWebApi.Models
+{
+ public class DeviceReport
+ {
+ public string faultsource { get; set; } //鏁呴殰鏉ユ簮
+ public string faultdescr { get; set; } //鏁呴殰鎻忚堪
+ public DataTable faultimage { get; set; } //鏁呴殰鍥剧墖
+ }
+
+ public class DeviceRepair
+ {
+ public string faultdescr { get; set; } //鏁呴殰鎻忚堪
+ public string isstoprepair { get; set; } //鍋滄満缁翠慨
+ public string repaircontent { get; set; } //缁翠慨鍐呭
+ public string repairpart { get; set; } //鏇存崲澶囦欢
+ public DataTable repairimage { get; set; } //鏁呴殰鍥剧墖/鏇存崲澶囦欢鍥剧墖
+
+ }
+}
\ No newline at end of file
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml
index 9b19b99..1591dc6 100644
--- a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml
+++ b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml
@@ -10,7 +10,8 @@
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
- <PublishUrl>D:\缃戠珯鍙戝竷\XKDMesApi</PublishUrl>
+ <PublishUrl>D:\缃戠珯鍙戝竷\MES澶у矝</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
+ <SiteUrlToLaunchAfterPublish />
</PropertyGroup>
</Project>
\ No newline at end of file
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
index 7a18292..5b671f3 100644
--- a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,8 +4,8 @@
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <_PublishTargetUrl>D:\缃戠珯鍙戝竷\XKDMesApi</_PublishTargetUrl>
- <History>True|2022-10-12T00:53:16.5351204Z;True|2022-10-12T08:24:28.2157523+08:00;False|2022-10-12T08:23:56.2743080+08:00;True|2022-10-12T08:12:38.4791356+08:00;False|2022-10-12T08:12:14.9860966+08:00;True|2022-10-12T08:08:31.1437091+08:00;True|2022-10-11T18:10:13.8327911+08:00;True|2022-10-10T16:21:33.7622381+08:00;True|2022-10-10T09:56:53.1134309+08:00;False|2022-10-10T09:56:18.9153013+08:00;True|2022-10-10T08:46:48.2842004+08:00;True|2022-10-09T16:25:10.1147763+08:00;True|2022-10-08T16:54:50.7779806+08:00;True|2022-10-08T16:35:23.1960956+08:00;True|2022-10-08T16:06:16.5635598+08:00;True|2022-10-08T16:01:24.5889763+08:00;True|2022-10-08T13:11:34.8631266+08:00;True|2022-09-29T15:59:52.7749027+08:00;True|2022-09-28T18:13:25.7208132+08:00;True|2022-09-27T14:01:52.5493804+08:00;True|2022-09-27T08:32:48.3460557+08:00;True|2022-09-23T16:12:28.0271396+08:00;True|2022-09-23T13:50:16.4039745+08:00;True|2022-09-23T13:49:02.0464589+08:00;True|2022-09-23T13:47:12.4458913+08:00;True|2022-09-23T13:42:58.0795715+08:00;True|2022-09-23T13:32:34.2909297+08:00;True|2022-09-23T13:31:14.5573692+08:00;True|2022-09-23T13:27:32.1842906+08:00;True|2022-09-23T12:50:51.2811202+08:00;True|2022-09-22T17:31:41.3605592+08:00;True|2022-09-22T17:25:44.2386416+08:00;True|2022-09-22T09:47:22.9767826+08:00;True|2022-09-16T14:31:58.5334673+08:00;True|2022-09-16T09:04:53.3449040+08:00;True|2022-09-15T15:15:18.3159768+08:00;True|2022-09-14T17:46:23.0171281+08:00;True|2022-09-14T17:43:44.4370239+08:00;True|2022-09-14T17:34:30.3167863+08:00;True|2022-09-14T17:33:00.5148855+08:00;True|2022-09-14T17:06:32.0879029+08:00;True|2022-09-14T16:50:12.7189783+08:00;True|2022-09-14T16:47:48.3868826+08:00;True|2022-09-14T16:42:35.3830356+08:00;True|2022-09-14T16:41:37.8545801+08:00;True|2022-09-14T16:36:47.0944090+08:00;True|2022-09-14T16:26:00.8638173+08:00;True|2022-09-14T16:13:43.6329252+08:00;True|2022-09-14T16:04:16.8093275+08:00;True|2022-09-14T16:02:54.4702614+08:00;True|2022-09-14T15:57:15.9623104+08:00;True|2022-09-14T15:54:23.8745601+08:00;True|2022-09-14T15:49:40.1730864+08:00;True|2022-09-14T15:42:08.2811334+08:00;True|2022-09-14T15:26:40.0417771+08:00;True|2022-09-14T15:24:30.2187269+08:00;True|2022-09-14T15:16:30.3856771+08:00;True|2022-09-14T15:09:22.4313367+08:00;True|2022-09-14T14:59:14.3795036+08:00;True|2022-09-14T14:53:26.8923244+08:00;True|2022-09-14T14:44:00.6688344+08:00;True|2022-09-14T14:41:53.3908108+08:00;True|2022-09-14T14:40:40.3787118+08:00;True|2022-09-14T14:28:39.2273279+08:00;True|2022-09-14T14:27:13.3566861+08:00;True|2022-09-14T14:25:25.4360688+08:00;True|2022-09-14T14:20:42.9734032+08:00;True|2022-09-14T13:51:39.1303401+08:00;True|2022-09-14T13:25:34.8906041+08:00;True|2022-09-14T13:19:28.9172079+08:00;True|2022-09-14T13:18:09.5900815+08:00;True|2022-09-14T10:58:58.0910068+08:00;True|2022-09-14T10:57:11.4834444+08:00;True|2022-09-14T10:45:39.8943674+08:00;True|2022-09-14T10:38:15.2282286+08:00;True|2022-09-14T10:36:54.8259640+08:00;True|2022-09-14T10:14:12.1218790+08:00;True|2022-09-14T10:13:20.0625618+08:00;True|2022-09-14T10:10:15.3538379+08:00;True|2022-09-14T10:07:09.4796434+08:00;True|2022-09-14T10:06:02.0382235+08:00;True|2022-09-14T09:57:12.0082796+08:00;True|2022-09-14T09:52:29.4689029+08:00;True|2022-09-14T09:47:26.7205193+08:00;True|2022-09-14T09:38:56.4089520+08:00;True|2022-09-14T09:32:34.9863473+08:00;True|2022-09-12T13:07:40.5119225+08:00;True|2022-09-09T15:21:48.4251654+08:00;True|2022-09-09T14:45:54.9315147+08:00;True|2022-09-09T11:01:18.2619729+08:00;True|2022-09-09T09:35:40.9779148+08:00;True|2022-09-09T09:26:51.9854326+08:00;True|2022-09-09T09:11:48.8023373+08:00;True|2022-09-09T09:05:45.5528883+08:00;True|2022-09-08T17:47:35.2628987+08:00;True|2022-09-08T17:43:32.6700813+08:00;True|2022-09-08T17:01:23.6259930+08:00;True|2022-09-08T16:55:57.2305777+08:00;True|2022-09-08T16:35:37.3631720+08:00;True|2022-09-08T16:19:13.9122228+08:00;True|2022-09-08T16:04:07.7348285+08:00;True|2022-09-08T16:00:49.9961701+08:00;True|2022-09-08T15:16:03.0110619+08:00;True|2022-09-08T10:19:46.2872822+08:00;True|2022-09-08T10:11:15.5386438+08:00;True|2022-09-08T08:19:02.5242539+08:00;True|2022-09-08T08:18:11.7308721+08:00;True|2022-09-07T11:39:27.2463573+08:00;True|2022-09-07T10:40:57.8877369+08:00;True|2022-09-07T10:37:10.1517098+08:00;True|2022-09-07T10:30:08.7782107+08:00;True|2022-09-07T10:23:52.8534200+08:00;True|2022-09-07T10:09:31.6994230+08:00;True|2022-09-07T10:01:16.2683112+08:00;True|2022-09-07T09:51:47.6282546+08:00;True|2022-09-06T19:11:45.1701913+08:00;True|2022-09-06T18:29:29.2671862+08:00;True|2022-09-06T16:41:04.2719822+08:00;True|2022-09-06T14:17:31.6896132+08:00;True|2022-09-06T13:14:39.9657702+08:00;True|2022-09-05T13:34:47.0627238+08:00;True|2022-09-05T11:07:59.2835592+08:00;True|2022-09-02T14:01:56.1233378+08:00;True|2022-08-31T23:40:49.5468281+08:00;True|2022-08-31T22:15:50.0388123+08:00;True|2022-08-31T19:20:24.7693742+08:00;True|2022-08-31T19:00:06.8271626+08:00;True|2022-08-31T18:45:08.6483670+08:00;True|2022-08-31T16:59:34.8244511+08:00;True|2022-08-31T15:39:51.0653019+08:00;True|2022-08-31T15:25:32.5277796+08:00;True|2022-08-31T13:31:48.5734692+08:00;True|2022-08-31T12:59:02.1022191+08:00;True|2022-08-31T10:06:03.2043884+08:00;True|2022-08-30T17:36:34.5932064+08:00;True|2022-08-30T17:18:12.4582841+08:00;True|2022-08-30T12:55:16.4084322+08:00;True|2022-08-30T10:12:08.0975252+08:00;True|2022-08-30T09:12:46.2845546+08:00;True|2022-08-30T08:58:47.8389468+08:00;True|2022-08-29T17:21:17.7779579+08:00;True|2022-08-29T17:17:49.5334583+08:00;True|2022-08-29T16:53:46.6019453+08:00;True|2022-08-29T16:46:50.8158231+08:00;True|2022-08-29T12:25:19.0140888+08:00;True|2022-08-26T17:02:52.4614637+08:00;True|2022-08-26T16:52:47.8585471+08:00;True|2022-08-26T16:47:02.5766798+08:00;True|2022-08-26T16:36:15.5793109+08:00;True|2022-08-26T16:15:55.1795297+08:00;True|2022-08-26T16:00:22.2697361+08:00;False|2022-08-26T15:58:16.7347649+08:00;True|2022-08-26T15:22:29.6367466+08:00;True|2022-08-25T20:02:24.4685508+08:00;True|2022-08-25T19:50:42.8601696+08:00;True|2022-08-25T15:56:20.3615518+08:00;True|2022-08-25T15:48:16.9923580+08:00;True|2022-08-25T15:27:07.9474640+08:00;True|2022-08-25T13:11:36.9626131+08:00;True|2022-08-24T14:10:58.2790665+08:00;True|2022-08-24T11:43:10.4463552+08:00;True|2022-08-24T08:02:17.9871411+08:00;True|2022-08-23T22:50:41.0238571+08:00;True|2022-08-23T22:16:20.9249814+08:00;True|2022-08-23T21:59:21.1909300+08:00;True|2022-08-23T21:50:40.8106496+08:00;True|2022-08-23T21:06:55.6611505+08:00;True|2022-08-23T19:49:07.0507418+08:00;True|2022-08-23T19:03:15.9808046+08:00;True|2022-08-23T18:58:57.1700899+08:00;True|2022-08-23T18:54:26.8058591+08:00;True|2022-08-23T18:45:39.1928602+08:00;True|2022-08-23T17:32:10.6125039+08:00;True|2022-08-23T15:58:34.9205174+08:00;True|2022-08-23T15:49:21.3383764+08:00;True|2022-08-23T15:14:21.0775398+08:00;True|2022-08-23T15:04:07.8829410+08:00;True|2022-08-23T14:59:17.5143895+08:00;True|2022-08-23T14:55:17.0069050+08:00;True|2022-08-23T14:41:41.0884731+08:00;True|2022-08-23T14:41:06.5045325+08:00;True|2022-08-23T14:28:54.7390570+08:00;True|2022-08-23T13:56:59.3670549+08:00;True|2022-08-23T13:56:38.8588174+08:00;True|2022-08-22T20:48:56.2180227+08:00;True|2022-08-22T19:07:12.1093584+08:00;True|2022-08-22T19:04:07.7837887+08:00;True|2022-08-22T14:38:00.9342884+08:00;True|2022-08-22T10:59:23.2073567+08:00;True|2022-08-22T10:53:58.0920733+08:00;True|2022-08-22T10:53:10.2446944+08:00;True|2022-08-22T10:43:35.3791396+08:00;True|2022-08-18T09:45:46.4643950+08:00;True|2022-08-18T09:40:55.2601145+08:00;True|2022-08-16T16:17:14.3399134+08:00;True|2022-08-15T17:58:16.1460123+08:00;True|2022-08-15T17:55:55.7137518+08:00;True|2022-08-15T17:44:37.6024482+08:00;True|2022-08-15T17:44:21.9583041+08:00;True|2022-08-15T17:43:23.1305690+08:00;True|2022-08-15T17:29:31.1670490+08:00;True|2022-08-15T17:26:42.9269470+08:00;True|2022-08-15T17:23:27.0940168+08:00;True|2022-08-15T17:07:32.9192045+08:00;True|2022-08-15T16:47:03.8611076+08:00;True|2022-08-15T16:41:50.6843705+08:00;True|2022-08-15T16:38:26.7407413+08:00;True|2022-08-15T16:31:49.0805578+08:00;True|2022-08-15T16:27:33.6712012+08:00;True|2022-08-15T16:24:35.1042794+08:00;True|2022-08-15T16:21:57.2757683+08:00;True|2022-08-15T16:18:17.3545368+08:00;True|2022-08-15T16:15:04.2645412+08:00;True|2022-08-15T14:44:09.3078026+08:00;True|2022-08-15T11:20:09.2930712+08:00;True|2022-08-15T10:42:12.2991587+08:00;True|2022-08-15T10:41:38.3711025+08:00;True|2022-08-15T10:19:06.9974383+08:00;True|2022-08-12T17:15:09.2133281+08:00;True|2022-08-12T10:48:05.8776009+08:00;True|2022-08-12T10:26:16.4183447+08:00;True|2022-08-12T08:33:01.9502005+08:00;True|2022-08-11T09:06:08.8394009+08:00;True|2022-08-11T08:39:06.2534634+08:00;True|2022-08-11T08:05:13.6919725+08:00;True|2022-08-08T14:48:16.3637965+08:00;True|2022-08-05T15:44:02.3797448+08:00;True|2022-08-05T09:57:55.7744103+08:00;True|2022-08-04T15:24:38.8785046+08:00;True|2022-08-04T15:11:16.7054147+08:00;True|2022-08-04T14:53:52.7239932+08:00;True|2022-08-04T14:48:35.6115863+08:00;True|2022-08-04T14:39:16.1113507+08:00;True|2022-08-04T12:26:39.4998322+08:00;True|2022-08-04T10:34:23.9626503+08:00;True|2022-08-04T08:12:51.4305728+08:00;True|2022-08-03T15:43:09.2317512+08:00;True|2022-08-02T19:17:55.0460145+08:00;True|2022-08-02T19:08:13.5872184+08:00;True|2022-08-02T18:50:12.1280167+08:00;True|2022-08-02T18:05:53.6540810+08:00;True|2022-08-02T16:13:26.3567210+08:00;True|2022-08-02T15:27:59.9264333+08:00;True|2022-07-25T15:35:49.6958399+08:00;True|2022-07-25T15:30:40.4444876+08:00;True|2022-07-25T13:33:38.4068153+08:00;True|2022-07-22T15:00:56.7326322+08:00;True|2022-07-22T14:51:18.0169121+08:00;True|2022-07-22T14:26:08.4246205+08:00;True|2022-07-22T14:23:05.0897016+08:00;True|2022-07-22T14:18:18.7806854+08:00;True|2022-07-22T14:09:29.7924367+08:00;True|2022-07-22T14:02:26.6403133+08:00;True|2022-07-22T13:56:40.0887615+08:00;True|2022-07-22T13:50:10.7852190+08:00;True|2022-07-22T11:38:25.6671780+08:00;True|2022-07-22T10:55:36.7947659+08:00;True|2022-07-21T17:53:41.1464086+08:00;True|2022-07-21T17:43:33.5311479+08:00;True|2022-07-21T16:09:07.7687640+08:00;True|2022-07-21T16:04:47.9317019+08:00;True|2022-07-21T15:58:21.2359033+08:00;True|2022-07-21T15:56:07.7425829+08:00;True|2022-07-21T15:51:34.7108381+08:00;True|2022-07-21T15:48:57.5735708+08:00;True|2022-07-21T15:44:25.8205030+08:00;True|2022-07-21T15:25:51.4222269+08:00;True|2022-07-21T15:22:36.8818295+08:00;True|2022-07-21T15:19:28.8532774+08:00;True|2022-07-21T14:57:45.7532568+08:00;True|2022-07-21T11:16:12.0900762+08:00;True|2022-07-21T10:10:40.4714948+08:00;True|2022-07-21T10:00:19.5258058+08:00;True|2022-07-14T14:34:28.5093226+08:00;True|2022-07-14T13:59:59.7754985+08:00;True|2022-07-14T12:46:29.6685284+08:00;True|2022-07-14T09:22:25.9079652+08:00;True|2022-07-14T09:22:04.6797478+08:00;True|2022-07-14T09:10:45.0177607+08:00;True|2022-07-14T08:41:43.3026713+08:00;True|2022-07-14T08:27:32.7454972+08:00;True|2022-07-14T08:21:58.6572366+08:00;True|2022-07-14T08:17:59.2904747+08:00;True|2022-07-14T08:12:39.8483472+08:00;True|2022-06-30T15:04:41.6941982+08:00;True|2022-06-24T16:39:01.1080301+08:00;True|2022-06-17T13:23:15.1455451+08:00;True|2022-06-17T13:22:18.5517557+08:00;True|2022-06-17T13:19:27.7323818+08:00;True|2022-06-17T13:12:24.1252779+08:00;True|2022-06-17T13:09:20.4234258+08:00;True|2022-06-17T13:06:49.9869509+08:00;True|2022-06-17T12:58:54.6964621+08:00;False|2022-06-17T12:58:10.6767711+08:00;False|2022-06-17T12:57:08.9747950+08:00;False|2022-06-17T12:56:18.4650121+08:00;False|2022-06-17T12:55:57.9981927+08:00;True|2022-06-13T14:21:36.5610928+08:00;True|2022-06-13T11:41:39.4210151+08:00;True|2022-06-11T02:35:03.4727934+08:00;True|2022-06-11T02:31:13.7362660+08:00;True|2022-06-11T02:30:58.3616790+08:00;True|2022-06-11T01:57:04.4951468+08:00;True|2022-06-10T13:27:13.2097124+08:00;</History>
+ <_PublishTargetUrl>D:\缃戠珯鍙戝竷\MES澶у矝</_PublishTargetUrl>
+ <History>True|2022-10-13T00:41:15.4838542Z;True|2022-10-13T08:10:18.0430775+08:00;True|2022-10-12T10:09:26.1977035+08:00;True|2022-10-12T08:53:16.5351204+08:00;True|2022-10-12T08:24:28.2157523+08:00;False|2022-10-12T08:23:56.2743080+08:00;True|2022-10-12T08:12:38.4791356+08:00;False|2022-10-12T08:12:14.9860966+08:00;True|2022-10-12T08:08:31.1437091+08:00;True|2022-10-11T18:10:13.8327911+08:00;True|2022-10-10T16:21:33.7622381+08:00;True|2022-10-10T09:56:53.1134309+08:00;False|2022-10-10T09:56:18.9153013+08:00;True|2022-10-10T08:46:48.2842004+08:00;True|2022-10-09T16:25:10.1147763+08:00;True|2022-10-08T16:54:50.7779806+08:00;True|2022-10-08T16:35:23.1960956+08:00;True|2022-10-08T16:06:16.5635598+08:00;True|2022-10-08T16:01:24.5889763+08:00;True|2022-10-08T13:11:34.8631266+08:00;True|2022-09-29T15:59:52.7749027+08:00;True|2022-09-28T18:13:25.7208132+08:00;True|2022-09-27T14:01:52.5493804+08:00;True|2022-09-27T08:32:48.3460557+08:00;True|2022-09-23T16:12:28.0271396+08:00;True|2022-09-23T13:50:16.4039745+08:00;True|2022-09-23T13:49:02.0464589+08:00;True|2022-09-23T13:47:12.4458913+08:00;True|2022-09-23T13:42:58.0795715+08:00;True|2022-09-23T13:32:34.2909297+08:00;True|2022-09-23T13:31:14.5573692+08:00;True|2022-09-23T13:27:32.1842906+08:00;True|2022-09-23T12:50:51.2811202+08:00;True|2022-09-22T17:31:41.3605592+08:00;True|2022-09-22T17:25:44.2386416+08:00;True|2022-09-22T09:47:22.9767826+08:00;True|2022-09-16T14:31:58.5334673+08:00;True|2022-09-16T09:04:53.3449040+08:00;True|2022-09-15T15:15:18.3159768+08:00;True|2022-09-14T17:46:23.0171281+08:00;True|2022-09-14T17:43:44.4370239+08:00;True|2022-09-14T17:34:30.3167863+08:00;True|2022-09-14T17:33:00.5148855+08:00;True|2022-09-14T17:06:32.0879029+08:00;True|2022-09-14T16:50:12.7189783+08:00;True|2022-09-14T16:47:48.3868826+08:00;True|2022-09-14T16:42:35.3830356+08:00;True|2022-09-14T16:41:37.8545801+08:00;True|2022-09-14T16:36:47.0944090+08:00;True|2022-09-14T16:26:00.8638173+08:00;True|2022-09-14T16:13:43.6329252+08:00;True|2022-09-14T16:04:16.8093275+08:00;True|2022-09-14T16:02:54.4702614+08:00;True|2022-09-14T15:57:15.9623104+08:00;True|2022-09-14T15:54:23.8745601+08:00;True|2022-09-14T15:49:40.1730864+08:00;True|2022-09-14T15:42:08.2811334+08:00;True|2022-09-14T15:26:40.0417771+08:00;True|2022-09-14T15:24:30.2187269+08:00;True|2022-09-14T15:16:30.3856771+08:00;True|2022-09-14T15:09:22.4313367+08:00;True|2022-09-14T14:59:14.3795036+08:00;True|2022-09-14T14:53:26.8923244+08:00;True|2022-09-14T14:44:00.6688344+08:00;True|2022-09-14T14:41:53.3908108+08:00;True|2022-09-14T14:40:40.3787118+08:00;True|2022-09-14T14:28:39.2273279+08:00;True|2022-09-14T14:27:13.3566861+08:00;True|2022-09-14T14:25:25.4360688+08:00;True|2022-09-14T14:20:42.9734032+08:00;True|2022-09-14T13:51:39.1303401+08:00;True|2022-09-14T13:25:34.8906041+08:00;True|2022-09-14T13:19:28.9172079+08:00;True|2022-09-14T13:18:09.5900815+08:00;True|2022-09-14T10:58:58.0910068+08:00;True|2022-09-14T10:57:11.4834444+08:00;True|2022-09-14T10:45:39.8943674+08:00;True|2022-09-14T10:38:15.2282286+08:00;True|2022-09-14T10:36:54.8259640+08:00;True|2022-09-14T10:14:12.1218790+08:00;True|2022-09-14T10:13:20.0625618+08:00;True|2022-09-14T10:10:15.3538379+08:00;True|2022-09-14T10:07:09.4796434+08:00;True|2022-09-14T10:06:02.0382235+08:00;True|2022-09-14T09:57:12.0082796+08:00;True|2022-09-14T09:52:29.4689029+08:00;True|2022-09-14T09:47:26.7205193+08:00;True|2022-09-14T09:38:56.4089520+08:00;True|2022-09-14T09:32:34.9863473+08:00;True|2022-09-12T13:07:40.5119225+08:00;True|2022-09-09T15:21:48.4251654+08:00;True|2022-09-09T14:45:54.9315147+08:00;True|2022-09-09T11:01:18.2619729+08:00;True|2022-09-09T09:35:40.9779148+08:00;True|2022-09-09T09:26:51.9854326+08:00;True|2022-09-09T09:11:48.8023373+08:00;True|2022-09-09T09:05:45.5528883+08:00;True|2022-09-08T17:47:35.2628987+08:00;True|2022-09-08T17:43:32.6700813+08:00;True|2022-09-08T17:01:23.6259930+08:00;True|2022-09-08T16:55:57.2305777+08:00;True|2022-09-08T16:35:37.3631720+08:00;True|2022-09-08T16:19:13.9122228+08:00;True|2022-09-08T16:04:07.7348285+08:00;True|2022-09-08T16:00:49.9961701+08:00;True|2022-09-08T15:16:03.0110619+08:00;True|2022-09-08T10:19:46.2872822+08:00;True|2022-09-08T10:11:15.5386438+08:00;True|2022-09-08T08:19:02.5242539+08:00;True|2022-09-08T08:18:11.7308721+08:00;True|2022-09-07T11:39:27.2463573+08:00;True|2022-09-07T10:40:57.8877369+08:00;True|2022-09-07T10:37:10.1517098+08:00;True|2022-09-07T10:30:08.7782107+08:00;True|2022-09-07T10:23:52.8534200+08:00;True|2022-09-07T10:09:31.6994230+08:00;True|2022-09-07T10:01:16.2683112+08:00;True|2022-09-07T09:51:47.6282546+08:00;True|2022-09-06T19:11:45.1701913+08:00;True|2022-09-06T18:29:29.2671862+08:00;True|2022-09-06T16:41:04.2719822+08:00;True|2022-09-06T14:17:31.6896132+08:00;True|2022-09-06T13:14:39.9657702+08:00;True|2022-09-05T13:34:47.0627238+08:00;True|2022-09-05T11:07:59.2835592+08:00;True|2022-09-02T14:01:56.1233378+08:00;True|2022-08-31T23:40:49.5468281+08:00;True|2022-08-31T22:15:50.0388123+08:00;True|2022-08-31T19:20:24.7693742+08:00;True|2022-08-31T19:00:06.8271626+08:00;True|2022-08-31T18:45:08.6483670+08:00;True|2022-08-31T16:59:34.8244511+08:00;True|2022-08-31T15:39:51.0653019+08:00;True|2022-08-31T15:25:32.5277796+08:00;True|2022-08-31T13:31:48.5734692+08:00;True|2022-08-31T12:59:02.1022191+08:00;True|2022-08-31T10:06:03.2043884+08:00;True|2022-08-30T17:36:34.5932064+08:00;True|2022-08-30T17:18:12.4582841+08:00;True|2022-08-30T12:55:16.4084322+08:00;True|2022-08-30T10:12:08.0975252+08:00;True|2022-08-30T09:12:46.2845546+08:00;True|2022-08-30T08:58:47.8389468+08:00;True|2022-08-29T17:21:17.7779579+08:00;True|2022-08-29T17:17:49.5334583+08:00;True|2022-08-29T16:53:46.6019453+08:00;True|2022-08-29T16:46:50.8158231+08:00;True|2022-08-29T12:25:19.0140888+08:00;True|2022-08-26T17:02:52.4614637+08:00;True|2022-08-26T16:52:47.8585471+08:00;True|2022-08-26T16:47:02.5766798+08:00;True|2022-08-26T16:36:15.5793109+08:00;True|2022-08-26T16:15:55.1795297+08:00;True|2022-08-26T16:00:22.2697361+08:00;False|2022-08-26T15:58:16.7347649+08:00;True|2022-08-26T15:22:29.6367466+08:00;True|2022-08-25T20:02:24.4685508+08:00;True|2022-08-25T19:50:42.8601696+08:00;True|2022-08-25T15:56:20.3615518+08:00;True|2022-08-25T15:48:16.9923580+08:00;True|2022-08-25T15:27:07.9474640+08:00;True|2022-08-25T13:11:36.9626131+08:00;True|2022-08-24T14:10:58.2790665+08:00;True|2022-08-24T11:43:10.4463552+08:00;True|2022-08-24T08:02:17.9871411+08:00;True|2022-08-23T22:50:41.0238571+08:00;True|2022-08-23T22:16:20.9249814+08:00;True|2022-08-23T21:59:21.1909300+08:00;True|2022-08-23T21:50:40.8106496+08:00;True|2022-08-23T21:06:55.6611505+08:00;True|2022-08-23T19:49:07.0507418+08:00;True|2022-08-23T19:03:15.9808046+08:00;True|2022-08-23T18:58:57.1700899+08:00;True|2022-08-23T18:54:26.8058591+08:00;True|2022-08-23T18:45:39.1928602+08:00;True|2022-08-23T17:32:10.6125039+08:00;True|2022-08-23T15:58:34.9205174+08:00;True|2022-08-23T15:49:21.3383764+08:00;True|2022-08-23T15:14:21.0775398+08:00;True|2022-08-23T15:04:07.8829410+08:00;True|2022-08-23T14:59:17.5143895+08:00;True|2022-08-23T14:55:17.0069050+08:00;True|2022-08-23T14:41:41.0884731+08:00;True|2022-08-23T14:41:06.5045325+08:00;True|2022-08-23T14:28:54.7390570+08:00;True|2022-08-23T13:56:59.3670549+08:00;True|2022-08-23T13:56:38.8588174+08:00;True|2022-08-22T20:48:56.2180227+08:00;True|2022-08-22T19:07:12.1093584+08:00;True|2022-08-22T19:04:07.7837887+08:00;True|2022-08-22T14:38:00.9342884+08:00;True|2022-08-22T10:59:23.2073567+08:00;True|2022-08-22T10:53:58.0920733+08:00;True|2022-08-22T10:53:10.2446944+08:00;True|2022-08-22T10:43:35.3791396+08:00;True|2022-08-18T09:45:46.4643950+08:00;True|2022-08-18T09:40:55.2601145+08:00;True|2022-08-16T16:17:14.3399134+08:00;True|2022-08-15T17:58:16.1460123+08:00;True|2022-08-15T17:55:55.7137518+08:00;True|2022-08-15T17:44:37.6024482+08:00;True|2022-08-15T17:44:21.9583041+08:00;True|2022-08-15T17:43:23.1305690+08:00;True|2022-08-15T17:29:31.1670490+08:00;True|2022-08-15T17:26:42.9269470+08:00;True|2022-08-15T17:23:27.0940168+08:00;True|2022-08-15T17:07:32.9192045+08:00;True|2022-08-15T16:47:03.8611076+08:00;True|2022-08-15T16:41:50.6843705+08:00;True|2022-08-15T16:38:26.7407413+08:00;True|2022-08-15T16:31:49.0805578+08:00;True|2022-08-15T16:27:33.6712012+08:00;True|2022-08-15T16:24:35.1042794+08:00;True|2022-08-15T16:21:57.2757683+08:00;True|2022-08-15T16:18:17.3545368+08:00;True|2022-08-15T16:15:04.2645412+08:00;True|2022-08-15T14:44:09.3078026+08:00;True|2022-08-15T11:20:09.2930712+08:00;True|2022-08-15T10:42:12.2991587+08:00;True|2022-08-15T10:41:38.3711025+08:00;True|2022-08-15T10:19:06.9974383+08:00;True|2022-08-12T17:15:09.2133281+08:00;True|2022-08-12T10:48:05.8776009+08:00;True|2022-08-12T10:26:16.4183447+08:00;True|2022-08-12T08:33:01.9502005+08:00;True|2022-08-11T09:06:08.8394009+08:00;True|2022-08-11T08:39:06.2534634+08:00;True|2022-08-11T08:05:13.6919725+08:00;True|2022-08-08T14:48:16.3637965+08:00;True|2022-08-05T15:44:02.3797448+08:00;True|2022-08-05T09:57:55.7744103+08:00;True|2022-08-04T15:24:38.8785046+08:00;True|2022-08-04T15:11:16.7054147+08:00;True|2022-08-04T14:53:52.7239932+08:00;True|2022-08-04T14:48:35.6115863+08:00;True|2022-08-04T14:39:16.1113507+08:00;True|2022-08-04T12:26:39.4998322+08:00;True|2022-08-04T10:34:23.9626503+08:00;True|2022-08-04T08:12:51.4305728+08:00;True|2022-08-03T15:43:09.2317512+08:00;True|2022-08-02T19:17:55.0460145+08:00;True|2022-08-02T19:08:13.5872184+08:00;True|2022-08-02T18:50:12.1280167+08:00;True|2022-08-02T18:05:53.6540810+08:00;True|2022-08-02T16:13:26.3567210+08:00;True|2022-08-02T15:27:59.9264333+08:00;True|2022-07-25T15:35:49.6958399+08:00;True|2022-07-25T15:30:40.4444876+08:00;True|2022-07-25T13:33:38.4068153+08:00;True|2022-07-22T15:00:56.7326322+08:00;True|2022-07-22T14:51:18.0169121+08:00;True|2022-07-22T14:26:08.4246205+08:00;True|2022-07-22T14:23:05.0897016+08:00;True|2022-07-22T14:18:18.7806854+08:00;True|2022-07-22T14:09:29.7924367+08:00;True|2022-07-22T14:02:26.6403133+08:00;True|2022-07-22T13:56:40.0887615+08:00;True|2022-07-22T13:50:10.7852190+08:00;True|2022-07-22T11:38:25.6671780+08:00;True|2022-07-22T10:55:36.7947659+08:00;True|2022-07-21T17:53:41.1464086+08:00;True|2022-07-21T17:43:33.5311479+08:00;True|2022-07-21T16:09:07.7687640+08:00;True|2022-07-21T16:04:47.9317019+08:00;True|2022-07-21T15:58:21.2359033+08:00;True|2022-07-21T15:56:07.7425829+08:00;True|2022-07-21T15:51:34.7108381+08:00;True|2022-07-21T15:48:57.5735708+08:00;True|2022-07-21T15:44:25.8205030+08:00;True|2022-07-21T15:25:51.4222269+08:00;True|2022-07-21T15:22:36.8818295+08:00;True|2022-07-21T15:19:28.8532774+08:00;True|2022-07-21T14:57:45.7532568+08:00;True|2022-07-21T11:16:12.0900762+08:00;True|2022-07-21T10:10:40.4714948+08:00;True|2022-07-21T10:00:19.5258058+08:00;True|2022-07-14T14:34:28.5093226+08:00;True|2022-07-14T13:59:59.7754985+08:00;True|2022-07-14T12:46:29.6685284+08:00;True|2022-07-14T09:22:25.9079652+08:00;True|2022-07-14T09:22:04.6797478+08:00;True|2022-07-14T09:10:45.0177607+08:00;True|2022-07-14T08:41:43.3026713+08:00;True|2022-07-14T08:27:32.7454972+08:00;True|2022-07-14T08:21:58.6572366+08:00;True|2022-07-14T08:17:59.2904747+08:00;True|2022-07-14T08:12:39.8483472+08:00;True|2022-06-30T15:04:41.6941982+08:00;True|2022-06-24T16:39:01.1080301+08:00;True|2022-06-17T13:23:15.1455451+08:00;True|2022-06-17T13:22:18.5517557+08:00;True|2022-06-17T13:19:27.7323818+08:00;True|2022-06-17T13:12:24.1252779+08:00;True|2022-06-17T13:09:20.4234258+08:00;True|2022-06-17T13:06:49.9869509+08:00;True|2022-06-17T12:58:54.6964621+08:00;False|2022-06-17T12:58:10.6767711+08:00;False|2022-06-17T12:57:08.9747950+08:00;False|2022-06-17T12:56:18.4650121+08:00;False|2022-06-17T12:55:57.9981927+08:00;True|2022-06-13T14:21:36.5610928+08:00;True|2022-06-13T11:41:39.4210151+08:00;True|2022-06-11T02:35:03.4727934+08:00;True|2022-06-11T02:31:13.7362660+08:00;True|2022-06-11T02:30:58.3616790+08:00;True|2022-06-11T01:57:04.4951468+08:00;True|2022-06-10T13:27:13.2097124+08:00;</History>
</PropertyGroup>
<ItemGroup>
<File Include="Areas/HelpPage/HelpPage.css">
@@ -720,16 +720,16 @@
<publishTime>12/24/2021 15:38:29</publishTime>
</File>
<File Include="bin/VueWebApi.dll">
- <publishTime>10/12/2022 08:53:11</publishTime>
+ <publishTime>10/13/2022 08:41:10</publishTime>
</File>
<File Include="bin/VueWebApi.dll.config">
<publishTime>06/15/2022 15:31:43</publishTime>
</File>
<File Include="bin/VueWebApi.pdb">
- <publishTime>10/12/2022 08:53:11</publishTime>
+ <publishTime>10/13/2022 08:41:10</publishTime>
</File>
<File Include="bin/VueWebApi.xml">
- <publishTime>10/12/2022 08:53:10</publishTime>
+ <publishTime>10/13/2022 08:41:09</publishTime>
</File>
<File Include="bin/WebActivatorEx.dll">
<publishTime>02/08/2013 16:42:28</publishTime>
@@ -819,7 +819,7 @@
<publishTime>07/25/2022 12:46:29</publishTime>
</File>
<File Include="Excel/鐢ㄦ埛娓呭崟.xls">
- <publishTime>07/20/2022 10:52:30</publishTime>
+ <publishTime>10/12/2022 09:55:42</publishTime>
</File>
<File Include="Excel/缂洪櫡瀹氫箟.xls">
<publishTime>08/12/2022 10:41:48</publishTime>
@@ -1524,7 +1524,7 @@
<publishTime>06/10/2022 08:20:24</publishTime>
</File>
<File Include="Web.config">
- <publishTime>10/12/2022 08:53:15</publishTime>
+ <publishTime>10/13/2022 08:41:14</publishTime>
</File>
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/VueWebApi/VueWebApi.csproj b/VueWebApi/VueWebApi.csproj
index cacd1e6..bdec53d 100644
--- a/VueWebApi/VueWebApi.csproj
+++ b/VueWebApi/VueWebApi.csproj
@@ -369,6 +369,7 @@
<Compile Include="Models\BomSub.cs" />
<Compile Include="Models\CapacityPlanSect.cs" />
<Compile Include="Models\CapaPlan.cs" />
+ <Compile Include="Models\DeviceReport.cs" />
<Compile Include="Models\EqpRepair.cs" />
<Compile Include="Models\ExcelErro.cs" />
<Compile Include="Models\MaterialRout.cs" />
diff --git a/VueWebApi/VueWebApi.csproj.user b/VueWebApi/VueWebApi.csproj.user
index ab42bcd..459a15d 100644
--- a/VueWebApi/VueWebApi.csproj.user
+++ b/VueWebApi/VueWebApi.csproj.user
@@ -9,7 +9,7 @@
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
- <NameOfLastUsedPublishProfile>D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
+ <NameOfLastUsedPublishProfile>D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<ProjectView>ProjectFiles</ProjectView>
<Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/Web API</Controller_SelectedScaffolderCategoryPath>
diff --git a/VueWebApi/bin/FastReport.Bars.dll b/VueWebApi/bin/FastReport.Bars.dll
deleted file mode 100644
index 4df3afd..0000000
--- a/VueWebApi/bin/FastReport.Bars.dll
+++ /dev/null
Binary files differ
diff --git a/VueWebApi/bin/FastReport.Editor.dll b/VueWebApi/bin/FastReport.Editor.dll
deleted file mode 100644
index 9d57231..0000000
--- a/VueWebApi/bin/FastReport.Editor.dll
+++ /dev/null
Binary files differ
diff --git a/VueWebApi/bin/FastReport.Web.xml b/VueWebApi/bin/FastReport.Web.xml
deleted file mode 100644
index 811ad16..0000000
--- a/VueWebApi/bin/FastReport.Web.xml
+++ /dev/null
@@ -1,1997 +0,0 @@
-<?xml version="1.0"?>
-<doc>
- <assembly>
- <name>FastReport.Web</name>
- </assembly>
- <members>
- <member name="T:FastReport.Web.ToolbarStyle">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarStyle.Small">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarStyle.Large">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.ToolbarIconsStyle">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarIconsStyle.Red">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarIconsStyle.Green">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarIconsStyle.Blue">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarIconsStyle.Black">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarIconsStyle.Custom">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.ToolbarBackgroundStyle">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarBackgroundStyle.Light">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarBackgroundStyle.Medium">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarBackgroundStyle.Dark">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ToolbarBackgroundStyle.Custom">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebToolbar">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.WebToolbar.RegisterGlobals(System.String,System.Web.UI.ClientScriptManager,System.Type,System.Boolean)">
- <summary>
-
- </summary>
- <param name="ID"></param>
- <param name="ClientScript"></param>
- <param name="t"></param>
- <param name="extJquery"></param>
- </member>
- <member name="M:FastReport.Web.WebToolbar.GetCss">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebToolbar.GetHtmlHeader">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebToolbar.GetHtmlBody">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebToolbar.GetHtmlProgress(System.String,System.String)">
- <summary>
-
- </summary>
- <param name="handlerPath"></param>
- <param name="ID"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebToolbar.GetHtmlFooter">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebToolbar.#ctor(System.String,System.String,System.String,System.Collections.Generic.List{FastReport.Web.ReportTab},System.Boolean)">
- <summary>
-
- </summary>
- <param name="width"></param>
- <param name="height"></param>
- <param name="guid"></param>
- <param name="tabs"></param>
- <param name="fit"></param>
- </member>
- <member name="P:FastReport.Web.WebToolbar.CurrentTabIndex">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebToolbar.EnableFit">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebToolbar.ReportProperties">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebToolbar.Report">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.Handlers.WebExport">
- <summary>
- Web handler class
- </summary>
- </member>
- <member name="F:FastReport.Web.Handlers.WebExport.WebFarmMode">
- <summary>
- You will need to configure this handler in the web.config file of your
- web and register it with IIS before being able to use it. For more information
- see the following link: http://go.microsoft.com/?linkid=8101007
- </summary>
- </member>
- <member name="M:FastReport.Web.Handlers.WebExport.ProcessRequest(System.Web.HttpContext)">
- <summary>
- Process Request
- </summary>
- <param name="context"></param>
- </member>
- <member name="P:FastReport.Web.Handlers.WebExport.IsReusable">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebTemplateMode">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.WebTemplateMode.CSS">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.WebTemplateMode.HTML">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebTemplate">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.WebTemplate.SetVariable(System.String,System.String)">
- <summary>
-
- </summary>
- <param name="key"></param>
- <param name="value"></param>
- </member>
- <member name="M:FastReport.Web.WebTemplate.GetVariable(System.String)">
- <summary>
-
- </summary>
- <param name="key"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebTemplate.LoadFromStream(System.IO.Stream)">
- <summary>
-
- </summary>
- <param name="stream"></param>
- </member>
- <member name="M:FastReport.Web.WebTemplate.SavePreparedToStream(System.IO.Stream)">
- <summary>
-
- </summary>
- <param name="stream"></param>
- </member>
- <member name="M:FastReport.Web.WebTemplate.Prepare(System.String)">
- <summary>
-
- </summary>
- <param name="template"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebTemplate.Prepare">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebTemplate.#ctor(System.String,FastReport.Web.WebTemplateMode,System.Boolean)">
- <summary>
-
- </summary>
- <param name="template"></param>
- <param name="templateMode"></param>
- <param name="humanreadable"></param>
- </member>
- <member name="M:FastReport.Web.WebTemplate.#ctor">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebTemplate.Clean">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebTemplate.Prepared">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebTemplate.Source">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebTemplate.Variables">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebTemplate.Mode">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebReportCache">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReportCache.CacheAdd(System.String,System.Object,System.Web.Caching.CacheItemRemovedCallback,System.Int32,System.Web.Caching.CacheItemPriority)">
- <summary>
-
- </summary>
- <param name="Name"></param>
- <param name="Obj"></param>
- <param name="DisposeCallBack"></param>
- <param name="CacheDelay"></param>
- <param name="Priority"></param>
- </member>
- <member name="M:FastReport.Web.WebReportCache.CacheGet(System.String)">
- <summary>
-
- </summary>
- <param name="Name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportCache.CacheRemove(System.String)">
- <summary>
-
- </summary>
- <param name="Name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportCache.GetStoragePath(System.Web.HttpContext)">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportCache.GetStorageTimeout">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportCache.GetStorageCleanup">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportCache.CleanStorage(System.String,System.Int32,System.Int32)">
- <summary>
-
- </summary>
- <param name="FileStoragePath"></param>
- <param name="FileStorageTimeout"></param>
- <param name="FileStorageCleanup"></param>
- </member>
- <member name="M:FastReport.Web.WebReportCache.GetFileStorage(System.String,System.String,System.String)">
- <summary>
-
- </summary>
- <param name="prefix"></param>
- <param name="suffix"></param>
- <param name="path"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportCache.PutFileStorage(System.String,System.String,System.Object,System.String)">
- <summary>
-
- </summary>
- <param name="prefix"></param>
- <param name="suffix"></param>
- <param name="value"></param>
- <param name="path"></param>
- </member>
- <member name="T:FastReport.Web.WebReportStyles">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebReport">
- <summary>
- Represents the Web Report.
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportCsv(System.Web.HttpContext)">
- <summary>
- Export in CSV format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportText(System.Web.HttpContext)">
- <summary>
- Export in Text format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportDbf(System.Web.HttpContext)">
- <summary>
- Export in DBF format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportPdf(System.Web.HttpContext)">
- <summary>
- Export in PDF format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportPdf(System.Web.HttpContext,System.Boolean)">
- <summary>
- Export in PDF format inline
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportHtml(System.Web.HttpContext,System.Boolean)">
- <summary>
- Export in HTML format inline
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportRtf(System.Web.HttpContext)">
- <summary>
- Export in RTF format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportMht(System.Web.HttpContext)">
- <summary>
- Export in MHT format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportXmlExcel(System.Web.HttpContext)">
- <summary>
- Export in XML (Excel 2003) format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportOds(System.Web.HttpContext)">
- <summary>
- Export in Open Office Spreadsheet format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportOdt(System.Web.HttpContext)">
- <summary>
- Export in Open Office Text format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportXps(System.Web.HttpContext)">
- <summary>
- Export in XPS format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportExcel2007(System.Web.HttpContext)">
- <summary>
- Export in Excel 2007 format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportWord2007(System.Web.HttpContext)">
- <summary>
- Export in Word 2007 format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.ExportPowerPoint2007(System.Web.HttpContext)">
- <summary>
- Export in PowerPoint 2007 format
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.PrintPdf(System.Web.HttpContext)">
- <summary>
- Print in Adobe Acrobat
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.PrintHtml(System.Web.HttpContext)">
- <summary>
- Print in browser
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.OnStartReport(System.EventArgs)">
- <summary>
- Runs on report start
- </summary>
- <param name="e"></param>
- </member>
- <member name="M:FastReport.Web.WebReport.NextPage">
- <summary>
- Force go to next report page
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.PrevPage">
- <summary>
- Force go to previous report page
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.FirstPage">
- <summary>
- Force go to first report page
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.LastPage">
- <summary>
- Force go to last report page
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.SetPage(System.Int32)">
- <summary>
- Force go to "value" report page
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.Prepare">
- <summary>
- Prepare the report
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.Refresh">
- <summary>
- Force refresh of report
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReport.AddTab(FastReport.Report,System.String)">
- <summary>
- Adds new report tab
- </summary>
- <param name="report"></param>
- <param name="name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.AddTab(FastReport.Report)">
- <summary>
- Adds new report tab
- </summary>
- <param name="report"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.AddTab(FastReport.Report,System.String,System.Boolean)">
- <summary>
- Adds new report tab
- </summary>
- <param name="report"></param>
- <param name="name"></param>
- <param name="reportDone"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterDataAsp(FastReport.Report,System.Web.UI.IDataSource,System.String)">
- <summary>
- Registers the ASP.NET application data to use it in the report.
- </summary>
- <param name="report">The <b>Report</b> object.</param>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterDataAsp(FastReport.Report,System.Collections.IEnumerable,System.String)">
- <summary>
- Registers the ASP.NET application data to use it in the report.
- </summary>
- <param name="report">The <b>Report</b> object.</param>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- </member>
- <member name="M:FastReport.Web.WebReport.OnLoad(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Web.WebReport.OnUnload(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Web.WebReport.OnInit(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Web.WebReport.OnPreRender(System.EventArgs)">
- <summary>
-
- </summary>
- <param name="e"></param>
- </member>
- <member name="M:FastReport.Web.WebReport.RenderContents(System.Web.UI.HtmlTextWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Web.WebReport.GetHtml">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.Scripts">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.Styles">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.SetSize(System.Web.UI.WebControls.Unit,System.Web.UI.WebControls.Unit)">
- <summary>
-
- </summary>
- <param name="width"></param>
- <param name="height"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.SetStartEvent(System.EventHandler)">
- <summary>
-
- </summary>
- <param name="start"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterData(System.Data.DataSet,System.String)">
- <summary>
-
- </summary>
- <param name="data"></param>
- <param name="name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterData(System.Data.DataRelation,System.String)">
- <summary>
-
- </summary>
- <param name="data"></param>
- <param name="name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterData(System.Data.DataSet)">
- <summary>
-
- </summary>
- <param name="data"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterData(System.Data.DataTable,System.String)">
- <summary>
-
- </summary>
- <param name="data"></param>
- <param name="name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterData(System.Data.DataView,System.String)">
- <summary>
-
- </summary>
- <param name="data"></param>
- <param name="name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.RegisterData(System.Collections.IEnumerable,System.String)">
- <summary>
-
- </summary>
- <param name="data"></param>
- <param name="name"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Web.WebReport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowRtfExport">
- <summary>
- Switch visibility of RTF export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfJpegQuality">
- <summary>
- Gets or sets the quality of Jpeg images in RTF file.
- </summary>
- <remarks>
- Default value is 90. This property will be used if you select Jpeg
- in the <see cref="P:FastReport.Web.WebReport.RtfImageFormat"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfImageFormat">
- <summary>
- Gets or sets the image format that will be used to save pictures in RTF file.
- </summary>
- <remarks>
- Default value is <b>Metafile</b>. This format is better for exporting such objects as
- <b>MSChartObject</b> and <b>ShapeObject</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfPictures">
- <summary>
- Gets or sets a value indicating that pictures are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfPageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfWysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfCreator">
- <summary>
- Gets or sets the creator of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.RtfAutoSize">
- <summary>
- Gets or sets a value that determines whether the rows in the resulting table
- should calculate its height automatically.
- </summary>
- <remarks>
- Default value for this property is <b>false</b>. In this mode, each row in the
- resulting table has fixed height to get maximum wysiwyg. If you set it to <b>true</b>,
- the height of resulting table will be calculated automatically by the Word processor.
- The document will be more editable, but less wysiwyg.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowMhtExport">
- <summary>
- Switch visibility of MHT (web-archive) export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.MhtPictures">
- <summary>
- Gets or sets a value indicating that pictures are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.MhtWysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowOdsExport">
- <summary>
- Switch visibility of Open Office Spreadsheet (ODS) export in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.OdsPageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.OdsWysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.OdsCreator">
- <summary>
- Gets or sets the creator of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowOdtExport">
- <summary>
- Switch visibility of Open Office Text (ODT) export in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.OdtPageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.OdtWysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.OdtCreator">
- <summary>
- Gets or sets the creator of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowXpsExport">
- <summary>
- Switch visibility of XPS export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowDbfExport">
- <summary>
- Switch visibility of DBF export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowWord2007Export">
- <summary>
- Switch visibility of Word 2007 export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.DocxMatrixBased">
- <summary>
- Enable or disable matrix view of Word 2007 document
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowExcel2007Export">
- <summary>
- Switch visibility of Excel 2007 export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.XlsxPageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.XlsxWysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.XlsxDataOnly">
- <summary>
- Enable or disable of exporting data without any header/group bands.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowPowerPoint2007Export">
- <summary>
- Switch visibility of PowerPoint 2007 export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PptxImageFormat">
- <summary>
- Gets or sets the image format that will be used to save pictures in PowerPoint file.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowXmlExcelExport">
- <summary>
- Switch visibility of XML (Excel) export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.XmlExcelPageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.XmlExcelWysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.XmlExcelDataOnly">
- <summary>
- Enable or disable of exporting data without any header/group bands.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowPdfExport">
- <summary>
- Switch visibility of PDF (Adobe Acrobat) export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfEmbeddingFonts">
- <summary>
- Enable or disable of embedding the TrueType fonts.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfBackground">
- <summary>
- Enable or disable of exporting the background.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfPrintOptimized">
- <summary>
- Enable or disable of optimization the images for printing.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfOutline">
- <summary>
- Enable or disable of document's Outline.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfDisplayDocTitle">
- <summary>
- Enable or disable of displaying document's title.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfHideToolbar">
- <summary>
- Enable or disable hide the toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfHideMenubar">
- <summary>
- Enable or disable hide the menu's bar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfHideWindowUI">
- <summary>
- Enable or disable hide the Windows UI.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfFitWindow">
- <summary>
- Enable or disable of fitting the window.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfCenterWindow">
- <summary>
- Enable or disable centering the window.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfPrintScaling">
- <summary>
- Enable or disable of scaling the page for shrink to printable area.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfTitle">
- <summary>
- Title of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfAuthor">
- <summary>
- Author of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfSubject">
- <summary>
- Subject of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfKeywords">
- <summary>
- Keywords of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfCreator">
- <summary>
- Creator of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfProducer">
- <summary>
- Producer of the document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfUserPassword">
- <summary>
- Sets the users password.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfOwnerPassword">
- <summary>
- Sets the owner password.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfAllowPrint">
- <summary>
- Enable or disable printing in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfAllowModify">
- <summary>
- Enable or disable modifying in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfAllowCopy">
- <summary>
- Enable or disable copying in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PdfAllowAnnotate">
- <summary>
- Enable or disable annotating in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowCsvExport">
- <summary>
- Switch visibility of CSV (comma separated values) export in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CsvSeparator">
- <summary>
- Gets or sets of cells separator.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CsvDataOnly">
- <summary>
- Enable or disable of exporting data without any header/group bands.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowTextExport">
- <summary>
- Switch visibility of text (plain text) export in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.TextDataOnly">
- <summary>
- Enable or disable of exporting data without any header/group bands.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.TextPageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.TextAllowFrames">
- <summary>
- Enable or disable frames in text file.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.TextSimpleFrames">
- <summary>
- Enable or disable simple (non graphic) frames in text file.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.TextEmptyLines">
- <summary>
- Enable or disable empty lines in text file.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.AutoWidth">
- <summary>
- Get or sets auto width of report
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ExternalJquery">
- <summary>
- Enable or disable using of external jQuery library
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.AutoHeight">
- <summary>
- Get or sets auto height of report
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Layers">
- <summary>
- Enable or disable layers mode visualisation
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Padding">
- <summary>
- Gets or sets Padding of Report section
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CacheDelay">
- <summary>
- Delay in cache in minutes
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CachePriority">
- <summary>
- Priority of items in cache
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ReportResourceString">
- <summary>
- Report Resource String
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ReportDataSources">
- <summary>
- Gets or sets report data source(s).
- </summary>
- <remarks>
- To pass several datasources, use ';' delimiter, for example:
- "sqlDataSource1;sqlDataSource2"
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.Pictures">
- <summary>
- Switch the pictures visibility in report
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ReportFile">
- <summary>
- Gets or sets the name of report file.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.LocalizationFile">
- <summary>
- Gets or sets the name of localization file.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Zoom">
- <summary>
- Set the zoom factor of previewed page between 0..1
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ToolbarStyle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ToolbarIconsStyle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ToolbarBackgroundStyle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowToolbar">
- <summary>
- Switch toolbar visibility
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ButtonsPath">
- <summary>
- Sets the path to custom buttons on site.
- </summary>
- <remarks>
- Pictures should be named:
- Checkbox.gif, Progress.gif, toolbar.png, toolbar_background.png, toolbar_big.png, toolbar_disabled.png, toolbar_disabled.png
- </remarks>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowExports">
- <summary>
- Switch visibility of Exports in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowPrint">
- <summary>
- Switch visibility of Print button in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowFirstButton">
- <summary>
- Switch visibility of First Button in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowPrevButton">
- <summary>
- Switch visibility of Previous Button in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowNextButton">
- <summary>
- Switch visibility of Next Button in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowLastButton">
- <summary>
- Switch visibility of Last Button in toolbar
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowZoomButton">
- <summary>
- Switch visibility of Zoom in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowRefreshButton">
- <summary>
- Switch visibility of Refresh in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ShowPageNumber">
- <summary>
- Switch visibility of Page Number in toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ToolbarColor">
- <summary>
- Set the Toolbar color.
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PrintInPdf">
- <summary>
- Enable or disable print in PDF
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PrintWindowWidth">
- <summary>
- Sets the width of print window
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.PrintWindowHeight">
- <summary>
- Sets the height of print window
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Prop">
- <summary>
- Direct access to Properties of report object
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Tabs">
- <summary>
- Direct access to Tabs
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CurrentTabIndex">
- <summary>
- Gets or sets current tab index
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CurrentTab">
- <summary>
- Gets current tab
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Toolbar">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.Report">
- <summary>
- Direct access to Report object
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.TotalPages">
- <summary>
- Gets total pages of current report
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.State">
- <summary>
- Gets or sets current state of report
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ReportDone">
- <summary>
- Return true if report done
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.CurrentPage">
- <summary>
- Gets or sets number of current page
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReport.ReportGuid">
- <summary>
- Gets or sets guid of report
- </summary>
- </member>
- <member name="E:FastReport.Web.WebReport.StartReport">
- <summary>
- Occurs when report execution is started.
- </summary>
- </member>
- <member name="T:FastReport.Web.Properties.Resources">
- <summary>
- A strongly-typed resource class, for looking up localized strings, etc.
- </summary>
- </member>
- <member name="P:FastReport.Web.Properties.Resources.ResourceManager">
- <summary>
- Returns the cached ResourceManager instance used by this class.
- </summary>
- </member>
- <member name="P:FastReport.Web.Properties.Resources.Culture">
- <summary>
- Overrides the current thread's CurrentUICulture property for all
- resource lookups using this strongly typed resource class.
- </summary>
- </member>
- <member name="T:FastReport.Web.WebUtils">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.WebUtils.HandlerFileName">
- <summary>
- Contain the filename of httphandler
- </summary>
- </member>
- <member name="M:FastReport.Web.WebUtils.IsAbsolutePhysicalPath(System.String)">
- <summary>
- Determines whether the path is an absolute physical path.
- </summary>
- <param name="path">The path to check.</param>
- <returns><b>true</b> if the path is absolute physical path.</returns>
- </member>
- <member name="M:FastReport.Web.WebUtils.CheckHandlers">
- <summary>
- Check http handlers in web.config
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebUtils.AddHandlers(System.String)">
- <summary>
- Add http handlers in web.config
- </summary>
- </member>
- <member name="M:FastReport.Web.WebUtils.CheckHandlersRuntime">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.WebUtils.GetHandlerError">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebUtils.ReverseString(System.String)">
- <summary>
-
- </summary>
- <param name="str"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebUtils.GetGUID(System.Web.HttpContext,System.String)">
- <summary>
-
- </summary>
- <param name="context"></param>
- <param name="id"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebUtils.GetGUID">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="T:FastReport.Web.WebExportItem">
- <summary>
- Class for export item description
- </summary>
- </member>
- <member name="P:FastReport.Web.WebExportItem.File">
- <summary>
- Binary data of exported files
- </summary>
- </member>
- <member name="P:FastReport.Web.WebExportItem.FileName">
- <summary>
- Name of exported file
- </summary>
- </member>
- <member name="P:FastReport.Web.WebExportItem.Format">
- <summary>
- Format of exported file
- </summary>
- </member>
- <member name="P:FastReport.Web.WebExportItem.ContentType">
- <summary>
- MIME type of exported file
- </summary>
- </member>
- <member name="T:FastReport.Web.ReportTab">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.ReportTab.#ctor">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.ReportTab.#ctor(FastReport.Report)">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.ReportTab.#ctor(FastReport.Report,FastReport.Web.WebReportProperties)">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.ReportTab.Name">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.ReportTab.Report">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.ReportTab.Properties">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.ZoomMode">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ZoomMode.Scale">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ZoomMode.Width">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ZoomMode.Page">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.ReportState">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ReportState.Empty">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ReportState.Forms">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ReportState.Report">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ReportState.Done">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Web.ReportState.Canceled">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebReportProperties">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ToolbarStyle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ToolbarIconsStyle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ToolbarBackgroundStyle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.AutoWidth">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.AutoHeight">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.Layers">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.Padding">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ReportResourceString">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ReportDataSources">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.Pictures">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ExternalJquery">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ReportFile">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.LocalizationFile">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.Zoom">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ZoomMode">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CacheDelay">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CachePriority">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowToolbar">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowBottomToolbar">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ButtonsPath">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowExports">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowPrint">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowFirstButton">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowPrevButton">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowNextButton">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowLastButton">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowZoomButton">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowRefreshButton">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowPageNumber">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ToolbarColor">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowRtfExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfJpegQuality">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfImageFormat">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfPictures">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfPageBreaks">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfWysiwyg">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfCreator">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.RtfAutoSize">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowMhtExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.MhtPictures">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.MhtWysiwyg">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowOdsExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.OdsPageBreaks">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.OdsWysiwyg">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.OdsCreator">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowOdtExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.OdtPageBreaks">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.OdtWysiwyg">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.OdtCreator">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowXpsExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowDbfExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowWord2007Export">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.DocxMatrixBased">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowExcel2007Export">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.XlsxPageBreaks">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.XlsxWysiwyg">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.XlsxDataOnly">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowPowerPoint2007Export">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PptxImageFormat">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowXmlExcelExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.XmlExcelPageBreaks">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.XmlExcelWysiwyg">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.XmlExcelDataOnly">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowPdfExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfEmbeddingFonts">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfBackground">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfPrintOptimized">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfOutline">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfDisplayDocTitle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfHideToolbar">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfHideMenubar">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfHideWindowUI">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfFitWindow">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfCenterWindow">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfPrintScaling">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfTitle">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfAuthor">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfSubject">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfKeywords">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfCreator">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfProducer">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfUserPassword">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfOwnerPassword">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfAllowPrint">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfAllowModify">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfAllowCopy">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PdfAllowAnnotate">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowCsvExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CsvSeparator">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CsvDataOnly">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ShowTextExport">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.TextDataOnly">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.TextPageBreaks">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.TextAllowFrames">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.TextSimpleFrames">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.TextEmptyLines">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PrintInPdf">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PrintWindowWidth">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.PrintWindowHeight">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ReportDone">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.TotalPages">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CurrentPage">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CurrentWidth">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.CurrentHeight">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ToolbarHeight">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.ControlID">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Web.WebReportProperties.HandlerURL">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Web.WebReportGlobals">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Web.WebReportGlobals.Scripts">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportGlobals.ScriptsWOjQuery">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportGlobals.Styles">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Web.WebReportGlobals.StylesWOjQuery">
- <summary>
-
- </summary>
- <returns></returns>
- </member>
- </members>
-</doc>
diff --git a/VueWebApi/bin/FastReport.xml b/VueWebApi/bin/FastReport.xml
deleted file mode 100644
index 27bb418..0000000
--- a/VueWebApi/bin/FastReport.xml
+++ /dev/null
@@ -1,36237 +0,0 @@
-<?xml version="1.0"?>
-<doc>
- <assembly>
- <name>FastReport</name>
- </assembly>
- <members>
- <member name="T:FastReport.Utils.ResourceLoader">
- <summary>
- Resource loader class.
- </summary>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetStream(System.String,System.String)">
- <summary>
- Gets a stream from specified assembly resource.
- </summary>
- <param name="assembly">Assembly name.</param>
- <param name="resource">Resource name.</param>
- <returns>Stream object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetStream(System.String)">
- <summary>
- Gets a stream from FastReport assembly resource.
- </summary>
- <param name="resource">Resource name.</param>
- <returns>Stream object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.UnpackStream(System.String,System.String)">
- <summary>
- Gets a stream from specified assembly resource and unpacks it.
- </summary>
- <param name="assembly">Assembly name.</param>
- <param name="resource">Resource name.</param>
- <returns>Stream object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.UnpackStream(System.String)">
- <summary>
- Gets a stream from specified FastReport assembly resource and unpacks it.
- </summary>
- <param name="resource">Resource name.</param>
- <returns>Stream object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetBitmap(System.String,System.String)">
- <summary>
- Gets a bitmap from specified assembly resource.
- </summary>
- <param name="assembly">Assembly name.</param>
- <param name="resource">Resource name.</param>
- <returns>Bitmap object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetBitmap(System.String)">
- <summary>
- Gets a bitmap from specified FastReport assembly resource.
- </summary>
- <param name="resource">Resource name.</param>
- <returns>Bitmap object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetCursor(System.String,System.String)">
- <summary>
- Gets a cursor from specified assembly resource.
- </summary>
- <param name="assembly">Assembly name.</param>
- <param name="resource">Resource name.</param>
- <returns>Cursor object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetCursor(System.String)">
- <summary>
- Gets a cursor from specified FastReport assembly resource.
- </summary>
- <param name="resource">Resource name.</param>
- <returns>Cursor object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetIcon(System.String,System.String)">
- <summary>
- Gets an icon from specified assembly resource.
- </summary>
- <param name="assembly">Assembly name.</param>
- <param name="resource">Resource name.</param>
- <returns>Icon object.</returns>
- </member>
- <member name="M:FastReport.Utils.ResourceLoader.GetIcon(System.String)">
- <summary>
- Gets an icon from specified FastReport assembly resource.
- </summary>
- <param name="resource">Resource name.</param>
- <returns>Icon object.</returns>
- </member>
- <member name="T:FastReport.Utils.WorkspaceMode1">
- <summary>
- Specifies the main mode of the designer's workspace.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode1.Select">
- <summary>
- Specifies selection mode.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode1.Insert">
- <summary>
- Specifies insertion mode.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode1.DragDrop">
- <summary>
- Specifies drag-drop mode.
- </summary>
- </member>
- <member name="T:FastReport.Utils.WorkspaceMode2">
- <summary>
- Specifies the additional mode of the designer's workspace.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode2.None">
- <summary>
- Specifies default mode.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode2.Move">
- <summary>
- Indicates that user moves the selected objects.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode2.Size">
- <summary>
- Indicates that user resizes the selected objects.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode2.SelectionRect">
- <summary>
- Indicates that user draw the selection rectangle.
- </summary>
- </member>
- <member name="F:FastReport.Utils.WorkspaceMode2.Custom">
- <summary>
- Specifies a custom mode handled by the object.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FRMouseEventArgs">
- <summary>
- Provides a data for mouse events.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.X">
- <summary>
- The X mouse coordinate.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Y">
- <summary>
- The Y mouse coordinate.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Button">
- <summary>
- Current state of mouse buttons.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.ModifierKeys">
- <summary>
- Current keyboard state.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Handled">
- <summary>
- Indicates that current object was handled the mouse message.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Delta">
- <summary>
- The delta of the mouse movement.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.WheelDelta">
- <summary>
- The mouse wheel delta.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Cursor">
- <summary>
- Current cursor shape.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Mode">
- <summary>
- Additional mode of the designer's workspace.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.SizingPoint">
- <summary>
- Current sizing point if <b>Mode</b> is set to <b>Size</b>.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.SelectionRect">
- <summary>
- Current selection rectangle if mode is set to <b>SelectionRect</b>.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.ActiveObject">
- <summary>
- Active object that handles the mouse event.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.DragSource">
- <summary>
- The source object of drag-drop operation.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.DragTarget">
- <summary>
- The target object of drag-drop operation.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.DragMessage">
- <summary>
- The message to show when drag source is over the object.
- </summary>
- </member>
- <member name="F:FastReport.Utils.FRMouseEventArgs.Data">
- <summary>
- Additional data supplied and handled by report objects.
- </summary>
- </member>
- <member name="T:FastReport.Utils.SizingPoint">
- <summary>
- Specifies the sizing point used to resize an object by mouse.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.None">
- <summary>
- No sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.LeftTop">
- <summary>
- Specifies left-top sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.LeftBottom">
- <summary>
- Specifies left-bottom sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.RightTop">
- <summary>
- Specifies right-top sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.RightBottom">
- <summary>
- Specifies right-bottom sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.TopCenter">
- <summary>
- Specifies top-center sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.BottomCenter">
- <summary>
- Specifies bottom-center sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.LeftCenter">
- <summary>
- Specifies left-center sizing point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SizingPoint.RightCenter">
- <summary>
- Specifies right-center sizing point.
- </summary>
- </member>
- <member name="T:FastReport.Utils.SelectionPoint">
- <summary>
- Specifies a selection point used to resize an object.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SelectionPoint.X">
- <summary>
- The X coordinate of the point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SelectionPoint.Y">
- <summary>
- The Y coordinate of the point.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SelectionPoint.SizingPoint">
- <summary>
- The size mode.
- </summary>
- </member>
- <member name="M:FastReport.Utils.SelectionPoint.#ctor(System.Single,System.Single,FastReport.Utils.SizingPoint)">
- <summary>
- Initializes a new instance of the <b>SelectionPoint</b> class with specified location and size mode.
- </summary>
- <param name="x">The X coordinate.</param>
- <param name="y">The Y coordinate.</param>
- <param name="pt">Size mode.</param>
- </member>
- <member name="T:FastReport.SelectedComponents">
- <summary>
- Holds the list of <see cref="T:FastReport.ComponentBase"/> objects currently selected in the designer.
- </summary>
- <remarks>
- This class is used by the "Alignment" toolbar. Use methods of this class to perform some
- operations on the selected objects.
- <para/>Note: after calling any method in this class, call the
- <see cref="M:FastReport.Design.Designer.SetModified">Designer.SetModified</see> method to reflect changes.
- <para/>Note: this list contains only objects of <see cref="T:FastReport.ComponentBase"/> type. If you want to access all
- selected objects, use the <see cref="P:FastReport.Design.Designer.SelectedObjects"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignLeft">
- <summary>
- Aligns left edges of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignRight">
- <summary>
- Aligns right edges of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignCenter">
- <summary>
- Aligns centers of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignTop">
- <summary>
- Aligns top edges of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignBottom">
- <summary>
- Aligns bottom edges of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignMiddle">
- <summary>
- Aligns middles of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.SameWidth">
- <summary>
- Makes the selected objects the same width as the first object.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.SameHeight">
- <summary>
- Makes the selected objects the same height as the first object.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.SameSize">
- <summary>
- Makes the selected objects the same size as the first object.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.CenterHorizontally">
- <summary>
- Centers the selected objects horizontally.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.CenterVertically">
- <summary>
- Centers the selected objects vertically.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.AlignToGrid">
- <summary>
- Aligns the selected objects to the grid.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.SizeToGrid">
- <summary>
- Adjusts the size of selected objects to the grid.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.SpaceHorizontally">
- <summary>
- Spaces the selected objects horizontally.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.IncreaseHorizontalSpacing">
- <summary>
- Increases horizontal spacing between the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.DecreaseHorizontalSpacing">
- <summary>
- Decreases horizontal spacing between the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.RemoveHorizontalSpacing">
- <summary>
- Removes horizontal spacing between the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.SpaceVertically">
- <summary>
- Spaces the selected objects vertically.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.IncreaseVerticalSpacing">
- <summary>
- Increases vertical spacing between the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.DecreaseVerticalSpacing">
- <summary>
- Decreases vertical spacing between the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedComponents.RemoveVerticalSpacing">
- <summary>
- Removes vertical spacing between the selected objects.
- </summary>
- </member>
- <member name="P:FastReport.SelectedComponents.First">
- <summary>
- Gets the first selected object.
- </summary>
- </member>
- <member name="P:FastReport.SelectedComponents.Count">
- <summary>
- Gets the number of selected objects.
- </summary>
- </member>
- <member name="T:FastReport.ChildBand">
- <summary>
- This class represents a child band.
- </summary>
- <remarks>
- Typical use of child band is to print several objects that can grow or shrink. It also can be done
- using the shift feature (via <see cref="T:FastReport.ShiftMode"/> property), but in some cases it's not possible.
- </remarks>
- </member>
- <member name="T:FastReport.BandBase">
- <summary>
- Base class for all bands.
- </summary>
- </member>
- <member name="T:FastReport.BreakableComponent">
- <summary>
- Base class for report components that can break across pages.
- </summary>
- </member>
- <member name="T:FastReport.ReportComponentBase">
- <summary>
- Base class for all report objects.
- </summary>
- </member>
- <member name="T:FastReport.ComponentBase">
- <summary>
- Class that implements some object's properties such as location, size and visibility.
- </summary>
- </member>
- <member name="T:FastReport.Base">
- <summary>
- Represents the root class of the FastReport object's hierarhy.
- </summary>
- </member>
- <member name="T:FastReport.IFRSerializable">
- <summary>
- Provides the serialize/deserialize functionality.
- </summary>
- </member>
- <member name="M:FastReport.IFRSerializable.Serialize(FastReport.Utils.FRWriter)">
- <summary>
- Serializes the object.
- </summary>
- <param name="writer">Writer object.</param>
- </member>
- <member name="M:FastReport.IFRSerializable.Deserialize(FastReport.Utils.FRReader)">
- <summary>
- Deserializes the object.
- </summary>
- <param name="reader">Reader object.</param>
- </member>
- <member name="M:FastReport.Base.SetProp(FastReport.Base,FastReport.Base)">
- <summary>
- Helper method, helps to set a reference-type value to the property.
- </summary>
- <param name="prop">Old property value.</param>
- <param name="value">New property value.</param>
- <remarks>
- This method is used widely to set a new value to the property that references another FastReport object.
- Method deals with the <see cref="P:FastReport.Base.Parent"/> property.
- </remarks>
- <example>This is example of the <c>DataBand.Header</c> property:<code>
- public DataHeaderBand Header
- {
- get { return FHeader; }
- set
- {
- SetProp(FHeader, value);
- FHeader = value;
- }
- }
- </code></example>
- </member>
- <member name="M:FastReport.Base.FloatDiff(System.Single,System.Single)">
- <summary>
- Checks if two float values are different.
- </summary>
- <param name="f1">First value.</param>
- <param name="f2">Second value.</param>
- <returns><c>true</c> if values are not equal.</returns>
- <remarks>
- This method is needed to compare two float values using some precision (0.001). It is useful
- to compare objects' locations and sizes for equality.
- </remarks>
- </member>
- <member name="M:FastReport.Base.DeserializeSubItems(FastReport.Utils.FRReader)">
- <summary>
- Deserializes nested object properties.
- </summary>
- <param name="reader">Reader object.</param>
- <remarks>
- <para>Typically the object serializes all properties to the single xml item:</para>
- <code>
- <TextObject Name="Text2" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/>
- </code>
- <para>Some objects like <see cref="T:FastReport.DataBand"/> have child objects that serialized in subitems:</para>
- <code>
- <DataBand Name="Data1" Top="163" Width="718.2" Height="18.9">
- <TextObject Name="Text3" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/>
- </DataBand>
- </code>
- <para>To read such subitems, the <c>DeserializeSubItems</c> method is used. Base
- implementation reads the child objects. You may override it to read some specific subitems.</para>
- </remarks>
- <example>The following code is used to read report's styles:
- <code>
- protected override void DeserializeSubItems(FRReader reader)
- {
- if (String.Compare(reader.ItemName, "Styles", true) == 0)
- reader.Read(Styles);
- else
- base.DeserializeSubItems(reader);
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Base.ExtractDefaultMacros(System.String)">
- <summary>
- Replaces the macros in the given string and returns the new string.
- </summary>
- <param name="text">The text containing macros.</param>
- <returns>The text with macros replaced with its values.</returns>
- </member>
- <member name="M:FastReport.Base.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Base.SetFlags(FastReport.Flags,System.Boolean)">
- <summary>
- Set object's flags.
- </summary>
- <param name="flags">Flag to set.</param>
- <param name="value"><b>true</b> to set the flag, <b>false</b> to reset.</param>
- </member>
- <member name="M:FastReport.Base.SetReport(FastReport.Report)">
- <summary>
- Sets the reference to a Report.
- </summary>
- <param name="value">Report to set.</param>
- </member>
- <member name="M:FastReport.Base.SetName(System.String)">
- <summary>
- Sets the object's name.
- </summary>
- <remarks>
- This method is for internal use only. It just sets a new name without any checks
- (unlike the <see cref="P:FastReport.Base.Name"/> property setter).
- </remarks>
- <seealso cref="P:FastReport.Base.Name">Name Property</seealso>
- <param name="value">New name.</param>
- </member>
- <member name="M:FastReport.Base.SetParent(FastReport.Base)">
- <summary>
- Sets the object's parent.
- </summary>
- <remarks>
- This method is for internal use only. You can use it if you are developing a new
- component for FastReport. Override it to perform some actions when the parent of an
- object is changing. This method checks that parent can contain a child.
- </remarks>
- <exception cref="T:FastReport.Utils.ParentException" caption="">Parent object cannot contain this object.</exception>
- <param name="value">New parent.</param>
- </member>
- <member name="M:FastReport.Base.SetParentCore(FastReport.Base)">
- <summary>
- Sets the object's parent.
- </summary>
- <param name="value">New parent.</param>
- <remarks>
- This method is for internal use only. You can use it if you are developing a new component for FastReport.
- This method does not perform any checks, it just sets the new parent.
- </remarks>
- </member>
- <member name="M:FastReport.Base.Delete">
- <summary>
- Deletes the object in the designer.
- </summary>
- <remarks>
- <para>This method is called when you delete the object in the designer.</para>
- <para>Typically this method calls the <see cref="M:FastReport.Base.Dispose(System.Boolean)"/> method to delete the object and all
- its children. You may override it to delete the object only, and keep children.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Base.FindObject(System.String)">
- <summary>
- Searches for an object with given name.
- </summary>
- <param name="name">Name of the object to find.</param>
- <returns>Returns a null reference if object is not found</returns>
- <example>The following code demonstrates how to find an object by its name:
- <code>
- TextObject text1 = report1.FindObject("Text1") as TextObject;
- if (text1 != null)
- {
- // object found
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Base.CreateUniqueName">
- <summary>
- Creates the unique object's name.
- </summary>
- <remarks>
- <para><b>Note:</b> you have to set object's parent before calling this method. Method uses the <see cref="P:FastReport.Base.BaseName"/>
- property to create a name.</para>
- <para><b>Note:</b> this method may be very slow on a report that contains lots of objects. Consider
- using own naming logic in this case.</para>
- </remarks>
- <example>
- <code>
- TextObject textObj = new TextObject();
- dataBand1.Objects.Add(textObj);
- textObj.CreateUniqueName();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Base.Clear">
- <summary>
- Clears the object's state.
- </summary>
- <remarks>
- This method also disposes all object's children.
- </remarks>
- </member>
- <member name="M:FastReport.Base.Serialize(FastReport.Utils.FRWriter)">
- <summary>
- Serializes the object.
- </summary>
- <remarks>
- <para>Do not call this method directly. You should override it if you are
- developing a new component for FastReport.</para>
- <para>This method is called when the object needs to save the state. It may happen
- when:</para>
- <list type="bullet">
- <item>
- <description>saving the report to the file or stream;</description>
- </item>
- <item>
- <description>saving the report to the designer's undo buffer;</description>
- </item>
- <item>
- <description>
- assigning the object to another object using the
- <see cref="M:FastReport.Base.Assign(FastReport.Base)"/> or <see cref="M:FastReport.Base.AssignAll(FastReport.Base)">AssignAll</see> methods;
- </description>
- </item>
- <item>
- <description>saving the object to the designer's clipboard;</description>
- </item>
- <item>
- <description>saving the object to the preview (when run a
- report).</description>
- </item>
- </list>
- </remarks>
- <param name="writer">Writer object.</param>
- </member>
- <member name="M:FastReport.Base.Deserialize(FastReport.Utils.FRReader)">
- <summary>
- Deserializes the object.
- </summary>
- <remarks>
- <para>Do not call this method directly. You should override it if you are
- developing a new component for FastReport.</para>
- <para>This method is called when the object needs to restore the state. It may
- happen when:</para>
- <list type="bullet">
- <item>
- <description>loading the report from a file or stream;</description>
- </item>
- <item>
- <description>loading the report from the designer's undo
- buffer;</description>
- </item>
- <item>
- <description>assigning another object to this object using the
- <see cref="M:FastReport.Base.Assign(FastReport.Base)"/> or <see cref="M:FastReport.Base.AssignAll(FastReport.Base)">AssignAll</see> methods;</description>
- </item>
- <item>
- <description>loading the object from the designer's
- clipboard;</description>
- </item>
- <item>loading the object from the preview pages.</item>
- </list>
- </remarks>
- <param name="reader">Reader object.</param>
- </member>
- <member name="M:FastReport.Base.BaseAssign(FastReport.Base)">
- <summary>
- Assigns values from another source.
- </summary>
- <remarks>
- <b>Note:</b> this method is relatively slow because it serializes
- an object to the xml and then deserializes it.
- </remarks>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="M:FastReport.Base.Assign(FastReport.Base)">
- <summary>Copies the contents of another, similar object.</summary>
- <remarks>
- <para>Call Assign to copy the properties from another object of the same type.
- The standard form of a call to Assign is</para>
- <para><c>destination.Assign(source);</c></para>
- <para>
- which tells the <b>destination</b> object to copy the contents of the
- <b>source</b> object to itself. In this method, all child objects are
- ignored. If you want to copy child objects, use the
- <see cref="M:FastReport.Base.AssignAll(FastReport.Base)">AssignAll</see> method.
- </para>
- </remarks>
- <example><code>
- Report report1;
- Report report2 = new Report();
- // copy all report settings, do not copy report objects
- report2.Assign(report1);
- </code></example>
- <seealso cref="M:FastReport.Base.AssignAll(FastReport.Base)">AssignAll Method</seealso>
- <param name="source">Source object to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Base.AssignAll(FastReport.Base)">
- <summary>Copies the contents (including children) of another, similar object.</summary>
- <remarks>
- <para>
- This method is similar to <see cref="M:FastReport.Base.Assign(FastReport.Base)"/> method. It copies child
- objects as well.
- </para>
- </remarks>
- <example><code>
- Report report1;
- Report report2 = new Report();
- // copy all report settings and objects
- report2.AssignAll(report1);
- </code></example>
- <seealso cref="M:FastReport.Base.Assign(FastReport.Base)"/>
- <param name="source">Source object to copy the state from.</param>
- </member>
- <member name="M:FastReport.Base.HasParent(FastReport.Base)">
- <summary>
- Gets a value indicating whether the object has the specified parent in its parent hierarhy.
- </summary>
- <param name="obj">Parent object to check.</param>
- <returns>Returns <b>true</b> if the object has given parent in its parent hierarhy.</returns>
- </member>
- <member name="M:FastReport.Base.HasFlag(FastReport.Flags)">
- <summary>
- Gets a value indicating whether the object has a specified flag in its <see cref="P:FastReport.Base.Flags"/> property.
- </summary>
- <param name="flag">Flag to check.</param>
- <returns><b>true</b> if <b>Flags</b> property contains specified flag.</returns>
- </member>
- <member name="M:FastReport.Base.HasRestriction(FastReport.Restrictions)">
- <summary>
- Gets a value indicating whether the object has a specified restriction
- in its <see cref="P:FastReport.Base.Restrictions"/> property.
- </summary>
- <param name="restriction">Restriction to check.</param>
- <returns><b>true</b> if <b>Restrictions</b> property contains specified restriction.</returns>
- </member>
- <member name="M:FastReport.Base.InvokeEvent(System.String,System.Object)">
- <summary>
- Invokes script event.
- </summary>
- <param name="name">Name of the event to invoke.</param>
- <param name="param">Event parameters.</param>
- <remarks>
- <para>Do not call this method directly. You should use it if you are developing a new component
- for FastReport.</para>
- <para>Use this method to call an event handler that is located in the report's script.</para>
- </remarks>
- <example>Example of the OnBeforePrint method:<code>
- public void OnBeforePrint(EventArgs e)
- {
- if (BeforePrint != null)
- BeforePrint(this, e);
- InvokeEvent(BeforePrintEvent, e);
- }
- </code></example>
- </member>
- <member name="M:FastReport.Base.OnBeforeInsert(System.Int32)">
- <summary>
- Called before inserting a new object in the designer.
- </summary>
- <remarks>
- <para>Do not call this method directly. You may override it if you are developing a
- new component for FastReport.</para>
- <para>
- Some objects are registered in the designer several times with the same object
- type, but different flags. For example, the <see cref="T:FastReport.ShapeObject"/>
- represents different shapes: rectangle, roundrect, ellipse and so on. All these
- shapes are registered in the designer using flags (the last parameter in this
- code):
- <code>
- RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 108, "Objects,Shapes,Rectangle", 0);
- RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 109, "Objects,Shapes,RoundRectangle", 1);
- RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 110, "Objects,Shapes,Ellipse", 2);
- </code>
- <para>When we put the "Ellipse" object on a band, the designer creates the
- <b>ShapeObject</b> instance and calls its <b>OnBeforeInsert</b> method with
- <b>flags</b> value set to 2. In turn, the <b>OnBeforeInsert</b> method converts the
- int value of the flags to the shape kind:</para>
- <code>
- public override void OnBeforeInsert(int flags)
- {
- FShape = (ShapeKind)flags;
- }
- </code>
- </para>
- </remarks>
- <param name="flags">Object's flags.</param>
- </member>
- <member name="M:FastReport.Base.OnAfterInsert(FastReport.InsertFrom)">
- <summary>
- Called after the new object was inserted in the designer.
- </summary>
- <remarks>
- <para>Do not call this method directly. You may override it if you are developing a new component
- for FastReport.</para>
- <para>This method is called when new object is inserted, pasted from clipboard or dragged from
- "Dictionary" window. You may override this method if you need to perform some actions when object
- is inserted. Typical implementation invokes the object's editor if "Edit after insert" flag is set
- in the designer options.</para>
- </remarks>
- <param name="source">The insertion source.</param>
- </member>
- <member name="M:FastReport.Base.OnAfterLoad">
- <summary>
- Called after all report objects were loaded.
- </summary>
- <remarks>
- Do not call this method directly. You may override it if you are developing a new component
- for FastReport.
- </remarks>
- </member>
- <member name="M:FastReport.Base.SelectionChanged">
- <summary>
- Called when the user selects another object in the designer.
- </summary>
- <remarks>
- This method is typically used by the in-place object's editor to check if selection was changed and close
- the editor.
- </remarks>
- </member>
- <member name="M:FastReport.Base.GetContextMenu">
- <summary>
- Gets the object's context menu.
- </summary>
- <returns>Null reference if object does not have a menu.</returns>
- <remarks>
- <para>Do not call this method directly. You may override it if you are developing a new component
- for FastReport.</para>
- <para>You may use base menu classes such as <see cref="T:FastReport.ComponentMenuBase"/>,
- <see cref="T:FastReport.ReportComponentBaseMenu"/> to create own context menus.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Base.GetExpressions">
- <summary>
- Gets all expressions contained in the object.
- </summary>
- <returns>Array of expressions or <b>null</b> if object contains no expressions.</returns>
- <remarks>
- <para>Do not call this method directly. You may override it if you are developing a
- new component for FastReport.</para>
- <para>
- This method is called by FastReport each time before run a report. FastReport
- do this to collect all expressions and compile them. For example,
- <b>GetExpressions</b> method of the <see cref="T:FastReport.TextObject"/> class
- parses the text and returns all expressions found in the text.
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Base.GetCustomScript">
- <summary>
- Returns a custom code that will be added to the report script before report is run.
- </summary>
- <returns>A custom script text, if any. Otherwise returns <b>null</b>.</returns>
- <remarks>
- <para>This method may return any valid code that may be inserted into the report script. Currently it is
- used in the TableObject to define the following script methods: Sum, Min, Max, Avg, Count.
- </para>
- <para>
- Note: you must take into account the current script language - C# or VB.Net. You may check it via
- <b>Report.ScriptLanguage</b> property.
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Base.ExtractMacros">
- <summary>
- Used to extract macros such as "TotalPages#" in the preview mode.
- </summary>
- <remarks>
- This method is used mainly by the <b>TextObject</b> to extract macros and replace it with
- actual values passed in the <b>pageIndex</b> and <b>totalPages</b> parameters. This method
- is called automatically when the object is being previewed.
- </remarks>
- </member>
- <member name="M:FastReport.Base.#ctor">
- <summary>
- Initializes a new instance of the <b>Base</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Base.Name">
- <summary>
- Gets or sets the name of the object.
- </summary>
- <remarks>
- <para>Name of the report object must contain alpha, digit, underscore symbols only.
- Data objects such as <b>Variable</b>, <b>TableDataSource</b>
- etc. can have any characters in they names. Each component must have unique
- name.</para>
- </remarks>
- <example>The following code demonstrates how to find an object by its name:
- <code>
- TextObject text1 = report1.FindObject("Text1") as TextObject;
- </code>
- </example>
- <exception cref="T:FastReport.Utils.DuplicateNameException" caption="">Another object with such name exists.</exception>
- <exception cref="T:FastReport.Utils.AncestorException" caption="">Rename an object that was introduced in the ancestor report.</exception>
- </member>
- <member name="P:FastReport.Base.Restrictions">
- <summary>
- Gets or sets the flags that restrict some actions in the designer.
- </summary>
- <remarks>
- Use this property to restrict some user actions like move, resize, edit, delete. For example, if
- <b>Restriction.DontMove</b> flag is set, user cannot move the object in the designer.
- </remarks>
- </member>
- <member name="P:FastReport.Base.Flags">
- <summary>
- Gets the flags that allow some functionality in the designer.
- </summary>
- <remarks>
- Use this property only if you developing a new FastReport object.
- </remarks>
- </member>
- <member name="P:FastReport.Base.Parent">
- <summary>
- Gets or sets the parent of the object.
- </summary>
- <remarks>
- <para>Each report object must have a parent in order to appear in the report. Parent must be able to
- contain objects of such type.</para>
- <para>Another way (preferred) to set a parent is to use specific properties of the parent object.
- For example, the <see cref="P:FastReport.Base.Report"/> object has the <see cref="P:FastReport.Report.Pages"/> collection.
- To add a new page to the report, use the following code: <c>report1.Pages.Add(new ReportPage());</c>
- </para>
- </remarks>
- <example><code>
- Report report1;
- ReportPage page = new ReportPage();
- page.Parent = report1;
- </code></example>
- <exception cref="T:FastReport.Utils.ParentException" caption="">Parent object cannot contain this object.</exception>
- </member>
- <member name="P:FastReport.Base.BaseName">
- <summary>
- The base part of the object's name.
- </summary>
- <remarks>
- This property is used to automatically create unique object's name. See <see cref="M:FastReport.Base.CreateUniqueName"/>
- </remarks>
- </member>
- <member name="P:FastReport.Base.ClassName">
- <summary>
- Gets the short type name.
- </summary>
- <remarks>
- Returns the short type name, such as "TextObject".
- </remarks>
- </member>
- <member name="P:FastReport.Base.Report">
- <summary>
- Gets reference to the parent <see cref="P:FastReport.Base.Report"/> object.
- </summary>
- </member>
- <member name="P:FastReport.Base.Page">
- <summary>
- Gets reference to the parent <see cref="T:FastReport.PageBase"/> object.
- </summary>
- </member>
- <member name="P:FastReport.Base.ChildObjects">
- <summary>
- Gets the collection of this object's child objects.
- </summary>
- <remarks>
- This property returns child objects that belongs to this object. For example, <b>Report.ChildObjects</b>
- will return only pages that contains in the report, but not page childs such as bands. To return all
- child objects, use <see cref="P:FastReport.Base.AllObjects"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Base.AllObjects">
- <summary>
- Gets the collection of all child objects.
- </summary>
- <remarks>
- This property returns child objects that belongs to this object and to child objects of this object.
- For example, <b>Report.AllObjects</b> will return all objects that contains in the report - such as
- pages, bands, text objects.
- </remarks>
- </member>
- <member name="P:FastReport.Base.ZOrder">
- <summary>
- Gets or sets the Z-order of the object.
- </summary>
- <remarks>
- The Z-order is also called "creation order". It is the index of an object in the parent's objects list.
- For example, put two text objects on a band. First object will have <b>ZOrder</b> = 0, second = 1. Setting the
- second object's <b>ZOrder</b> to 0 will move it to the back of the first text object.
- </remarks>
- </member>
- <member name="P:FastReport.Base.IsAncestor">
- <summary>
- Gets a value indicating whether the object was introduced in the ancestor report.
- </summary>
- </member>
- <member name="P:FastReport.Base.IsDesigning">
- <summary>
- Gets a value indicating whether the object is in the design state.
- </summary>
- </member>
- <member name="P:FastReport.Base.IsPrinting">
- <summary>
- Gets a value indicating whether the object is currently printing.
- </summary>
- </member>
- <member name="P:FastReport.Base.IsRunning">
- <summary>
- Gets a value indicating whether the object is currently processed by the report engine.
- </summary>
- </member>
- <member name="P:FastReport.Base.IsSelected">
- <summary>
- Gets a value indicating whether the object is selected in the designer.
- </summary>
- </member>
- <member name="P:FastReport.Base.IsParentSelected">
- <summary>
- Gets a value indicating whether one of the object's parent is selected in the designer.
- </summary>
- </member>
- <member name="P:FastReport.Base.OriginalComponent">
- <summary>
- Gets an original component for this object.
- </summary>
- <remarks>
- This property is used in the preview mode. Each object in the prepared report is bound to its
- original (from the report template). This technique is used to minimize the prepared report's size.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.GetSelectionPoints">
- <summary>
- Gets the object's selection points.
- </summary>
- <returns>Array of <see cref="T:FastReport.Utils.SelectionPoint"/> objects.</returns>
- <remarks>
- <para>Selection point is a small square displayed at the object's sides when object is selected
- in the designer. You can drag this square by the mouse to change the object's size. For example,
- the <b>TextObject</b> has eight selection points to change its width and height by the mouse.</para>
- <para>If you are developing a new component for FastReport, you may override this method
- if your object has non-standard set of selection points. For example, if an object has something like
- "AutoSize" property, it would be good to disable all selection points if that property is <b>true</b>,
- to disable resizing of the object by the mouse.</para>
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.DrawSelectionPoint(FastReport.Utils.FRPaintEventArgs,System.Drawing.Pen,System.Drawing.Brush,System.Single,System.Single)">
- <summary>
- Draws the selection point.
- </summary>
- <param name="e">Paint event args.</param>
- <param name="p"><see cref="T:System.Drawing.Pen"/> object.</param>
- <param name="b"><see cref="T:System.Drawing.Brush"/> object.</param>
- <param name="x">Left coordinate.</param>
- <param name="y">Top coordinate.</param>
- </member>
- <member name="M:FastReport.ComponentBase.PointInSelectionPoint(System.Single,System.Single,System.Drawing.PointF)">
- <summary>
- Gets a value indicating that given point is inside selection point.
- </summary>
- <param name="x">point's x coordinate.</param>
- <param name="y">point's y coordinate.</param>
- <param name="point">selection point.</param>
- <returns><b>true</b> if <b>(x,y)</b> is inside the <b>point</b></returns>
- </member>
- <member name="M:FastReport.ComponentBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ComponentBase.PointInObject(System.Drawing.PointF)">
- <summary>
- Checks if given point is inside the object's bounds.
- </summary>
- <param name="point">point to check.</param>
- <returns><b>true</b> if <b>point</b> is inside the object's bounds.</returns>
- <remarks>
- You can override this method if your objectis not of rectangular form.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.CheckParent(System.Boolean)">
- <summary>
- Checks if the object is inside its parent.
- </summary>
- <param name="immediately">if <b>true</b>, check now independent of any conditions.</param>
- <remarks>
- <para>Typically you don't need to use or override this method.</para>
- <para>When you move an object with the mouse, it may be moved outside its parent. If so, this method
- must find a new parent for the object and correct it's <b>Left</b>, <b>Top</b> and <b>Parent</b>
- properties. If <b>immediately</b> parameter is <b>false</b>, you can optimize the method
- to search for new parent only if the object's bounds are outside parent. If this parameter is
- <b>true</b>, you must skip any optimizations and search for a parent immediately.</para>
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.CheckNegativeSize(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Corrects the object's size and sizing point if the size becomes negative.
- </summary>
- <param name="e">Current mouse state.</param>
- <para>Typically you don't need to use or override this method.</para>
- <para>This method is called by the FastReport designer to check if the object's size becomes negative
- when resizing the object by the mouse. Method must correct the object's size and/or position to
- make it positive, also change the sizing point if needed.</para>
- </member>
- <member name="M:FastReport.ComponentBase.GetPreferredSize">
- <summary>
- Gets the preferred size of an object.
- </summary>
- <returns>Preferred size.</returns>
- <remarks>
- This method is called by the FastReport designer when you insert a new object.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.Draw(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the object.
- </summary>
- <param name="e">Paint event args.</param>
- <remarks>
- <para>This method is widely used in the FastReport. It is called each time when the object needs to draw
- or print itself.</para>
- <para>In order to draw the object correctly, you should multiply the object's bounds by the <b>scale</b>
- parameter.</para>
- <para><b>cache</b> parameter is used to optimize the drawing speed. It holds all items such as
- pens, fonts, brushes, string formats that was used before. If the item with requested parameters
- exists in the cache, it will be returned (instead of create new item and then dispose it).</para>
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.DrawSelection(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draw the selection points.
- </summary>
- <param name="e">Paint event args.</param>
- <remarks>
- This method draws a set of selection points returned by the <see cref="M:FastReport.ComponentBase.GetSelectionPoints"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.DrawDragAcceptFrame(FastReport.Utils.FRPaintEventArgs,System.Drawing.Color)">
- <summary>
- Draw the frame around the object to indicate that it accepts the drag&drop operation.
- </summary>
- <param name="e">Paint event args.</param>
- <param name="color">The color of frame.</param>
- </member>
- <member name="M:FastReport.ComponentBase.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles MouseDown event that occurs when the user clicks the mouse in the designer.
- </summary>
- <remarks>
- <para>This method is called when the user press the mouse button in the designer.
- The standard implementation does the following:</para>
- <list type="bullet">
- <item>checks if the mouse pointer is inside the object;</item>
- <item>add an object to the selected objects list of the designer;</item>
- <item>sets the <b>e.Handled</b> flag to <b>true</b>.</item>
- </list>
- </remarks>
- <param name="e">Current mouse state.</param>
- </member>
- <member name="M:FastReport.ComponentBase.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles MouseMove event that occurs when the user moves the mouse in the designer.
- </summary>
- <remarks>
- <para>This method is called when the user moves the mouse in the designer. Typical
- use of this method is to change the mouse cursor to <b>SizeAll</b> when it is over
- an object. The standard implementation does the following:</para>
- <list type="bullet">
- <item>checks if the mouse pointer is inside the object;</item>
- <item>changes the cursor shape (<b>e.Cursor</b> property);</item>
- <item>sets the <b>e.Handled</b> flag to <b>true</b>.</item>
- </list>
- </remarks>
- <param name="e">Current mouse state.</param>
- </member>
- <member name="M:FastReport.ComponentBase.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles MouseMove event that occurs when the user moves the mouse in the designer.
- </summary>
- <remarks>
- <para>This method is called when the user moves the mouse in the designer. The
- standard implementation does the following:</para>
- <list type="bullet">
- <item>
- if mouse button is not pressed, check that mouse pointer is inside one of
- the selection points returned by the <see cref="M:FastReport.ComponentBase.GetSelectionPoints"/>
- method and set the <b>e.SizingPoint</b> member to the corresponding sizing
- point;
- </item>
- <item>if mouse button is pressed, and <b>e.SizingPoint</b> member is not
- <b>SizingPoint.None</b>, resize the object.</item>
- </list>
- </remarks>
- <param name="e">Current mouse state.</param>
- </member>
- <member name="M:FastReport.ComponentBase.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles MouseUp event that occurs when the user releases the mouse button in the designer.
- </summary>
- <remarks>
- <para>This method is called when the user releases the mouse button in the
- designer. The standard implementation does the following:</para>
- <list type="bullet">
- <item>if <b>e.Mode</b> is <b>WorkspaceMode2.SelectionRect</b>, checks if object
- is inside the selection rectangle and sets <b>e.Handled</b> flag if so;</item>
- <item>
- checks that object is inside its parent (calls the
- <see cref="M:FastReport.ComponentBase.CheckParent(System.Boolean)"/> method).
- </item>
- </list>
- </remarks>
- <param name="e">Current mouse state.</param>
- </member>
- <member name="M:FastReport.ComponentBase.HandleDoubleClick">
- <summary>
- Handles double click event in the designer.
- </summary>
- <remarks>
- This method is called when the user doubleclicks the object in the designer. Typical implementation
- invokes the object's editor (calls the <b>InvokeEditor</b> method) and sets the designer's
- <b>Modified</b> flag.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.HandleMouseWheel(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles mouse wheel event.
- </summary>
- <param name="e">Current mouse state.</param>
- </member>
- <member name="M:FastReport.ComponentBase.HandleDragOver(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles the DragOver event in the designer.
- </summary>
- <param name="e">Current mouse state.</param>
- <remarks>
- This method is called when the user drags an item from the Data Tree window. This method should
- check that the mouse (<b>e.X, e.Y</b>) is inside the object, then set the <b>e.Handled</b> flag
- to <b>true</b> if an item can be dragged into this object.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.HandleDragDrop(FastReport.Utils.FRMouseEventArgs)">
- <summary>
- Handles the DragDrop event in the designer.
- </summary>
- <param name="e">Current mouse state.</param>
- <remarks>
- This method is called when the user drops an item from the Data Tree window into this object.
- This method should copy the information from the <b>e.DraggedObject</b> object and set the
- <b>e.Handled</b> flag to <b>true</b> to complete the drag operation.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.HandleKeyDown(System.Windows.Forms.Control,System.Windows.Forms.KeyEventArgs)">
- <summary>
- Handles KeyDown event in the designer.
- </summary>
- <param name="sender">The designer's workspace.</param>
- <param name="e">Keyboard event parameters.</param>
- <remarks>
- This method is called when the user presses any key in the designer. Typical implementation
- does nothing.
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.GetSmartTag">
- <summary>
- Returns a "smart tag" menu.
- </summary>
- <remarks>
- "Smart tag" is a little button that appears near the object's top-right corner when we are in the
- designer and move the mouse over the object. When you click that button you will see a popup window
- where you can set up some properties of the object. FastReport uses smart tags to quickly choose
- the datasource (for a band) or data column (for objects).
- </remarks>
- </member>
- <member name="M:FastReport.ComponentBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ComponentBase.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ComponentBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ComponentBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.ComponentBase.Left">
- <summary>
- Gets or sets the left coordinate of the object in relation to its container.
- </summary>
- <remarks>
- <para>
- This property value is measured in the screen pixels. Use
- <see cref="T:FastReport.Utils.Units"/> class to convert a value to desired units.
- </para>
- <para>
- To obtain absolute coordinate, use <see cref="P:FastReport.ComponentBase.AbsLeft"/> property.
- </para>
- </remarks>
- <example>The following example demonstrates how to convert between pixels and units:<code>
- TextObject text1;
- // set Left to 10mm
- text1.Left = Units.Millimeters * 10;
- // convert a value to millimeters
- MessageBox.Show("Left = " + (text1.Left / Units.Millimeters).ToString() + "mm");
- </code></example>
- </member>
- <member name="P:FastReport.ComponentBase.Top">
- <summary>
- Gets or sets the top coordinate of the object in relation to its container.
- </summary>
- <remarks>
- <para>
- This property value is measured in the screen pixels. Use
- <see cref="T:FastReport.Utils.Units"/> class to convert a value to desired units.
- </para>
- <para>
- To obtain absolute coordinate, use <see cref="P:FastReport.ComponentBase.AbsTop"/> property.
- </para>
- </remarks>
- <example>The following example demonstrates how to convert between pixels and units:<code>
- TextObject text1;
- // set Top to 10mm
- text1.Top = Units.Millimeters * 10;
- // convert a value to millimeters
- MessageBox.Show("Top = " + (text1.Top / Units.Millimeters).ToString() + "mm");
- </code></example>
- </member>
- <member name="P:FastReport.ComponentBase.Width">
- <summary>
- Gets or sets the width of the object.
- </summary>
- <remarks>
- This property value is measured in the screen pixels. Use <see cref="T:FastReport.Utils.Units"/> class to
- convert a value to desired units.
- </remarks>
- <example>The following example demonstrates how to convert between pixels and units:<code>
- TextObject text1;
- // set Width to 10mm
- text1.Width = Units.Millimeters * 10;
- // convert a value to millimeters
- MessageBox.Show("Width = " + (text1.Width / Units.Millimeters).ToString() + "mm");
- </code></example>
- </member>
- <member name="P:FastReport.ComponentBase.Height">
- <summary>
- Gets or sets the height of the object.
- </summary>
- <remarks>
- This property value is measured in the screen pixels. Use <see cref="T:FastReport.Utils.Units"/> class to
- convert a value to desired units.
- </remarks>
- <example>The following example demonstrates how to convert between pixels and units:<code>
- TextObject text1;
- // set Height to 10mm
- text1.Height = Units.Millimeters * 10;
- // convert a value to millimeters
- MessageBox.Show("Height = " + (text1.Height / Units.Millimeters).ToString() + "mm");
- </code></example>
- </member>
- <member name="P:FastReport.ComponentBase.Dock">
- <summary>
- Gets or sets which control borders are docked to its parent control and determines how a control
- is resized with its parent.
- </summary>
- <remarks>
- <para>Use the <b>Dock</b> property to define how a control is automatically resized as its parent control is
- resized. For example, setting Dock to <c>DockStyle.Left</c> causes the control to align itself with the
- left edges of its parent control and to resize as the parent control is resized.</para>
- <para>A control can be docked to one edge of its parent container or can be docked to all edges and
- fill the parent container.</para>
- </remarks>
- </member>
- <member name="P:FastReport.ComponentBase.Anchor">
- <summary>
- Gets or sets the edges of the container to which a control is bound and determines how a control
- is resized with its parent.
- </summary>
- <remarks>
- <para>Use the Anchor property to define how a control is automatically resized as its parent control
- is resized. Anchoring a control to its parent control ensures that the anchored edges remain in the
- same position relative to the edges of the parent control when the parent control is resized.</para>
- <para>You can anchor a control to one or more edges of its container. For example, if you have a band
- with a <b>TextObject</b> whose <b>Anchor</b> property value is set to <b>Top, Bottom</b>, the <b>TextObject</b> is stretched to
- maintain the anchored distance to the top and bottom edges of the band as the height of the band
- is increased.</para>
- </remarks>
- </member>
- <member name="P:FastReport.ComponentBase.Visible">
- <summary>
- Gets or sets a value indicating whether the object is displayed in the preview window.
- </summary>
- <remarks>
- Setting this property to <b>false</b> will hide the object in the preview window.
- </remarks>
- <example>The following report script will control the Text1 visibility depending on the value of the
- data column:<code>
- private void Data1_BeforePrint(object sender, EventArgs e)
- {
- Text1.Visible = [Orders.Shipped] == true;
- }
- </code></example>
- </member>
- <member name="P:FastReport.ComponentBase.GroupIndex">
- <summary>
- Gets or sets a group index.
- </summary>
- <remarks>
- Group index is used to group objects in the designer (using "Group" button). When you select
- any object in a group, entire group becomes selected. To reset a group, set the <b>GroupIndex</b>
- to 0 (default value).
- </remarks>
- </member>
- <member name="P:FastReport.ComponentBase.Right">
- <summary>
- Gets the right coordinate of the object in relation to its container.
- </summary>
- <remarks>
- To change the right coordinate, change the <see cref="P:FastReport.ComponentBase.Left"/> and/or <see cref="P:FastReport.ComponentBase.Width"/> properties.
- </remarks>
- </member>
- <member name="P:FastReport.ComponentBase.Bottom">
- <summary>
- Gets the bottom coordinate of the object in relation to its container.
- </summary>
- <remarks>
- To change the bottom coordinate, change the <see cref="P:FastReport.ComponentBase.Top"/> and/or <see cref="P:FastReport.ComponentBase.Height"/> properties.
- </remarks>
- </member>
- <member name="P:FastReport.ComponentBase.AbsLeft">
- <summary>
- Gets the absolute left coordinate of the object.
- </summary>
- </member>
- <member name="P:FastReport.ComponentBase.AbsTop">
- <summary>
- Gets the absolute top coordinate of the object.
- </summary>
- </member>
- <member name="P:FastReport.ComponentBase.AbsRight">
- <summary>
- Gets the absolute right coordinate of the object.
- </summary>
- </member>
- <member name="P:FastReport.ComponentBase.AbsBottom">
- <summary>
- Gets the absolute bottom coordinate of the object.
- </summary>
- </member>
- <member name="P:FastReport.ComponentBase.Bounds">
- <summary>
- Gets or sets the bounding rectangle of the object.
- </summary>
- <remarks>
- Assigning a value to this property is equal to assigning values to the <see cref="P:FastReport.ComponentBase.Left"/>,
- <see cref="P:FastReport.ComponentBase.Top"/>, <see cref="P:FastReport.ComponentBase.Width"/>, <see cref="P:FastReport.ComponentBase.Height"/> properties.
- </remarks>
- </member>
- <member name="P:FastReport.ComponentBase.AbsBounds">
- <summary>
- Gets the absolute bounding rectangle of the object.
- </summary>
- </member>
- <member name="P:FastReport.ComponentBase.ClientSize">
- <summary>
- Gets or sets the size of client area of the object.
- </summary>
- <remarks>
- This property is used in the <see cref="T:FastReport.Dialog.DialogPage"/> class.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.AssignPreviewEvents(FastReport.Base)">
- <summary>
- Copies event handlers from another similar object.
- </summary>
- <param name="source">The object to copy handlers from.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.AssignFormat(FastReport.ReportComponentBase)">
- <summary>
- Assigns a format from another, similar object.
- </summary>
- <param name="source">Source object to assign a format from.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.CheckParent(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.ApplyStyle(FastReport.Style)">
- <summary>
- Applies the style settings.
- </summary>
- <param name="style">Style to apply.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.SaveStyle">
- <summary>
- Saves the current style.
- </summary>
- </member>
- <member name="M:FastReport.ReportComponentBase.RestoreStyle">
- <summary>
- Restores the current style.
- </summary>
- </member>
- <member name="M:FastReport.ReportComponentBase.DrawBackground(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the object's background.
- </summary>
- <param name="e">Draw event arguments.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.DrawMarkers(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the object's markers.
- </summary>
- <param name="e">Draw event arguments.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.DrawMarkers(FastReport.Utils.FRPaintEventArgs,FastReport.MarkerStyle)">
- <summary>
- Draws the object's markers.
- </summary>
- <param name="e">Draw event arguments.</param>
- <param name="style">Marker style</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.IsVisible(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Determines if the object is visible on current drawing surface.
- </summary>
- <param name="e">Draw event arguments.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnAfterInsert(FastReport.InsertFrom)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnAfterLoad">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.InitializeComponent">
- <summary>
- Initializes the object before running a report.
- </summary>
- <remarks>
- This method is used by the report engine, do not call it directly.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.FinalizeComponent">
- <summary>
- Performs a finalization after the report is finished.
- </summary>
- <remarks>
- This method is used by the report engine, do not call it directly.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.SaveState">
- <summary>
- Saves the object's state before printing it.
- </summary>
- <remarks>
- This method is called by the report engine before processing the object.
- <para/>Do not call it directly. You may override it if you are developing a new FastReport component.
- In this method you should save any object properties that may be changed during the object printing.
- The standard implementation saves the object's bounds, visibility, bookmark and hyperlink.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.RestoreState">
- <summary>
- Restores the object's state after printing it.
- </summary>
- <remarks>
- This method is called by the report engine after processing the object.
- <para/>Do not call it directly. You may override it if you are developing a new FastReport component.
- In this method you should restore the object properties that were saved by the <see cref="M:FastReport.ReportComponentBase.SaveState"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.CalcHeight">
- <summary>
- Calculates the object's height.
- </summary>
- <returns>Actual object's height, in pixels.</returns>
- <remarks>
- Applicable to objects that contain several text lines, such as TextObject. Returns the height needed
- to display all the text lines.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.GetData">
- <summary>
- Gets the data from a datasource that the object is connected to.
- </summary>
- <remarks>
- This method is called by the report engine before processing the object.
- <para/>Do not call it directly. You may override it if you are developing a new FastReport component.
- In this method you should get the data from a datasource that the object is connected to.
- </remarks>
- </member>
- <member name="M:FastReport.ReportComponentBase.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnBeforePrint(System.EventArgs)">
- <summary>
- This method fires the <b>BeforePrint</b> event and the script code connected to the <b>BeforePrintEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnAfterPrint(System.EventArgs)">
- <summary>
- This method fires the <b>AfterPrint</b> event and the script code connected to the <b>AfterPrintEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnAfterData(System.EventArgs)">
- <summary>
- This method fires the <b>AfterData</b> event and the script code connected to the <b>AfterDataEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnClick(System.EventArgs)">
- <summary>
- This method fires the <b>Click</b> event and the script code connected to the <b>ClickEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method fires the <b>MouseMove</b> event and the script code connected to the <b>MouseMoveEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method fires the <b>MouseUp</b> event and the script code connected to the <b>MouseUpEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method fires the <b>MouseDown</b> event and the script code connected to the <b>MouseDownEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnMouseEnter(System.EventArgs)">
- <summary>
- This method fires the <b>MouseEnter</b> event and the script code connected to the <b>MouseEnterEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnMouseLeave(System.EventArgs)">
- <summary>
- This method fires the <b>MouseLeave</b> event and the script code connected to the <b>MouseLeaveEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.OnMouseWheel(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method is fired when the user scrolls the mouse in the preview window.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.ReportComponentBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ReportComponentBase"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.BeforePrint">
- <summary>
- This event occurs before the object is added to the preview pages.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.AfterPrint">
- <summary>
- This event occurs after the object was added to the preview pages.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.AfterData">
- <summary>
- This event occurs after the object was filled with data.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.Click">
- <summary>
- This event occurs when the user clicks the object in the preview window.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.MouseMove">
- <summary>
- This event occurs when the user moves the mouse over the object in the preview window.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.MouseUp">
- <summary>
- This event occurs when the user releases the mouse button in the preview window.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.MouseDown">
- <summary>
- This event occurs when the user clicks the mouse button in the preview window.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.MouseEnter">
- <summary>
- This event occurs when the mouse enters the object's bounds in the preview window.
- </summary>
- </member>
- <member name="E:FastReport.ReportComponentBase.MouseLeave">
- <summary>
- This event occurs when the mouse leaves the object's bounds in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.Printable">
- <summary>
- Gets or sets a value that determines if the object can be printed on the printer.
- </summary>
- <remarks>
- Object with Printable = <b>false</b> is still visible in the preview window, but not on the prinout.
- If you want to hide an object in the preview, set the <see cref="P:FastReport.ComponentBase.Visible"/> property to <b>false</b>.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.Exportable">
- <summary>
- Gets or sets a value that determines if the object can be exported.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.Border">
- <summary>
- Gets or sets an object's border.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.Fill">
- <summary>
- Gets or sets an object's fill.
- </summary>
- <remarks>
- The fill can be one of the following types: <see cref="T:FastReport.SolidFill"/>, <see cref="T:FastReport.LinearGradientFill"/>,
- <see cref="T:FastReport.PathGradientFill"/>, <see cref="T:FastReport.HatchFill"/>.
- <para/>To set the solid fill color, use the simpler <see cref="P:FastReport.ReportComponentBase.FillColor"/> property.
- </remarks>
- <example>This example shows how to set the new fill and change its properties:
- <code>
- textObject1.Fill = new SolidFill(Color.Green);
- (textObject1.Fill as SolidFill).Color = Color.Red;
- </code>
- </example>
- </member>
- <member name="P:FastReport.ReportComponentBase.FillColor">
- <summary>
- Gets or sets the fill color in a simple manner.
- </summary>
- <remarks>
- This property can be used in a report script to change the fill color of the object. It is
- equivalent to: <code>reportComponent1.Fill = new SolidFill(color);</code>
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.Cursor">
- <summary>
- Gets or sets an object's cursor shape.
- </summary>
- <remarks>
- This property is used in the preview mode.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.Bookmark">
- <summary>
- Gets or sets a bookmark expression.
- </summary>
- <remarks>
- This property can contain any valid expression that returns a bookmark name. This can be, for example,
- a data column. To navigate to a bookmark, you have to use the <see cref="P:FastReport.ReportComponentBase.Hyperlink"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.Hyperlink">
- <summary>
- Gets or sets a hyperlink.
- </summary>
- <remarks>
- <para>The hyperlink is used to define clickable objects in the preview.
- When you click such object, you may navigate to the external url, the page number,
- the bookmark defined by other report object, or display the external report.
- Set the <b>Kind</b> property of the hyperlink to select appropriate behavior.</para>
- <para>Usually you should set the <b>Expression</b> property of the hyperlink to
- any valid expression that will be calculated when this object is about to print.
- The value of an expression will be used for navigation.</para>
- <para>If you want to navigate to
- something fixed (URL or page number, for example) you also may set the <b>Value</b>
- property instead of <b>Expression</b>.</para>
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.CanGrow">
- <summary>
- Determines if the object can grow.
- </summary>
- <remarks>
- This property is applicable to the bands or text objects that can contain several text lines.
- If the property is set to <b>true</b>, object will grow to display all the information that it contains.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.CanShrink">
- <summary>
- Determines if the object can shrink.
- </summary>
- <remarks>
- This property is applicable to the bands or text objects that can contain several text lines.
- If the property is set to true, object can shrink to remove the unused space.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.GrowToBottom">
- <summary>
- Determines if the object must grow to the band's bottom side.
- </summary>
- <remarks>
- If the property is set to true, object grows to the bottom side of its parent. This is useful if
- you have several objects on a band, and some of them can grow or shrink.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.ShiftMode">
- <summary>
- Gets or sets a shift mode of the object.
- </summary>
- <remarks>
- See <see cref="T:FastReport.ShiftMode"/> enumeration for details.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.Style">
- <summary>
- Gets or sets the style name.
- </summary>
- <remarks>
- Style is a set of common properties such as border, fill, font, text color. The <b>Report</b>
- has a set of styles in the <see cref="P:FastReport.Report.Styles"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.EvenStyle">
- <summary>
- Gets or sets a style name that will be applied to even band rows.
- </summary>
- <remarks>
- Style with this name must exist in the <see cref="P:FastReport.Report.Styles"/> collection.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.HoverStyle">
- <summary>
- Gets or sets a style name that will be applied to this object when the mouse pointer is over it.
- </summary>
- <remarks>
- Style with this name must exist in the <see cref="P:FastReport.Report.Styles"/> collection.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.EvenStylePriority">
- <summary>
- Gets or sets a value that determines which properties of the even style to use.
- </summary>
- <remarks>
- Usually you will need only the Fill property of the even style to be applied. If you want to
- apply all style settings, set this property to <b>StylePriority.UseAll</b>.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.PrintOn">
- <summary>
- Gets or sets a value that determines where to print the object.
- </summary>
- <remarks>
- See the <see cref="T:FastReport.PrintOn"/> enumeration for details.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.BeforePrintEvent">
- <summary>
- Gets or sets a script event name that will be fired before the object will be printed in the preview page.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.AfterPrintEvent">
- <summary>
- Gets or sets a script event name that will be fired after the object was printed in the preview page.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.AfterDataEvent">
- <summary>
- Gets or sets a script event name that will be fired after the object was filled with data.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.ClickEvent">
- <summary>
- Gets or sets a script event name that will be fired when the user click the object in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.MouseMoveEvent">
- <summary>
- Gets or sets a script event name that will be fired when the user
- moves the mouse over the object in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.MouseUpEvent">
- <summary>
- Gets or sets a script event name that will be fired when the user
- releases the mouse button in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.MouseDownEvent">
- <summary>
- Gets or sets a script event name that will be fired when the user
- clicks the mouse button in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.MouseEnterEvent">
- <summary>
- Gets or sets a script event name that will be fired when the
- mouse enters the object's bounds in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.MouseLeaveEvent">
- <summary>
- Gets or sets a script event name that will be fired when the
- mouse leaves the object's bounds in the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ReportComponentBase.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ReportComponentBase.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ReportComponentBase.Height">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ReportComponentBase.FlagSimpleBorder">
- <summary>
- Determines if the object has custom border and use only <b>Border.Width</b>, <b>Border.Style</b> and
- <b>Border.Color</b> properties.
- </summary>
- <remarks>
- This flag is used to disable some toolbar buttons when such object is selected. Applicable to the
- ShapeObject and LineObject.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.FlagUseBorder">
- <summary>
- Determines if the object uses the <b>Border</b>.
- </summary>
- <remarks>
- This flag is used to disable some toolbar buttons when such object is selected.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.FlagUseFill">
- <summary>
- Determines if the object uses the fill.
- </summary>
- <remarks>
- This flag is used to disable some toolbar buttons when such object is selected.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.FlagPreviewVisible">
- <summary>
- Gets or sets a value indicates that object should not be added to the preview.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.FlagSerializeStyle">
- <summary>
- Determines if serializing the Style property is needed.
- </summary>
- <remarks>
- The <b>Style</b> property must be serialized last. Some ancestor classes may turn off the standard Style
- serialization and serialize it by themselves.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.FlagProvidesHyperlinkValue">
- <summary>
- Determines if an object can provide the hyperlink value automatically.
- </summary>
- <remarks>
- This flag is used in complex objects such as Matrix or Chart. These objects can provide
- a hyperlink value automatically, depending on where you click.
- </remarks>
- </member>
- <member name="P:FastReport.ReportComponentBase.Band">
- <summary>
- Gets an object's parent band.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentBase.DataBand">
- <summary>
- Gets an object's parent data band.
- </summary>
- </member>
- <member name="M:FastReport.BreakableComponent.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BreakableComponent.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BreakableComponent.Break(FastReport.BreakableComponent)">
- <summary>
- Breaks the contents of the object.
- </summary>
- <param name="breakTo">Object to put the part of content to that does not fit in this object. These two
- objects must have the same type.</param>
- <returns><b>true</b> if there is enough space in this object to display at least one text line.</returns>
- <remarks>
- <para>
- Do not call this method directly, it is used by the report engine. You should override it if
- you are writing a new FastReport object.
- </para>
- <para>
- This method must break the contents of the object. The part of content that fit in current object's
- bounds should remain in this object, the part that does not fit should be transferred to <b>breakTo</b>
- object.
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.BreakableComponent.#ctor">
- <summary>
- Initializes a new instance of the <b>BreakableComponent</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.BreakableComponent.CanBreak">
- <summary>
- Gets or sets a value that determines if the component can break its contents across pages.
- </summary>
- </member>
- <member name="P:FastReport.BreakableComponent.BreakTo">
- <summary>
- Gets or sets a reference to another similar object that will be used for displaying the
- text that not fit in this object.
- </summary>
- </member>
- <member name="T:FastReport.IParent">
- <summary>
- Implement this interface if your object can contain list of child objects.
- </summary>
- </member>
- <member name="M:FastReport.IParent.CanContain(FastReport.Base)">
- <summary>
- Gets a value indicating that this object can contain the specified child object.
- </summary>
- <param name="child">Child object.</param>
- <returns><b>true</b> if this object can contain the specified child object; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.IParent.GetChildObjects(FastReport.ObjectCollection)">
- <summary>
- Gets a list of child objects.
- </summary>
- <param name="list">List to fill with values.</param>
- </member>
- <member name="M:FastReport.IParent.AddChild(FastReport.Base)">
- <summary>
- Adds a child object to this object's childs.
- </summary>
- <param name="child">Object to add.</param>
- </member>
- <member name="M:FastReport.IParent.RemoveChild(FastReport.Base)">
- <summary>
- Removes a specified object from this object's childs.
- </summary>
- <param name="child"></param>
- </member>
- <member name="M:FastReport.IParent.GetChildOrder(FastReport.Base)">
- <summary>
- Returns z-order of the specified child object.
- </summary>
- <param name="child">Child object.</param>
- <returns>Z-order of the specified object.</returns>
- <remarks>
- This method must return the index of a specified child object in the internal child list.
- </remarks>
- </member>
- <member name="M:FastReport.IParent.SetChildOrder(FastReport.Base,System.Int32)">
- <summary>
- Sets the z-order of the specified object.
- </summary>
- <param name="child">Child object.</param>
- <param name="order">New Z-order.</param>
- <remarks>
- This method must place the specified child object at the specified position in the internal child list.
- </remarks>
- </member>
- <member name="M:FastReport.IParent.UpdateLayout(System.Single,System.Single)">
- <summary>
- Updates the children layout when the size of this object is changed by dx, dy values.
- </summary>
- <param name="dx">X delta.</param>
- <param name="dy">Y delta.</param>
- <remarks>
- This method must update positions/sizes of child objects whose <b>Dock</b> or <b>Anchor</b> properties
- are set to non-default values.
- </remarks>
- </member>
- <member name="M:FastReport.BandBase.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.DrawSelection(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.PointInObject(System.Drawing.PointF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.CalcHeight">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.Break(FastReport.BreakableComponent)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BandBase.OnBeforeLayout(System.EventArgs)">
- <summary>
- This method fires the <b>BeforeLayout</b> event and the script code connected to the <b>BeforeLayoutEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.BandBase.OnAfterLayout(System.EventArgs)">
- <summary>
- This method fires the <b>AfterLayout</b> event and the script code connected to the <b>AfterLayoutEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.BandBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.BandBase"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.BandBase.BeforeLayout">
- <summary>
- This event occurs before the band layouts its child objects.
- </summary>
- </member>
- <member name="E:FastReport.BandBase.AfterLayout">
- <summary>
- This event occurs after the child objects layout was finished.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.StartNewPage">
- <summary>
- Gets or sets a value indicating that the band should be printed from a new page.
- </summary>
- <remarks>
- New page is not generated when printing very first group or data row. This is made to avoid empty
- first page.
- </remarks>
- </member>
- <member name="P:FastReport.BandBase.FirstRowStartsNewPage">
- <summary>
- Gets or sets a value indicating that the first row can start a new report page.
- </summary>
- <remarks>
- Use this property if <see cref="P:FastReport.BandBase.StartNewPage"/> is set to <b>true</b>. Normally the new page
- is not started when printing the first data row, to avoid empty first page.
- </remarks>
- </member>
- <member name="P:FastReport.BandBase.PrintOnBottom">
- <summary>
- Gets or sets a value indicating that the band should be printed on the page bottom.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.KeepChild">
- <summary>
- Gets or sets a value indicating that the band should be printed together with its child band.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.OutlineExpression">
- <summary>
- Gets or sets an outline expression.
- </summary>
- <remarks>
- <para>
- Outline is a tree control displayed in the preview window. It represents the prepared report structure.
- Each outline node can be clicked to navigate to the item in the prepared report.
- </para>
- <para>
- To create the outline, set this property to any valid expression that represents the outline node text.
- This expression will be calculated when band is about to print, and its value will be added to the
- outline. Thus, nodes' hierarchy in the outline is similar to the bands' hierarchy
- in a report. That means there will be the main and subordinate outline nodes, corresponding
- to the main and subordinate bands in a report (a report with two levels of data or with groups can
- exemplify the point).
- </para>
- </remarks>
- </member>
- <member name="P:FastReport.BandBase.Child">
- <summary>
- Gets or sets a child band that will be printed right after this band.
- </summary>
- <remarks>
- Typical use of child band is to print several objects that can grow or shrink. It also can be done
- using the shift feature (via <see cref="P:FastReport.BandBase.ShiftMode"/> property), but in some cases it's not possible.
- </remarks>
- </member>
- <member name="P:FastReport.BandBase.Objects">
- <summary>
- Gets a collection of report objects belongs to this band.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.Repeated">
- <summary>
- Gets a value indicating that band is reprinted on a new page.
- </summary>
- <remarks>
- This property is applicable to the <b>DataHeaderBand</b> and <b>GroupHeaderBand</b> only.
- It returns <b>true</b> if its <b>RepeatOnAllPages</b> property is <b>true</b> and band is
- reprinted on a new page.
- </remarks>
- </member>
- <member name="P:FastReport.BandBase.BeforeLayoutEvent">
- <summary>
- Gets or sets a script event name that will be fired before the band layouts its child objects.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.AfterLayoutEvent">
- <summary>
- Gets or sets a script event name that will be fired after the child objects layout was finished.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.BandBase.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.BandBase.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.BandBase.AbsLeft">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.BandBase.AbsTop">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.BandBase.Dock">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.Anchor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.GrowToBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.ShiftMode">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.CanBreak">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.BreakTo">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.Guides">
- <summary>
- Gets or sets collection of guide lines for this band.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.RowNo">
- <summary>
- Gets a row number (the same value returned by the "Row#" system variable).
- </summary>
- <remarks>
- This property can be used when running a report. It may be useful to print hierarchical
- row numbers in a master-detail report, like this:
- <para/>1.1
- <para/>1.2
- <para/>2.1
- <para/>2.2
- <para/>To do this, put the Text object on a detail data band with the following text in it:
- <para/>[Data1.RowNo].[Data2.RowNo]
- </remarks>
- </member>
- <member name="P:FastReport.BandBase.AbsRowNo">
- <summary>
- Gets an absolute row number (the same value returned by the "AbsRow#" system variable).
- </summary>
- </member>
- <member name="P:FastReport.BandBase.IsFirstRow">
- <summary>
- Gets a value indicating that this is the first data row.
- </summary>
- </member>
- <member name="P:FastReport.BandBase.IsLastRow">
- <summary>
- Gets a value indicating that this is the last data row.
- </summary>
- </member>
- <member name="M:FastReport.ChildBand.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ChildBand.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ChildBand.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ChildBand.Delete">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ChildBand.FillUnusedSpace">
- <summary>
- Gets or sets a value indicating that band will be used to fill unused space on a page.
- </summary>
- <remarks>
- If you set this property to <b>true</b>, the band will be printed several times to fill
- unused space on a report page.
- </remarks>
- </member>
- <member name="P:FastReport.ChildBand.CompleteToNRows">
- <summary>
- Gets or sets a value that determines the overall number of data rows printed by the data band.
- </summary>
- <remarks>
- Using this property, you may complete the data band upto N data rows.
- If the data band has less number of rows, this band will be used to print empty rows.
- </remarks>
- </member>
- <member name="P:FastReport.ChildBand.PrintIfDatabandEmpty">
- <summary>
- Gets or sets a value indicating that the band will be printed if its parent databand is empty.
- </summary>
- <remarks>
- The child band with this property set to true, connected to a databand can be used to print "No data"
- text if the databand has no rows.
- </remarks>
- </member>
- <member name="T:FastReport.SmartTagBase">
- <summary>
- The base class for smart tags.
- </summary>
- <remarks>
- <para>
- "Smart tag" is a little button that appears near the object's top-right corner when we are in the
- designer and move the mouse over the object. When you click that button you will see a popup window
- where you can set up some properties of the object. FastReport uses smart tags to quickly choose
- the datasource (for a band) or data column (for objects).
- </para>
- <para>
- Smart tag is internally a ContextMenuStrip.
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.SmartTagBase.ItemClicked">
- <summary>
- Called when the menu item is clicked.
- </summary>
- <remarks>
- Override this method to define a reaction on the menu item click.
- </remarks>
- </member>
- <member name="M:FastReport.SmartTagBase.CreateItems">
- <summary>
- Creates the smart tag menu items.
- </summary>
- <remarks>
- Override this method to create the smart tag menu.
- </remarks>
- </member>
- <member name="M:FastReport.SmartTagBase.Show(System.Drawing.Point)">
- <summary>
- Displays a smart tag at the specified screen location.
- </summary>
- <remarks>
- Do not call this method directly. It is called automatically when click on smart tag button.
- </remarks>
- <param name="pt">Screen location.</param>
- </member>
- <member name="M:FastReport.SmartTagBase.#ctor(FastReport.ComponentBase)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.SmartTagBase"/> class with default settings.
- </summary>
- <param name="obj">Report object that owns this smart tag.</param>
- </member>
- <member name="P:FastReport.SmartTagBase.Menu">
- <summary>
- Gets the underlying context menu.
- </summary>
- </member>
- <member name="P:FastReport.SmartTagBase.Obj">
- <summary>
- Gets the report object that invokes this smart tag.
- </summary>
- </member>
- <member name="P:FastReport.SmartTagBase.Designer">
- <summary>
- Gets the report designer.
- </summary>
- </member>
- <member name="T:FastReport.Forms.BaseDialogForm">
- <summary>
- Base class for all dialog forms with two buttons, OK and Cancel.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseDialogForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BaseDialogForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.BaseDialogForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseDialogForm.btnOk">
- <summary>
- The OK button.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseDialogForm.btnCancel">
- <summary>
- The Cancel button.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BaseDialogForm.Localize">
- <summary>
- Localizes the dialog controls.
- </summary>
- <remarks>
- Use this method to set control's captions specific to the current locale.
- </remarks>
- </member>
- <member name="M:FastReport.Forms.BaseDialogForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Forms.BaseDialogForm"/> class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseWizardForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BaseWizardForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.BaseWizardForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.QueryWizardForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.QueryWizardForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.QueryWizardForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.HighlightEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.HighlightEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.HighlightEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.ParameterCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.Parameter"/> objects.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FRCollectionBase">
- <summary>
- Represents a collection of FastReport base objects.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.AddRange(FastReport.Base[])">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range">Range of elements.</param>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.AddRange(FastReport.ObjectCollection)">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range">Collection of elements.</param>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.Add(FastReport.Base)">
- <summary>
- Adds an object to the end of this collection.
- </summary>
- <param name="value">Object to add.</param>
- <returns>Index of the added object.</returns>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.Insert(System.Int32,FastReport.Base)">
- <summary>
- Inserts an object into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The object to insert.</param>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.Remove(FastReport.Base)">
- <summary>
- Removes the specified object from the collection.
- </summary>
- <param name="value">Object to remove.</param>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.IndexOf(FastReport.Base)">
- <summary>
- Returns the zero-based index of the first occurrence of an object.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.Contains(FastReport.Base)">
- <summary>
- Determines whether an element is in the collection.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.ToArray">
- <summary>
- Returns an array of collection items.
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.Equals(FastReport.Utils.FRCollectionBase)">
- <summary>
- Determines whether two collections are equal.
- </summary>
- <param name="list">The collection to compare with.</param>
- <returns><b>true</b> if collections are equal; <b>false</b> otherwise.</returns>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.CopyTo(FastReport.Utils.FRCollectionBase)">
- <summary>
- Copies the content to another collection.
- </summary>
- <param name="list">The collection to copy to.</param>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.OnInsert(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.OnRemove(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.OnClear">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.#ctor">
- <summary>
- Initializes a new instance of the <b>FRCollectionBase</b> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRCollectionBase.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <b>FRCollectionBase</b> class with specified owner.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Utils.FRCollectionBase.Owner">
- <summary>
- Gets an owner of this collection.
- </summary>
- </member>
- <member name="M:FastReport.Data.ParameterCollection.FindByName(System.String)">
- <summary>
- Finds a parameter by its name.
- </summary>
- <param name="name">The name of a parameter.</param>
- <returns>The <see cref="T:FastReport.Data.Parameter"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.ParameterCollection.CreateUniqueName(System.String)">
- <summary>
- Returns an unique parameter name based on given name.
- </summary>
- <param name="name">The base name.</param>
- <returns>The unique name.</returns>
- </member>
- <member name="M:FastReport.Data.ParameterCollection.Assign(FastReport.Data.ParameterCollection)">
- <summary>
- Copies the parameters from other collection.
- </summary>
- <param name="source">Parameters to copy from.</param>
- </member>
- <member name="M:FastReport.Data.ParameterCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.ParameterCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.ParameterCollection.Item(System.Int32)">
- <summary>
- Gets or sets a parameter.
- </summary>
- <param name="index">The index of a parameter in this collection.</param>
- <returns>The parameter with specified index.</returns>
- </member>
- <member name="T:FastReport.Wizards.BlankReportWizard">
- <summary>
- Represents the "Blank Report" wizard.
- </summary>
- </member>
- <member name="T:FastReport.Wizards.WizardBase">
- <summary>
- The base class for all report wizards.
- </summary>
- <remarks>
- To create own wizard, use this class as a base. All you need is to override
- the <see cref="M:FastReport.Wizards.WizardBase.Run(FastReport.Design.Designer)"/> method. To register a wizard, use the
- <see cref="M:FastReport.Utils.RegisteredObjects.AddWizard(System.Type,System.Drawing.Bitmap,System.String,System.Boolean)"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.Wizards.WizardBase.Run(FastReport.Design.Designer)">
- <summary>
- Runs the wizard.
- </summary>
- <param name="designer">Report designer.</param>
- <returns><b>true</b> if wizard was executed succesfully.</returns>
- <remarks>
- This method is called when you select a wizard in the "Add New Item" window and
- click "Add" button. You should do the work in this method.
- </remarks>
- </member>
- <member name="M:FastReport.Wizards.BlankReportWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TypeEditors.RelationEditor">
- <summary>
- Provides a user interface for choosing a relation.
- </summary>
- </member>
- <member name="T:FastReport.RichObject">
- <summary>
- Represents a RichText object that can display formatted text.
- </summary>
- <remarks>
- Use the <see cref="P:FastReport.RichObject.Text"/> property to set the object's text. The text may include
- the RTF formatting tags.
- </remarks>
- </member>
- <member name="T:FastReport.TextObjectBase">
- <summary>
- Base class for text objects such as <see cref="T:FastReport.TextObject"/> and <see cref="T:FastReport.RichObject"/>.
- </summary>
- <remarks>
- This class implements common functionality of the text objects.
- </remarks>
- </member>
- <member name="T:FastReport.ISearchable">
- <summary>
- Provides the "search" functionality in the preview and designer.
- </summary>
- </member>
- <member name="M:FastReport.ISearchable.SearchText(System.String,System.Boolean,System.Boolean)">
- <summary>
- Finds the specified text inside the object.
- </summary>
- <param name="text">Text to find.</param>
- <param name="matchCase"><b>true</b> to perform case-sensitive search.</param>
- <param name="wholeWord"><b>true</b> to find whole words only.</param>
- <returns>Array of character ranges that describes the occurences of text found;
- <b>null</b> if text not found.</returns>
- </member>
- <member name="M:FastReport.ISearchable.DrawSearchHighlight(FastReport.Utils.FRPaintEventArgs,System.Drawing.CharacterRange)">
- <summary>
- Draws the highlight to show the text found.
- </summary>
- <param name="e">Draw event arguments.</param>
- <param name="range">Range of characters to highlight.</param>
- </member>
- <member name="M:FastReport.TextObjectBase.DeserializeSubItems(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.AssignFormat(FastReport.ReportComponentBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.ExtractMacros">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.SearchText(System.String,System.Boolean,System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.DrawSearchHighlight(FastReport.Utils.FRPaintEventArgs,System.Drawing.CharacterRange)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObjectBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.TextObjectBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.TextObjectBase.AllowExpressions">
- <summary>
- Gets or sets a value indicating that the object's text may contain expressions.
- </summary>
- </member>
- <member name="P:FastReport.TextObjectBase.Brackets">
- <summary>
- Gets or sets the symbols that will be used to find expressions in the object's text.
- </summary>
- <remarks>
- The default property value is "[,]". As you can see, the open and close symbols are
- separated by the comma. You may use another symbols, for example: "<,>" or "<%,%>".
- You should use different open and close symbols.
- </remarks>
- </member>
- <member name="P:FastReport.TextObjectBase.Text">
- <summary>
- Gets or sets the object's text.
- </summary>
- <remarks>
- Text may contain expressions and data items, for example: "Today is [Date]".
- When report is running, all expressions are calculated and replaced with actual
- values, so the text would be "Today is 01.01.2008".
- </remarks>
- </member>
- <member name="P:FastReport.TextObjectBase.Padding">
- <summary>
- Gets or sets padding within the text object.
- </summary>
- </member>
- <member name="P:FastReport.TextObjectBase.HideZeros">
- <summary>
- Gets or sets a value indicating that zero values must be hidden.
- </summary>
- </member>
- <member name="P:FastReport.TextObjectBase.HideValue">
- <summary>
- Gets or sets a value that will be hidden.
- </summary>
- <remarks>
- Use this property to specify a value that you would like to hide. For example, specify "0"
- if you want to hide zero values, or use <see cref="P:FastReport.TextObjectBase.HideZeros"/> property to do this.
- <para/>You also may use this property to hide default DateTime values (such as 1/1/1900).
- In this case you need to specify a string containing both date and time, for example:
- "1/1/1900 0:00:00".
- <note type="caution">
- FastReport uses the <b>ToString</b> conversion to compare the expression value with this property.
- This conversion depends on regional settings selected in the Control Panel, so be aware of this
- if you going to distribute your report worldwide.
- </note>
- </remarks>
- </member>
- <member name="P:FastReport.TextObjectBase.NullValue">
- <summary>
- Gets or sets a string that will be displayed instead of a null value.
- </summary>
- </member>
- <member name="P:FastReport.TextObjectBase.Format">
- <summary>
- Gets or sets the formatter that will be used to format data in the Text object.
- </summary>
- <remarks>
- The default formatter does nothing, i.e. it shows expression values with no formatting.
- To set another formatting, create a new formatter and assign it to this property.
- <para/>If there are several expressions in the text, use the <see cref="P:FastReport.TextObjectBase.Formats"/> property
- to format each expression value.
- </remarks>
- <example>This example shows how to set currency formatter.
- <code>
- TextObject text1;
- text1.Format = new CurrencyFormat();
- </code>
- </example>
- </member>
- <member name="P:FastReport.TextObjectBase.ProcessAt">
- <summary>
- Gets or sets a value that specifies how the report engine processes this text object.
- </summary>
- <remarks>
- Use this property to perform such task as "print a total value in the group header". Normally,
- all total values are calculated in the footers (for example, in a group footer). If you try to print
- a total value in the group header, you will get 0. If you set this property to
- <b>ProcessAt.DataFinished</b>, FastReport will do the following:
- <list type="bullet">
- <item>
- <description>print the object (with wrong value);</description>
- </item>
- <item>
- <description>print all related data rows;</description>
- </item>
- <item>
- <description>calculate the correct object's value and replace old (wrong) value with the new one.</description>
- </item>
- </list>
- <note type="caution">
- This option will not work if you set the <see cref="P:FastReport.Report.UseFileCache"/> to <b>true</b>.
- </note>
- </remarks>
- </member>
- <member name="P:FastReport.TextObjectBase.Formats">
- <summary>
- Gets the collection of formatters.
- </summary>
- <remarks>
- This property is used to set format for each expression contained in the text.
- For example, if the <b>TextObject</b> contains two expressions:
- <para/><i>Today is [Date]; Page [PageN]</i>
- <para/>you can use the following code to format these expressions separately:
- <code>
- text1.Formats.Clear();
- text1.Formats.Add(new DateFormat());
- text1.Formats.Add(new NumberFormat());
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.TextObjectBase.Duplicates">
- <summary>
- Gets or sets a value that determines how to display duplicate values.
- </summary>
- </member>
- <member name="P:FastReport.TextObjectBase.Value">
- <summary>
- Gets a value of expression contained in the object's text.
- </summary>
- </member>
- <member name="T:FastReport.IHasEditor">
- <summary>
- Implements the object's editor.
- </summary>
- </member>
- <member name="M:FastReport.IHasEditor.InvokeEditor">
- <summary>
- Invokes the object's editor.
- </summary>
- <returns><b>true</b> if object was succesfully edited.</returns>
- <remarks>
- This method is called by FastReport when the object is doubleclicked in the designer.
- </remarks>
- </member>
- <member name="M:FastReport.RichObject.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.InvokeEditor">
- <summary>
- Invokes object's editor.
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.RichObject.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.CalcHeight">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.Break(FastReport.BreakableComponent)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.RichObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.RichObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.RichObject.Text">
- <summary>
- Gets or sets the object's text.
- </summary>
- <remarks>
- This property returns the formatted text with rtf tags.
- </remarks>
- </member>
- <member name="P:FastReport.RichObject.DataColumn">
- <summary>
- Gets or sets a name of the data column bound to this control.
- </summary>
- <remarks>
- Value must contain the datasource name, for example: "Datasource.Column".
- </remarks>
- </member>
- <member name="P:FastReport.RichObject.ActualTextStart">
- <summary>
- Gets the actual text start.
- </summary>
- <remarks>
- This property is for internal use only; you should not use it in your code.
- </remarks>
- </member>
- <member name="P:FastReport.RichObject.ActualTextLength">
- <summary>
- Gets the actual text length.
- </summary>
- <remarks>
- This property is for internal use only; you should not use it in your code.
- </remarks>
- </member>
- <member name="P:FastReport.RichObject.OldBreakStyle">
- <summary>
- Gets or sets the break style.
- </summary>
- <remarks>
- Set this property to true if you want editable rich text when you edit the prepared report page.
- </remarks>
- </member>
- <member name="T:FastReport.Forms.BaseExportForm">
- <summary>
- Base form for all export options dialog forms.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.gbPageRange">
- <summary>
- "Page Range" groupbox.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.lblHint">
- <summary>
- "Page Numbers" label.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.tbNumbers">
- <summary>
- "Page Numbers" textbox.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.rbNumbers">
- <summary>
- "Page Numbers" radiobutton.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.rbCurrent">
- <summary>
- "Current Page" radiobutton.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.rbAll">
- <summary>
- "All Pages" radiobutton.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.pcPages">
- <summary>
- PageControl.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.panPages">
- <summary>
- Pages panel.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseExportForm.cbOpenAfter">
- <summary>
- "Open after export" checkbox.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.OnFormClosing(System.Windows.Forms.FormClosingEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.OnShown(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.OnFormClosed(System.Windows.Forms.FormClosedEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.Done">
- <summary>
- Called when editing is done.
- </summary>
- <remarks>
- Override this method to pass edited values from the dialog controls to the export filter.
- </remarks>
- <example>See the example of this method implementation that is used in the <b>ImageExport</b>.
- <code>
- protected override void Done()
- {
- base.Done();
- ImageExport imageExport = Export as ImageExport;
- imageExport.ImageFormat = (ImageExportFormat)cbxImageFormat.SelectedIndex;
- imageExport.Resolution = (int)udResolution.Value;
- imageExport.JpegQuality = (int)udQuality.Value;
- imageExport.SeparateFiles = cbSeparateFiles.Checked;
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.Init(FastReport.Export.ExportBase)">
- <summary>
- Initializes controls with initial values.
- </summary>
- <param name="export">The export filter to edit.</param>
- <remarks>
- Override this method to pass values from the export filter to the dialog controls.
- </remarks>
- <example>See the example of this method implementation that is used in the <b>ImageExport</b>.
- <code>
- public override void Init(ExportBase export)
- {
- base.Init(export);
- ImageExport imageExport = Export as ImageExport;
- cbxImageFormat.SelectedIndex = (int)imageExport.ImageFormat;
- udResolution.Value = imageExport.Resolution;
- udQuality.Value = imageExport.JpegQuality;
- cbSeparateFiles.Checked = imageExport.SeparateFiles;
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Forms.BaseExportForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Forms.BaseExportForm"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Forms.BaseExportForm.Export">
- <summary>
- Gets a reference to the currently editing export filter.
- </summary>
- </member>
- <member name="F:FastReport.Forms.RTFExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.RTFExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.RTFExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.LabelWizardForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.LabelWizardForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.LabelWizardForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.GroupExpertForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.GroupExpertForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.GroupExpertForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Forms.DesignerOptionsPage">
- <summary>
- The base class for designer plugin's options page.
- </summary>
- <remarks>
- Use this class if you develop a designer plugin that may be configured in the
- "View|Options..." menu. You need to implement an options page for your
- plugin and return it in the <b>IDesignerPlugin.GetOptionsPage</b> method.
- </remarks>
- </member>
- <member name="F:FastReport.Forms.DesignerOptionsPage.tc1">
- <summary>
- The <b>TabControl</b> control.
- </summary>
- </member>
- <member name="F:FastReport.Forms.DesignerOptionsPage.tab1">
- <summary>
- The <b>TabPage</b> control.
- </summary>
- </member>
- <member name="M:FastReport.Forms.DesignerOptionsPage.Init">
- <summary>
- Initializes controls on this options page.
- </summary>
- <remarks>
- Override this method to fill options page's controls with initial values.
- </remarks>
- </member>
- <member name="M:FastReport.Forms.DesignerOptionsPage.Done(System.Windows.Forms.DialogResult)">
- <summary>
- Finalizes the options page.
- </summary>
- <param name="result">The dialog result.</param>
- <remarks>
- Override this method to pass controls' values to the plugin. Do this if <b>result</b> is
- <b>DialogResult.OK</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Forms.DesignerOptionsPage.#ctor">
- <summary>
- Initializes a new instance of the <b>DesignerOptionsPage</b> class with default settings.
- </summary>
- <remarks>
- Usually you need to define another contructor which takes one parameter - the plugin.
- </remarks>
- <example>This example shows how to define own constructor which takes a plugin:
- <code>
- public DialogPageOptions(DialogPageDesigner pd) : base()
- {
- FPageDesigner = pd;
- InitializeComponent();
- }
- </code>
- </example>
- </member>
- <member name="F:FastReport.Forms.PluginsOptions.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PluginsOptions.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PluginsOptions.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.AskLoginPasswordForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.AskLoginPasswordForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.AskLoginPasswordForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.DataSelectorControl">
- <summary>
- Represents the control with two lists (available items and selected items).
- </summary>
- <remarks>
- The control allows to select one or several items and then filter the datasource which it is connected to.
- All you need is to setup the <b>DataColumn</b> property.
- </remarks>
- </member>
- <member name="T:FastReport.Dialog.DataFilterBaseControl">
- <summary>
- The base class for all controls that support the data filtering feature.
- </summary>
- <remarks>
- <para/>The data filtering allows you to bind the control to a <see cref="P:FastReport.Dialog.DataFilterBaseControl.DataColumn"/>.
- It will be automatically filled by data from the datasource's column. When you select/check
- item(s) and close the dialog with OK button, it will filter the datasource according to your selection.
- <para/>You can set the filter operation using the <see cref="P:FastReport.Dialog.DataFilterBaseControl.FilterOperation"/> property.
- </remarks>
- </member>
- <member name="T:FastReport.Dialog.DialogControl">
- <summary>
- Base class for all dialog controls such as <b>ButtonControl</b>, <b>TextBoxControl</b>.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.DialogComponentBase">
- <summary>
- Base class for all dialog components.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogComponentBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogComponentBase.#ctor">
- <summary>
- Initializes a new instance of the <b>DialogComponentBase</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentBase.Location">
- <summary>
- Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentBase.Size">
- <summary>
- Gets or sets the height and width of the control.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentBase.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentBase.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentBase.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentBase.Height">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnEnabledChanged">
- <summary>
- Called when the control's Enabled state changed.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.ShouldSerializeBackColor">
- <summary>
- Determines whether is necessary to serialize the <b>BackColor</b> property.
- </summary>
- <returns><b>true</b> if serialization is necessary.</returns>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.ShouldSerializeCursor">
- <summary>
- Determines whether is necessary to serialize the <b>Cursor</b> property.
- </summary>
- <returns><b>true</b> if serialization is necessary.</returns>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.ShouldSerializeFont">
- <summary>
- Determines whether is necessary to serialize the <b>Font</b> property.
- </summary>
- <returns><b>true</b> if serialization is necessary.</returns>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.ShouldSerializeForeColor">
- <summary>
- Determines whether is necessary to serialize the <b>ForeColor</b> property.
- </summary>
- <returns><b>true</b> if serialization is necessary.</returns>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.DrawSelectionPoint(System.Drawing.Graphics,System.Drawing.Pen,System.Drawing.Brush,System.Single,System.Single)">
- <summary>
- Draws the selection point.
- </summary>
- <param name="g"><b>Graphics</b> object to draw on.</param>
- <param name="p"><see cref="T:System.Drawing.Pen"/> object.</param>
- <param name="b"><see cref="T:System.Drawing.Brush"/> object.</param>
- <param name="x">Left coordinate.</param>
- <param name="y">Top coordinate.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.AttachEvents">
- <summary>
- Attaches <b>Control</b> events to its event handlers.
- </summary>
- <remarks>
- Override this method if your custom control has own events.
- </remarks>
- <example>See the example of <b>AttachEvents</b> implementation used in the <b>CheckBoxControl</b>:
- <code>
- protected override void AttachEvents()
- {
- base.AttachEvents();
- CheckBox.CheckedChanged += new EventHandler(CheckBox_CheckedChanged);
- }
-
- private void CheckBox_CheckedChanged(object sender, EventArgs e)
- {
- if (CheckedChanged != null)
- CheckedChanged(this, e);
- InvokeEvent(CheckedChangedEvent, e);
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.DetachEvents">
- <summary>
- Detaches <b>Control</b> events from its event handlers.
- </summary>
- <remarks>
- Override this method if your custom control has own events. In this method, you should
- detach control's events that were attached in the <see cref="M:FastReport.Dialog.DialogControl.AttachEvents"/> method.
- </remarks>
- <example>See the example of <b>DetachEvents</b> implementation used in the <b>CheckBoxControl</b>:
- <code>
- protected override void DetachEvents()
- {
- base.DetachEvents();
- CheckBox.CheckedChanged -= new EventHandler(CheckBox_CheckedChanged);
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.SetParent(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.CheckParent(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.DrawSelection(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.InitializeControl">
- <summary>
- Initializes the control before display it in the dialog form.
- </summary>
- <remarks>
- This method is called when report is run.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.FinalizeControl">
- <summary>
- Finalizes the control after its parent form is closed.
- </summary>
- <remarks>
- This method is called when report is run.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.InvokeEditor">
- <summary>
- Creates the empty event handler for the <b>ClickEvent</b> event in the report's script.
- </summary>
- <returns><b>true</b> if event handler was created successfully.</returns>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.Focus">
- <summary>
- Sets input focus to the control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.Hide">
- <summary>
- Conceals the control from the user.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.Show">
- <summary>
- Displays the control to the user.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnClick(System.EventArgs)">
- <summary>
- This method fires the <b>Click</b> event and the script code connected to the <b>ClickEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnDoubleClick(System.EventArgs)">
- <summary>
- This method fires the <b>DoubleClick</b> event and the script code connected to the <b>DoubleClickEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnEnter(System.EventArgs)">
- <summary>
- This method fires the <b>Enter</b> event and the script code connected to the <b>EnterEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnLeave(System.EventArgs)">
- <summary>
- This method fires the <b>Leave</b> event and the script code connected to the <b>LeaveEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
- <summary>
- This method fires the <b>KeyDown</b> event and the script code connected to the <b>KeyDownEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnKeyPress(System.Windows.Forms.KeyPressEventArgs)">
- <summary>
- This method fires the <b>KeyPress</b> event and the script code connected to the <b>KeyPressEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnKeyUp(System.Windows.Forms.KeyEventArgs)">
- <summary>
- This method fires the <b>KeyUp</b> event and the script code connected to the <b>KeyUpEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method fires the <b>MouseDown</b> event and the script code connected to the <b>MouseDownEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method fires the <b>MouseMove</b> event and the script code connected to the <b>MouseMoveEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
- <summary>
- This method fires the <b>MouseUp</b> event and the script code connected to the <b>MouseUpEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnMouseEnter(System.EventArgs)">
- <summary>
- This method fires the <b>MouseEnter</b> event and the script code connected to the <b>MouseEnterEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnMouseLeave(System.EventArgs)">
- <summary>
- This method fires the <b>MouseLeave</b> event and the script code connected to the <b>MouseLeaveEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnResize(System.EventArgs)">
- <summary>
- This method fires the <b>Resize</b> event and the script code connected to the <b>ResizeEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnTextChanged(System.EventArgs)">
- <summary>
- This method fires the <b>TextChanged</b> event and the script code connected to the <b>TextChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogControl.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <summary>
- This method fires the <b>Paint</b> event and the script code connected to the <b>PaintEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.Click">
- <summary>
- Occurs when the control is clicked.
- Wraps the <see cref="E:System.Windows.Forms.Control.Click"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.DoubleClick">
- <summary>
- Occurs when the control is double-clicked.
- Wraps the <see cref="E:System.Windows.Forms.Control.DoubleClick"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.Enter">
- <summary>
- Occurs when the control is entered.
- Wraps the <see cref="E:System.Windows.Forms.Control.Enter"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.Leave">
- <summary>
- Occurs when the input focus leaves the control.
- Wraps the <see cref="E:System.Windows.Forms.Control.Leave"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.KeyDown">
- <summary>
- Occurs when a key is pressed while the control has focus.
- Wraps the <see cref="E:System.Windows.Forms.Control.KeyDown"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.KeyPress">
- <summary>
- Occurs when a key is pressed while the control has focus.
- Wraps the <see cref="E:System.Windows.Forms.Control.KeyPress"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.KeyUp">
- <summary>
- Occurs when a key is released while the control has focus.
- Wraps the <see cref="E:System.Windows.Forms.Control.KeyUp"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.MouseDown">
- <summary>
- Occurs when the mouse pointer is over the control and a mouse button is pressed.
- Wraps the <see cref="E:System.Windows.Forms.Control.MouseDown"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.MouseMove">
- <summary>
- Occurs when the mouse pointer is moved over the control.
- Wraps the <see cref="E:System.Windows.Forms.Control.MouseMove"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.MouseUp">
- <summary>
- Occurs when the mouse pointer is over the control and a mouse button is released.
- Wraps the <see cref="E:System.Windows.Forms.Control.MouseUp"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.MouseEnter">
- <summary>
- Occurs when the mouse pointer enters the control.
- Wraps the <see cref="E:System.Windows.Forms.Control.MouseEnter"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.MouseLeave">
- <summary>
- Occurs when the mouse pointer leaves the control.
- Wraps the <see cref="E:System.Windows.Forms.Control.MouseLeave"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.Resize">
- <summary>
- Occurs when the control is resized.
- Wraps the <see cref="E:System.Windows.Forms.Control.Resize"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.TextChanged">
- <summary>
- Occurs when the Text property value changes.
- Wraps the <see cref="E:System.Windows.Forms.Control.TextChanged"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogControl.Paint">
- <summary>
- Occurs when the control is redrawn.
- Wraps the <see cref="E:System.Windows.Forms.Control.Paint"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Control">
- <summary>
- Gets an internal <b>Control</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.BackColor">
- <summary>
- Gets or sets the background color for the control.
- Wraps the <see cref="P:System.Windows.Forms.Control.BackColor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Cursor">
- <summary>
- Gets or sets the cursor that is displayed when the mouse pointer is over the control.
- Wraps the <see cref="P:System.Windows.Forms.Control.Cursor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Enabled">
- <summary>
- Gets or sets a value indicating whether the control can respond to user interaction.
- Wraps the <see cref="P:System.Windows.Forms.Control.Enabled"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Font">
- <summary>
- Gets or sets the font of the text displayed by the control.
- Wraps the <see cref="P:System.Windows.Forms.Control.Font"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.ForeColor">
- <summary>
- Gets or sets the foreground color of the control.
- Wraps the <see cref="P:System.Windows.Forms.Control.ForeColor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.RightToLeft">
- <summary>
- Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts.
- Wraps the <see cref="P:System.Windows.Forms.Control.RightToLeft"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.TabIndex">
- <summary>
- Gets or sets the tab order of the control within its container.
- Wraps the <see cref="P:System.Windows.Forms.Control.TabIndex"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.TabStop">
- <summary>
- Gets or sets a value indicating whether the user can give the focus to this control using the TAB key.
- Wraps the <see cref="P:System.Windows.Forms.Control.TabStop"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Text">
- <summary>
- Gets or sets the text associated with this control.
- Wraps the <see cref="P:System.Windows.Forms.Control.Text"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Dock">
- <summary>
- Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent.
- Wraps the <see cref="P:System.Windows.Forms.Control.Dock"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Anchor">
- <summary>
- Gets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent.
- Wraps the <see cref="P:System.Windows.Forms.Control.Anchor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Visible">
- <summary>
- Gets or sets a value indicating whether the control is displayed.
- Wraps the <see cref="P:System.Windows.Forms.Control.Visible"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.BindableProperty">
- <summary>
- Gets or sets a property that returns actual data contained in a control. This value is used
- in the "Data" window.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.ClickEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.Click"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.DoubleClickEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.DoubleClick"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.EnterEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.Enter"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.LeaveEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.Leave"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.KeyDownEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.KeyDown"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.KeyPressEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.KeyPress"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.KeyUpEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.KeyUp"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.MouseDownEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.MouseDown"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.MouseMoveEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.MouseMove"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.MouseUpEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.MouseUp"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.MouseEnterEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.MouseEnter"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.MouseLeaveEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.MouseLeave"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.ResizeEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.Resize"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.TextChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.TextChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.PaintEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogControl.Paint"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogControl.Height">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.FillData(FastReport.Data.DataSourceBase,FastReport.Data.Column)">
- <summary>
- Fills the control with data.
- </summary>
- <param name="dataSource">The data source.</param>
- <param name="column">The data column.</param>
- <example>Here is the example of <b>FillData</b> method implementation:
- <code>
- protected override void FillData(DataSourceBase dataSource, Column column)
- {
- Items.Clear();
- dataSource.First();
- while (dataSource.HasMoreRows)
- {
- Items.Add(dataSource[column].ToString());
- dataSource.Next();
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.GetListOfData(FastReport.Data.DataSourceBase,FastReport.Data.Column)">
- <summary>
- Returns list of values that can be used to fill control with data.
- </summary>
- <param name="dataSource">The data source.</param>
- <param name="column">The data column.</param>
- <returns>List of string values.</returns>
- <remarks>
- This method is used by the <b>FillData</b> method to fill list-type controls
- such as ListBox with data. The result list contains distinct values.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.GetValue">
- <summary>
- Returns value entered in the control.
- </summary>
- <returns>The value of type supported by this control.</returns>
- <remarks>
- This method must return a value entered by the user. For example, TextBox
- control must return its Text property value. If this control supports multi-selection,
- return selected values in an array, for example string[] array for CheckedListBox.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.OnFilterChanged">
- <summary>
- Handles the cascaded filter internal logic.
- </summary>
- <remarks>
- This method should be called in your custom dialog control that supports data filtering.
- Call it when the value in your control is changed.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.OnEnabledChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.InitializeControl">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.FillData">
- <summary>
- Fills the control with data from a datasource.
- </summary>
- <remarks>
- Call this method if you set the <see cref="P:FastReport.Dialog.DataFilterBaseControl.AutoFill"/> property to <b>false</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.FillData(FastReport.Data.DataSourceBase)">
- <summary>
- Fills the control with data from a datasource.
- </summary>
- <param name="parentData">Parent data source</param>
- <remarks>
- Call this method if you need to implement cascaded filter. In the <b>parentData</b> parameter,
- pass the parent data source that will be used to set up master-detail relationship with
- data source in this control.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.FillData(FastReport.Dialog.DataFilterBaseControl)">
- <summary>
- Fills the control with data from a datasource.
- </summary>
- <param name="parentControl">Parent control</param>
- <remarks>
- Call this method if you need to implement cascaded filter. In the <b>parentControl</b> parameter,
- pass the parent control which performs filtering on a parent data source.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.FilterData">
- <summary>
- Applies the filter to a datasource.
- </summary>
- <remarks>
- Call this method if you set the <see cref="P:FastReport.Dialog.DataFilterBaseControl.AutoFilter"/> property to <b>false</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.ResetFilter">
- <summary>
- Resets the filter set by this control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.OnDataLoaded(System.EventArgs)">
- <summary>
- This method fires the <b>DataLoaded</b> event and the script code connected to the <b>DataLoadedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DataFilterBaseControl.#ctor">
- <summary>
- Initializes a new instance of the <b>DataFilterBaseControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DataFilterBaseControl.DataLoaded">
- <summary>
- Occurs after the control is filled with data.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.AutoFill">
- <summary>
- Gets or sets a value that determines whether to fill the control with data automatically.
- </summary>
- <remarks>
- The default value of this property is <b>true</b>. If you set it to <b>false</b>,
- you need to call the <see cref="M:FastReport.Dialog.DataFilterBaseControl.FillData"/> method manually.
- </remarks>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.AutoFilter">
- <summary>
- Gets or sets a value that determines whether to filter the datasource automatically
- when you close the dialog by OK button.
- </summary>
- <remarks>
- The default value of this property is <b>true</b>. If you set it to <b>false</b>,
- you need to call the <see cref="M:FastReport.Dialog.DataFilterBaseControl.FilterData"/> method manually.
- </remarks>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.DataColumn">
- <summary>
- Gets or sets a data column name that will be used to fill this control with data.
- </summary>
- <remarks>
- This property must contain both datasource name and column name, for example:
- <b>Orders.OrderID</b>. You also may use relations, for example: <b>Orders.Customers.CompanyName</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.ReportParameter">
- <summary>
- Gets or sets name of report parameter which value will be set to value contained
- in this control when you close the dialog.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.FilterOperation">
- <summary>
- Gets or sets a value that specifies the filter operation.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.DetailControl">
- <summary>
- Gets or sets the detail control used in cascaded filtering.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataFilterBaseControl.DataLoadedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DataFilterBaseControl.DataLoaded"/> event.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DataSelectorControl.FillData(FastReport.Data.DataSourceBase,FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataSelectorControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataSelectorControl.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataSelectorControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DataSelectorControl.#ctor">
- <summary>
- Initializes a new instance of the <b>DataSelectorControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataSelectorControl.Sorted">
- <summary>
- Gets or sets a value indicating that the items must be sorted.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataSelectorControl.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DataSelectorControl.Height">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DataSelectorControl.AutoFill">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DataSelectorControl.AutoFilter">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Design.DesignerSettings">
- <summary>
- This class contains settings that will be applied to the report designer.
- </summary>
- </member>
- <member name="M:FastReport.Design.DesignerSettings.AddCustomConnection(System.Type,System.String)">
- <summary>
- Adds a custom connection used in the "Data Wizard" window.
- </summary>
- <remarks>
- Use this method to provide own connection strings for the "Data Wizard" dialog. To do this, you need
- to pass the type of connection object and connection string associated with it. You must use one of the
- connection objects registered in FastReport that inherit from the
- <see cref="T:FastReport.Data.DataConnectionBase"/> class.
- <para/>To clear the custom connections, use the <see cref="M:FastReport.Design.DesignerSettings.ClearCustomConnections"/> method.
- </remarks>
- <example>
- This example shows how to add own connection string.
- <code>
- Config.DesignerSettings.AddCustomConnection(typeof(MsAccessDataConnection), @"Data Source=c:\data.mdb");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Design.DesignerSettings.ClearCustomConnections">
- <summary>
- Clears the custom connections added by the <b>AddCustomConnection</b> method.
- </summary>
- </member>
- <member name="M:FastReport.Design.DesignerSettings.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.DesignerSettings"/> class.
- </summary>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.DesignerLoaded">
- <summary>
- Occurs when the designer is loaded.
- </summary>
- <remarks>
- Use this event if you want to customize some aspects of the designer, for example,
- to hide some menu items.
- </remarks>
- <example>
- This example demonstrates how to hide the "File|Select Language..." menu item.
- <code>
- Config.DesignerSettings.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded);
-
- void DesignerSettings_DesignerLoaded(object sender, EventArgs e)
- {
- (sender as DesignerControl).MainMenu.miFileSelectLanguage.Visible = false;
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.ReportLoaded">
- <summary>
- Occurs when the report is loaded.
- </summary>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.PageAdded">
- <summary>
- Occurs when a report page or a dialog form is added to the report.
- </summary>
- <remarks>
- Use this event if you want to customize the page properties.
- </remarks>
- <example>
- This example demonstrates how to change the default page margins.
- <code>
- Config.DesignerSettings.PageAdded += new EventHandler(DesignerSettings_PageAdded);
-
- void DesignerSettings_PageAdded(object sender, EventArgs e)
- {
- if (sender is ReportPage)
- (sender as ReportPage).TopMargin = 0;
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.ObjectInserted">
- <summary>
- Occurs when object is inserted.
- </summary>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.CustomOpenDialog">
- <summary>
- Occurs when the report designer is about to show the "Open" dialog.
- </summary><remarks>
- Use this event to attach own "Open" dialog to the designer. In the event handler, you must
- display a dialog window to allow user to choose a report file.
- If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
- <b>e.FileName</b> to the selected file name.
- <para/>You also need to use <see cref="E:FastReport.Design.DesignerSettings.CustomOpenReport"/> event to provide code that
- will open the report.
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.Design.DesignerSettings.CustomOpenReport"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.CustomSaveDialog">
- <summary>
- Occurs when the report designer is about to show the "Save" dialog.
- </summary><remarks>
- Use this event to attach own "Save" dialog to the designer. In the event handler, you must
- display a dialog window to allow user to choose a report file.
- If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
- <b>e.FileName</b> to the selected file name.
- <para/>You also need to use <see cref="E:FastReport.Design.DesignerSettings.CustomSaveReport"/> event to provide code that
- will save the report.
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.Design.DesignerSettings.CustomOpenReport"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.CustomOpenReport">
- <summary>
- Occurs when the report designer is about to load the report.
- </summary><remarks>
- <para/>This event is used together with the <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/> event.
- <para/>Use this event to attach own "Open" dialog to the designer. In the event handler, you must
- load the <b>e.Report</b> from the location specified in the <b>e.FileName</b> property.
- For example, if you work with files: <c>e.Report.Load(e.FileName);</c>
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.Design.DesignerSettings.CustomOpenReport"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.CustomSaveReport">
- <summary>
- Occurs when the report designer is about to save the report.
- </summary><remarks>
- <para/>This event is used together with the <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/> event.
- <para/>Use this event to attach own "Save" dialog to the designer. In the event handler, you must
- save the <b>e.Report</b> to the location specified in the <b>e.FileName</b> property.
- For example, if you work with files: <c>e.Report.Save(e.FileName);</c>
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.Design.DesignerSettings.CustomOpenReport"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.CustomPreviewReport">
- <summary>
- Occurs when previewing a report from the designer.
- </summary>
- <remarks>
- Use this event to show own preview window.
- </remarks>
- <example>
- <code>
- Config.DesignerSettings.CustomPreviewReport += new EventHandler(MyPreviewHandler);
-
- private void MyPreviewHandler(object sender, EventArgs e)
- {
- Report report = sender as Report;
- using (MyPreviewForm form = new MyPreviewForm())
- {
- report.Preview = form.previewControl1;
- report.ShowPreparedReport();
- form.ShowDialog();
- }
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.FilterConnectionTables">
- <summary>
- Occurs when getting available table names from the connection.
- </summary>
- <remarks>
- Use this handler to filter the list of tables returned by the connection object.
- </remarks>
- <example>
- This example demonstrates how to hide the table with "Table 1" name from the Data Wizard.
- <code>
- Config.DesignerSettings.FilterConnectionTables += DesignerSettings_FilterConnectionTables;
-
- private void DesignerSettings_FilterConnectionTables(object sender, FilterConnectionTablesEventArgs e)
- {
- if (e.TableName == "Table 1")
- e.Skip = true;
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.Design.DesignerSettings.CustomQueryBuilder">
- <summary>
- Occurs when the query builder is called.
- </summary>
- <remarks>
- Subscribe to this event if you want to replace the embedded query builder with your own one.
- </remarks>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.Icon">
- <summary>
- Gets or sets the icon for the designer window.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.DefaultFont">
- <summary>
- Gets or sets the default font used in a report.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.ShowInTaskbar">
- <summary>
- Gets or sets a value indicating whether the designer window is displayed in the Windows taskbar.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.Restrictions">
- <summary>
- Gets the designer restrictions flags.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.Text">
- <summary>
- Gets or sets the title text for the designer window.
- </summary>
- <remarks>
- If no text is set, the default text "FastReport -" will be used.
- </remarks>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.ApplicationConnection">
- <summary>
- Gets or sets application-defined DbConnection object that will be used in the designer
- to create a new datasource.
- </summary>
- <remarks>
- The application connection object is used in the "Data Wizard" to create new datasources.
- In this mode, you can't create any other connections in the wizard; only application
- connection is available. You still able to choose tables or create a new queries inside
- this connection. The connection information (ConnectionString) is not stored in the report file.
- </remarks>
- </member>
- <member name="P:FastReport.Design.DesignerSettings.ToolStripRenderer">
- <summary>
- Gets the toolstrip renderer.
- </summary>
- </member>
- <member name="F:FastReport.Forms.DbfExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.DbfExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.DbfExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.XPS_Font">
- <summary>
- Font container
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLBase">
- <summary>
- Base class for export Office Open objects
- </summary>
- </member>
- <member name="M:FastReport.Export.OoXML.XPS_Font.Obfuscation(System.Byte[])">
- <summary>
- Font obfuscation procedure
- </summary>
- </member>
- <member name="F:FastReport.Forms.Excel2007ExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.Excel2007ExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.Excel2007ExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.Email.EmailSettings">
- <summary>
- Contains the email account settings such as host, email address, name.
- </summary>
- <remarks>
- You have to set up at least the <see cref="P:FastReport.Export.Email.EmailSettings.Address"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Host"/> properties. If your
- host requires authentication, provide the <see cref="P:FastReport.Export.Email.EmailSettings.UserName"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Password"/>
- properties as well.
- <para/>Set <see cref="P:FastReport.Export.Email.EmailSettings.UseMAPI"/> property to <b>true</b> if you want to use default email client
- such as Outlook to send an email. In this case, all other properties will be ignored.
- </remarks>
- </member>
- <member name="M:FastReport.Export.Email.EmailSettings.Assign(FastReport.Export.Email.EmailSettings)">
- <summary>
- Copies email settings from another source.
- </summary>
- <param name="source">Source to copy settings from.</param>
- </member>
- <member name="M:FastReport.Export.Email.EmailSettings.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Email.EmailSettings"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.Address">
- <summary>
- Gets or sets the sender's email address.
- </summary>
- <remarks>
- This property contains your email address (for example, "john@site.com").
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.Name">
- <summary>
- Gets or sets the sender's name.
- </summary>
- <remarks>
- This property contains your name (for example, "John Smith").
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.MessageTemplate">
- <summary>
- Gets or sets the template that will be used to create a new message.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.Host">
- <summary>
- Gets or sets the SMTP host name or IP address.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.Port">
- <summary>
- Gets or sets the SMTP port.
- </summary>
- <remarks>
- The default value for this property is <b>25</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.UserName">
- <summary>
- Gets or sets the user name.
- </summary>
- <remarks>
- Specify the <see cref="P:FastReport.Export.Email.EmailSettings.UserName"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Password"/> properties if your host requires
- authentication.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.Password">
- <summary>
- Gets or sets the password.
- </summary>
- <remarks>
- Specify the <see cref="P:FastReport.Export.Email.EmailSettings.UserName"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Password"/> properties if your host requires
- authentication.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.EnableSSL">
- <summary>
- Gets or sets a value that determines whether to enable the SSL protocol.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.AllowUI">
- <summary>
- Gets or sets a value that determines whether the account setting page
- in the "Send Email" window is enabled.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailSettings.UseMAPI">
- <summary>
- Gets or sets a value that determines whether to use MAPI instead of SMTP when sending an email.
- </summary>
- </member>
- <member name="F:FastReport.Forms.CsvExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.CsvExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.CsvExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Design.ExportPlugin">
- <summary>
- Base class for all export plugins.
- </summary>
- </member>
- <member name="T:FastReport.Design.IDesignerPlugin">
- <summary>
- Provides functionality required for report designer plugins such as toolbars and toolwindows.
- </summary>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.SaveState">
- <summary>
- Saves the plugin state.
- </summary>
- <example>This example shows how to save the state:
- <code>
- public void SaveState()
- {
- XmlItem xi = Config.Root.FindItem("Designer").FindItem(Name);
- xi.SetProp("ShowGrid", DialogWorkspace.ShowGrid ? "1" : "0");
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.RestoreState">
- <summary>
- Restores the plugin state.
- </summary>
- <example>This example shows how to restore the state:
- <code>
- public void RestoreState()
- {
- XmlItem xi = Config.Root.FindItem("Designer").FindItem(Name);
- DialogWorkspace.ShowGrid = xi.GetProp("ShowGrid") != "0";
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.SelectionChanged">
- <summary>
- Updates plugin state when current selection was changed.
- </summary>
- <remarks>
- Typically you need to do the same work in the <see cref="M:FastReport.Design.IDesignerPlugin.SelectionChanged"/> and
- <see cref="M:FastReport.Design.IDesignerPlugin.UpdateContent"/> methods.
- </remarks>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.UpdateContent">
- <summary>
- Updates plugin state when the report was modified.
- </summary>
- <remarks>
- Typically you need to do the same work in the <see cref="M:FastReport.Design.IDesignerPlugin.SelectionChanged"/> and
- <see cref="M:FastReport.Design.IDesignerPlugin.UpdateContent"/> methods.
- </remarks>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.Lock">
- <summary>
- Locks the plugin.
- </summary>
- <remarks>
- This method is called by the designer when report is loading. It may be needed to disable
- some operations (like painting) that use the report.
- </remarks>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.Unlock">
- <summary>
- Unlocks the plugin.
- </summary>
- This method is called by the designer when report is loaded. It follows the <b>Lock</b>
- method call and must reset the lock.
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.Localize">
- <summary>
- Localizes the plugin.
- </summary>
- <remarks>
- This method is called by the designer when current localization is changed.
- </remarks>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.GetOptionsPage">
- <summary>
- Gets an options page that will be used in the Designer Options dialog to edit the plugin options.
- </summary>
- <returns>The options page, if implemented; otherwise, <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Design.IDesignerPlugin.UpdateUIStyle">
- <summary>
- Updates UI style of the plugin.
- </summary>
- <remarks>
- The plugin should update its style according to the designer's <b>UIStyle</b> property.
- </remarks>
- </member>
- <member name="P:FastReport.Design.IDesignerPlugin.PluginName">
- <summary>
- Gets the plugin name.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ExportPlugin"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ExportPlugin"/> class with a specified designer.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.GetOptionsPage">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.GetFilter">
- <summary>
- Returns a file filter for a save dialog.
- </summary>
- <returns>String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp"</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugin.SaveReport(FastReport.Report,System.String)">
- <summary>
- Saves the specified report into specified file.
- </summary>
- <param name="report">Report object.</param>
- <param name="filename">File name.</param>
- </member>
- <member name="P:FastReport.Design.ExportPlugin.Name">
- <summary>
- Gets or sets the name of plugin.
- </summary>
- </member>
- <member name="P:FastReport.Design.ExportPlugin.Filter">
- <summary>
- Gets or sets the filter string used in the "Save File" dialog.
- </summary>
- </member>
- <member name="P:FastReport.Design.ExportPlugin.Designer">
- <summary>
- Gets or sets reference to the designer.
- </summary>
- </member>
- <member name="P:FastReport.Design.ExportPlugin.Report">
- <summary>
- Gets or sets reference to the report.
- </summary>
- </member>
- <member name="P:FastReport.Design.ExportPlugin.PluginName">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm">
- <summary>
- Represents the Client Info diabolg form.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.Localize">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.Id">
- <summary>
- Gets the client ID.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.ClientInfoForm.Secret">
- <summary>
- Gets the client secret.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.SkyDrive.ClientInfo">
- <summary>
- Represents the information about SkyDrive application.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.ClientInfo.#ctor(System.String,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.SkyDrive.ClientInfo"/> class.
- </summary>
- <param name="name">The client name.</param>
- <param name="id">The client ID.</param>
- <param name="secret">The client secret.</param>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.ClientInfo.Name">
- <summary>
- Gets or sets the client name.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.ClientInfo.Id">
- <summary>
- Gets or sets the client ID.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.ClientInfo.Secret">
- <summary>
- Gets or sets the client secret.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.SkyDrive.WebBrowserForm">
- <summary>
- Represents form of the web browser.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.SkyDrive.WebBrowserForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.WebBrowserForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.WebBrowserForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.WebBrowserForm.#ctor(System.String)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.WebBrowserForm.AuthCode">
- <summary>
- Gets obtained authorization code.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm">
- <summary>
- Represents form of Google Drive storage client.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.CloudStorageClientForm">
- <summary>
- Represents form of Dropbox storage client.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.pgFile">
- <summary>
- Page File.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.pgProxy">
- <summary>
- Page Proxy.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.cbFileType">
- <summary>
- ComboBox File Type.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.labelFileType">
- <summary>
- Label File Type.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.buttonSettings">
- <summary>
- Buttons Settings.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.labelColon">
- <summary>
- Label Colon.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.labelPassword">
- <summary>
- Label Password.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.labelUsername">
- <summary>
- Label Username.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.labelServer">
- <summary>
- Label Server.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.tbUsername">
- <summary>
- TextBox Username.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.tbPort">
- <summary>
- TextBox Port.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.tbServer">
- <summary>
- TextBox Server.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.tbPassword">
- <summary>
- TextBox Password.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.CloudStorageClientForm.pageControl1">
- <summary>
- PageControl.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.CloudStorageClientForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.#ctor(FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.CloudStorageClientForm"/> class.
- </summary>
- <param name="report">The report template.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.InitExports">
- <summary>
- Initializes the list of exports.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.GetProxySettings">
- <summary>
- Gets the proxy settings.
- </summary>
- <returns>The proxy settings.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.Init">
- <summary>
- Initializes the component.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.IsNumeric(System.String)">
- <summary>
- Checks is the string numeric.
- </summary>
- <param name="str">The checking string.</param>
- <returns>True if string is numeric, otherwise false.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.Done">
- <summary>
- Finishes the form work.
- </summary>
- <returns>Returns true if work has been successfully finished, otherwise false.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.cbFileType_SelectedIndexChanged(System.Object,System.EventArgs)">
- <summary>
- SelectedIndexChanged event handler for ComboBox File Type.
- </summary>
- <param name="sender">Event sender.</param>
- <param name="e">Event args.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.buttonSettings_Click(System.Object,System.EventArgs)">
- <summary>
- Click event handler for Button Settings.
- </summary>
- <param name="sender">Event sender.</param>
- <param name="e">Event args.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.CloudStorageClientForm_FormClosing(System.Object,System.Windows.Forms.FormClosingEventArgs)">
- <summary>
- FormClosing event handler for CloudStorageClientForm.
- </summary>
- <param name="sender">Event sender.</param>
- <param name="e">Event args.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClientForm.btnOk_Click(System.Object,System.EventArgs)">
- <summary>
- Click event handler for button OK.
- </summary>
- <param name="sender">Event sender.</param>
- <param name="e">Event args.</param>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.CloudStorageClientForm.Report">
- <summary>
- Gets or sets the report template.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.CloudStorageClientForm.Exports">
- <summary>
- Gets or sets the list of exports.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.#ctor(FastReport.Cloud.StorageClient.SkyDrive.ClientInfo,FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm"/> class.
- </summary>
- <param name="clientInfo">The information about Google Drive client application.</param>
- <param name="report">The report template.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.Init">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.Done">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.btnOk_Click(System.Object,System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClientForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.OAuth.Token">
- <summary>
- Represents the OAuth token credentials.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.OAuth.Token.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.OAuth.Token"/> class.
- </summary>
- <param name="tokenKey">The token key.</param>
- <param name="tokenSecret">The token secret.</param>
- </member>
- <member name="P:FastReport.Cloud.OAuth.Token.TokenKey">
- <summary>
- Gets the token key.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.OAuth.Token.TokenSecret">
- <summary>
- Gets the token secret.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Box.ClientInfoForm">
- <summary>
- Represents the Client Info diabolg form.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.ClientInfoForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Box.ClientInfoForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.ClientInfoForm.Localize">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Box.ClientInfoForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.ClientInfoForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.ClientInfoForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Box.ClientInfoForm.Id">
- <summary>
- Gets the client ID.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Box.ClientInfoForm.Secret">
- <summary>
- Gets the client secret.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm">
- <summary>
- Represents form of Box storage client.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.#ctor(FastReport.Cloud.StorageClient.SkyDrive.ClientInfo,FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm"/> class.
- </summary>
- <param name="clientInfo">The information about Box client application.</param>
- <param name="report">The report template.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.Init">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.Done">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClientForm.btnOk_Click(System.Object,System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Box.BoxStorageClient">
- <summary>
- Box cloud storage client.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.CloudStorageClient">
- <summary>
- The base class for all cloud storage clients.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClient.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.CloudStorageClient"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClient.PrepareToSave(FastReport.Report,FastReport.Export.ExportBase)">
- <summary>
- Prepares report before it will be saved to cloud storage.
- </summary>
- <param name="report">The report template.</param>
- <param name="export">The export filter.</param>
- <returns>Memory stream that contains prepared report.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.CloudStorageClient.SaveReport(FastReport.Report,FastReport.Export.ExportBase)">
- <summary>
- Saves the report to cloud storage.
- </summary>
- <param name="report">The report template that should be saved.</param>
- <param name="export">The export filter that should export template before.</param>
- <returns>True if report has been successfully saved.</returns>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.CloudStorageClient.Filename">
- <summary>
- Gets or sets the filename.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.CloudStorageClient.IsUserAuthorized">
- <summary>
- Gets or set the information is user authorized or not.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.CloudStorageClient.ProxySettings">
- <summary>
- Gets or sets the proxy settings of a client.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClient.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Box.BoxStorageClient"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClient.#ctor(FastReport.Cloud.StorageClient.SkyDrive.ClientInfo)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Box.BoxStorageClient"/> class.
- </summary>
- <param name="clientInfo">The storage client info.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClient.GetAuthorizationUrl">
- <summary>
- Gets the authorization URL.
- </summary>
- <returns>The authorization URL stirng.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClient.GetAccessToken">
- <summary>
- Gets the access token.
- </summary>
- <returns>The access token string.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.BoxStorageClient.SaveReport(FastReport.Report,FastReport.Export.ExportBase)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Box.BoxStorageClient.ClientInfo">
- <summary>
- Gets or sets the client info.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Box.BoxStorageClient.AuthCode">
- <summary>
- Gets or sets the authorization code.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Box.BoxStorageClient.AccessToken">
- <summary>
- Gets or sets the access token.
- </summary>
- </member>
- <member name="T:FastReport.ReportComponentBaseMenu">
- <summary>
- The class introduces some menu items specific
- to the <b>ReportComponentBase</b>.
- </summary>
- </member>
- <member name="T:FastReport.ComponentMenuBase">
- <summary>
- The base class for the context menu of the report component.
- </summary>
- <remarks>
- This class represents a context menu of the report component that is displayed when the object
- is right-clicked in the designer. This class implements the following actions: Edit, Cut, Copy,
- Paste, Delete, Bring to Front, Send to Back.
- </remarks>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miName">
- <summary>
- The "Name" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miEdit">
- <summary>
- The "Edit" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miCut">
- <summary>
- The "Cut" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miCopy">
- <summary>
- The "Copy" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miPaste">
- <summary>
- The "Paste" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miDelete">
- <summary>
- The "Delete" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miBringToFront">
- <summary>
- The "BringToFront" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ComponentMenuBase.miSendToBack">
- <summary>
- The "SendToBack" menu item.
- </summary>
- </member>
- <member name="M:FastReport.ComponentMenuBase.Change">
- <summary>
- This method is called to reflect changes in the designer.
- </summary>
- </member>
- <member name="M:FastReport.ComponentMenuBase.CreateMenuItem(System.String)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="text">Item's text.</param>
- <returns>New item.</returns>
- </member>
- <member name="M:FastReport.ComponentMenuBase.CreateMenuItem(System.String,System.EventHandler)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="text">Item's text.</param>
- <param name="click">Click handler.</param>
- <returns>New item.</returns>
- </member>
- <member name="M:FastReport.ComponentMenuBase.CreateMenuItem(System.Drawing.Image,System.String,System.EventHandler)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="image">Item's image.</param>
- <param name="text">Item's text.</param>
- <param name="click">Click handler.</param>
- <returns>New item.</returns>
- </member>
- <member name="M:FastReport.ComponentMenuBase.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <b>ComponentMenuBase</b> class with default settings.
- </summary>
- <param name="designer">The reference to a report designer.</param>
- </member>
- <member name="P:FastReport.ComponentMenuBase.Designer">
- <summary>
- The reference to the report designer.
- </summary>
- </member>
- <member name="P:FastReport.ComponentMenuBase.Items">
- <summary>
- Gets a collection of menu items.
- </summary>
- <remarks>
- You should add new items to this collection.
- </remarks>
- </member>
- <member name="F:FastReport.ReportComponentBaseMenu.miCanGrow">
- <summary>
- The "Can Grow" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ReportComponentBaseMenu.miCanShrink">
- <summary>
- The "Can Shrink" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ReportComponentBaseMenu.miGrowToBottom">
- <summary>
- The "Grow to Bottom" menu item.
- </summary>
- </member>
- <member name="F:FastReport.ReportComponentBaseMenu.miHyperlink">
- <summary>
- The "Hyperlink" menu item.
- </summary>
- </member>
- <member name="M:FastReport.ReportComponentBaseMenu.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <b>ReportComponentMenuBase</b>
- class with default settings.
- </summary>
- <param name="designer">The reference to a report designer.</param>
- </member>
- <member name="T:FastReport.Dialog.DialogPage">
- <summary>
- Represents the special kind of report page that wraps the <see cref="T:System.Windows.Forms.Form"/>
- and used to display dialog forms.
- </summary>
- <remarks>
- Use the <see cref="P:FastReport.Dialog.DialogPage.Controls"/> property to add/remove controls to/from a dialog form.
- <para/>If you set the <b>Visible</b> property to <b>false</b>, this dialog form will be
- skippen when you run a report.
- </remarks>
- <example>This example shows how to create a dialog form with one button in code.
- <code>
- DialogPage form = new DialogPage();
- // set the width and height in pixels
- form.Width = 200;
- form.Height = 200;
- form.Name = "Form1";
- // create a button
- ButtonControl button = new ButtonControl();
- button.Location = new Point(20, 20);
- button.Size = new Size(75, 25);
- button.Text = "The button";
- // add the button to the form
- form.Controls.Add(button);
- </code>
- </example>
- </member>
- <member name="T:FastReport.PageBase">
- <summary>
- Base class for report pages and dialog forms.
- </summary>
- </member>
- <member name="M:FastReport.PageBase.GetPageDesignerType">
- <summary>
- Gets a page designer for this page type.
- </summary>
- <returns>The page designer.</returns>
- </member>
- <member name="M:FastReport.PageBase.SetDefaults">
- <summary>
- This method is called by the designer when you create a new page.
- </summary>
- <remarks>
- You may create the default page layout (add default bands, set default page size, etc).
- </remarks>
- </member>
- <member name="M:FastReport.PageBase.Refresh">
- <summary>
- Causes the page to refresh in the preview window.
- </summary>
- <remarks>
- Call this method when you handle object's MouseMove, MouseDown, MouseUp, MouseEnter, MouseLeave events
- and want to refresh the preview window.
- <note type="caution">
- If you have changed some objects on a page, the <b>Refresh</b> method will not save the changes.
- This means when you print or export the page, you will see original (unmodified) page content.
- If you want to save the changes, you have to use the <see cref="M:FastReport.PageBase.Modify"/> method instead.
- </note>
- </remarks>
- </member>
- <member name="M:FastReport.PageBase.Modify">
- <summary>
- Modifies the page content and refresh it in the preview window.
- </summary>
- <remarks>
- Call this method when you handle object's Click, MouseDown or MouseUp events
- and want to modify an object and refresh the preview window.
- </remarks>
- </member>
- <member name="M:FastReport.PageBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PageBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.PageBase.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.PageBase.Anchor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.PageBase.Dock">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.PageBase.SnapSize">
- <summary>
- Gets the snap size for this page.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.GetPageDesignerType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.DrawSelection(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.HandleDoubleClick">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.ShowDialog">
- <summary>
- Shows the form as a modal dialog box with the currently active window set as its owner.
- Wraps the <see cref="M:System.Windows.Forms.Form.ShowDialog"/> method.
- </summary>
- <returns>One of the <b>DialogResult</b> values.</returns>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.SetDefaults">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.OnLoad(System.EventArgs)">
- <summary>
- This method fires the <b>Load</b> event and the script code connected to the <b>LoadEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.OnFormClosed(System.Windows.Forms.FormClosedEventArgs)">
- <summary>
- This method fires the <b>FormClosed</b> event and the script code connected to the <b>FormClosedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.OnFormClosing(System.Windows.Forms.FormClosingEventArgs)">
- <summary>
- This method fires the <b>FormClosing</b> event and the script code connected to the <b>FormClosingEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.OnShown(System.EventArgs)">
- <summary>
- This method fires the <b>Shown</b> event and the script code connected to the <b>ShownEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.OnResize(System.EventArgs)">
- <summary>
- This method fires the <b>Resize</b> event and the script code connected to the <b>ResizeEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <summary>
- This method fires the <b>Paint</b> event and the script code connected to the <b>PaintEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DialogPage.#ctor">
- <summary>
- Initializes a new instance of the <b>DialogPage</b> class.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogPage.Load">
- <summary>
- Occurs before a form is displayed for the first time.
- Wraps the <see cref="E:System.Windows.Forms.Form.Load"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogPage.FormClosed">
- <summary>
- Occurs after the form is closed.
- Wraps the <see cref="E:System.Windows.Forms.Form.FormClosed"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogPage.FormClosing">
- <summary>
- Occurs before the form is closed.
- Wraps the <see cref="E:System.Windows.Forms.Form.FormClosing"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogPage.Shown">
- <summary>
- Occurs whenever the form is first displayed.
- Wraps the <see cref="E:System.Windows.Forms.Form.Shown"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogPage.Resize">
- <summary>
- Occurs when the form is resized.
- Wraps the <see cref="E:System.Windows.Forms.Control.Resize"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DialogPage.Paint">
- <summary>
- Occurs when the form is redrawn.
- Wraps the <see cref="E:System.Windows.Forms.Control.Paint"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Form">
- <summary>
- Gets an internal <b>Form</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.AcceptButton">
- <summary>
- Gets or sets the button on the form that is clicked when the user presses the ENTER key.
- Wraps the <see cref="P:System.Windows.Forms.Form.AcceptButton"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.CancelButton">
- <summary>
- Gets or sets the button control that is clicked when the user presses the ESC key.
- Wraps the <see cref="P:System.Windows.Forms.Form.CancelButton"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.BackColor">
- <summary>
- Gets or sets the background color for the form.
- Wraps the <see cref="P:System.Windows.Forms.Form.BackColor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Font">
- <summary>
- Gets or sets the font of the text displayed by the control.
- Wraps the <see cref="P:System.Windows.Forms.Control.Font"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.FormBorderStyle">
- <summary>
- Gets or sets the border style of the form.
- Wraps the <see cref="P:System.Windows.Forms.Form.FormBorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.RightToLeft">
- <summary>
- Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts.
- Wraps the <see cref="P:System.Windows.Forms.Control.RightToLeft"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Text">
- <summary>
- Gets or sets the text associated with this form.
- Wraps the <see cref="P:System.Windows.Forms.Form.Text"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.LoadEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogPage.Load"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.FormClosedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogPage.FormClosed"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.FormClosingEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogPage.FormClosing"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.ShownEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogPage.Shown"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.ResizeEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogPage.Resize"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.PaintEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DialogPage.Paint"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Controls">
- <summary>
- Gets the collection of controls contained within the form.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.Height">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.SnapSize">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.DialogPage.ClientSize">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Table.TableCell">
- <summary>
- Represents a table cell.
- </summary>
- <remarks>
- Use <see cref="P:FastReport.Table.TableCell.ColSpan"/>, <see cref="P:FastReport.Table.TableCell.RowSpan"/> properties to set the cell's
- column and row spans. To put an object inside the cell, use its <see cref="P:FastReport.Table.TableCell.Objects"/> property:
- <code>
- TableCell cell1;
- PictureObject picture1 = new PictureObject();
- picture1.Bounds = new RectangleF(0, 0, 32, 32);
- picture1.Name = "Picture1";
- cell1.Objects.Add(picture1);
- </code>
- </remarks>
- </member>
- <member name="T:FastReport.TextObject">
- <summary>
- Represents the Text object that may display one or several text lines.
- </summary>
- <remarks>
- Specify the object's text in the <see cref="P:FastReport.TextObjectBase.Text">Text</see> property.
- Text may contain expressions and data items, for example: "Today is [Date]". When report
- is running, all expressions are calculated and replaced with actual values, so the text
- would be "Today is 01.01.2008".
- <para/>The symbols used to find expressions in a text are set in the
- <see cref="P:FastReport.TextObjectBase.Brackets">Brackets</see> property. You also may disable expressions
- using the <see cref="P:FastReport.TextObjectBase.AllowExpressions">AllowExpressions</see> property.
- <para/>To format an expression value, use the <see cref="N:FastReport.Format"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.TextObject.DeserializeSubItems(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.AssignFormat(FastReport.ReportComponentBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.DrawText(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws a text.
- </summary>
- <param name="e">Paint event data.</param>
- </member>
- <member name="M:FastReport.TextObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.HandleDragOver(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.HandleDragDrop(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.HandleKeyDown(System.Windows.Forms.Control,System.Windows.Forms.KeyEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.ApplyStyle(FastReport.Style)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.SaveStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.RestoreStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.CalcWidth">
- <summary>
- Calculates the object's width.
- </summary>
- <returns>The width, in pixels.</returns>
- </member>
- <member name="M:FastReport.TextObject.CalcHeight">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.Break(FastReport.BreakableComponent)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.DrawSearchHighlight(FastReport.Utils.FRPaintEventArgs,System.Drawing.CharacterRange)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TextObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.TextObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.AutoWidth">
- <summary>
- Gets or sets a value that determines if the text object should handle its width automatically.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.AutoShrink">
- <summary>
- Gets or sets a value that indicates whether the font size should shrink to
- display the longest text line without word wrap.
- </summary>
- <remarks>
- To limit the minimum size, use the <see cref="P:FastReport.TextObject.AutoShrinkMinSize"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.AutoShrinkMinSize">
- <summary>
- Gets or sets the minimum size of font (or minimum width ratio) if the <see cref="P:FastReport.TextObject.AutoShrink"/>
- mode is on.
- </summary>
- <remarks>
- This property determines the minimum font size (in case the <see cref="P:FastReport.TextObject.AutoShrink"/> property is set to
- <b>FontSize</b>), or the minimum font width ratio (if <b>AutoShrink</b> is set to <b>FontWidth</b>).
- <para/>The default value is 0, that means no limits.
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.HorzAlign">
- <summary>
- Gets or sets the horizontal alignment of a text in the TextObject object.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.VertAlign">
- <summary>
- Gets or sets the vertical alignment of a text in the TextObject object.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.Angle">
- <summary>
- Gets or sets the text angle, in degrees.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.RightToLeft">
- <summary>
- Gets or sets a value that indicates whether the component should draw right-to-left for RTL languages.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.WordWrap">
- <summary>
- Gets or sets a value that indicates if lines are automatically word-wrapped.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.Underlines">
- <summary>
- Gets or sets a value that determines if the text object will underline each text line.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.Font">
- <summary>
- Gets or sets the font settings for this object.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.TextFill">
- <summary>
- Gets or sets the fill color used to draw a text.
- </summary>
- <remarks>
- Default fill is <see cref="T:FastReport.SolidFill"/>. You may specify other fill types, for example:
- <code>
- text1.TextFill = new HatchFill(Color.Black, Color.White, HatchStyle.Cross);
- </code>
- Use the <see cref="P:FastReport.TextObject.TextColor"/> property to set the solid text color.
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.TextColor">
- <summary>
- Gets or sets the text color in a simple manner.
- </summary>
- <remarks>
- This property can be used in a report script to change the text color of the object. It is
- equivalent to: <code>textObject1.TextFill = new SolidFill(color);</code>
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.Trimming">
- <summary>
- Gets or sets the string trimming options.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.FontWidthRatio">
- <summary>
- Gets or sets the width ratio of the font.
- </summary>
- <remarks>
- Default value is 1. To make a font wider, set a value grether than 1; to make a font narrower,
- set a value less than 1.
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.LineHeight">
- <summary>
- Gets or sets the height of single text line, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.FirstTabOffset">
- <summary>
- Gets or sets the offset, in pixels, of the first TAB symbol.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.TabWidth">
- <summary>
- Gets or sets the width of TAB symbol, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.Clip">
- <summary>
- Gets or sets a value that indicates if text should be clipped inside the object's bounds.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.Highlight">
- <summary>
- Gets the collection of conditional highlight attributes.
- </summary>
- <remarks>
- Conditional highlight is used to change the visual appearance of the Text object
- depending on some condition(s). For example, you may highlight negative values displayed by
- the Text object with red color. To do this, add the highlight condition:
- <code>
- TextObject text1;
- HighlightCondition highlight = new HighlightCondition();
- highlight.Expression = "Value < 0";
- highlight.Fill = new SolidFill(Color.Red);
- highlight.ApplyFill = true;
- text1.Highlight.Add(highlight);
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.Wysiwyg">
- <summary>
- Gets or sets a value that indicates if the text object should display its contents similar to the printout.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.ForceJustify">
- <summary>
- Forces justify for the last text line.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.HtmlTags">
- <summary>
- Allows handling html tags in the text.
- </summary>
- <remarks>
- The following html tags can be used in the object's text: <b>, <i>, <u>,
- <strike>, <sub>, <sup>, </b>, </i>, </u>,
- </strike>, </sub>, </sup>,
- <font color=&...&>, </font>. Font size cannot
- be changed due to limitations in the rendering engine.
- </remarks>
- </member>
- <member name="P:FastReport.TextObject.ParagraphOffset">
- <summary>
- Gets or sets the paragraph offset, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.TextObject.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TextObject.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TextObject.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TextObject.Height">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleDragOver(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleDragDrop(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.HandleDoubleClick">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.Clone">
- <summary>
- Creates the exact copy of this cell.
- </summary>
- <returns>The copy of this cell.</returns>
- </member>
- <member name="M:FastReport.Table.TableCell.Equals(FastReport.Table.TableCell)">
- <summary>
- Determines if two cells have identical settings.
- </summary>
- <param name="cell">Cell to compare with.</param>
- <returns><b>true</b> if cells are equal.</returns>
- </member>
- <member name="M:FastReport.Table.TableCell.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.SetStyle(FastReport.Table.TableCell)">
- <summary>
- Changes the cell's style.
- </summary>
- <param name="style">The new style.</param>
- <remarks>
- Each cell in a dynamic table object (or in a matrix) has associated style.
- Several cells may share one style. If you try to change the cell's appearance directly
- (like setting cell.TextColor), it may affect other cells in the table.
- To change the single cell, use this method.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableCell.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableCell.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Table.TableCell"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Objects">
- <summary>
- Gets a collection of objects contained in this cell.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.ColSpan">
- <summary>
- Gets or sets the column span for this cell.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.RowSpan">
- <summary>
- Gets or sets the row span for this cell.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Text">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableCell.Address">
- <summary>
- Gets the address of this cell.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Anchor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Dock">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.CanGrow">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.CanShrink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.GrowToBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.AutoWidth">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Duplicates">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.ShiftMode">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Left">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Top">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Width">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.Height">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableCell.AbsLeft">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableCell.AbsTop">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableCell.Table">
- <summary>
- Gets the <b>TableBase</b> object which this cell belongs to.
- </summary>
- </member>
- <member name="T:FastReport.Design.StandardDesigner.ToolbarBase">
- <summary>
- Base class for all designer toolbars.
- </summary>
- <remarks>
- Use this class to write own designer's toolbar. To do this:
- <para>- in the constructor, set the <b>Name</b> property and create toolbar buttons.
- The <b>Name</b> will be used to restore toolbar's state;</para>
- <para>- override the <b>SelectionChanged</b> method. This method is called when current selection
- is changed. In this method, you should update buttons state to reflect the current selection.
- Selected objects can be accessed via <b>Designer.SelectedObjects</b> property;</para>
- <para>- override the <b>UpdateContent</b> method. This method is called when the report
- content was changed. Typically you need to do the same actions in <b>SelectionChanged</b> and
- <b>UpdateContent</b> methods;</para>
- <para>- to register a toolbar, add its type to the <see cref="T:FastReport.Design.DesignerPlugins"/> global collection:
- <code>
- DesignerPlugins.Add(typeof(MyToolbar));
- </code>
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.GetOptionsPage">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.CreateButton(System.String,System.Drawing.Image,System.EventHandler)">
- <summary>
- Creates a new button.
- </summary>
- <param name="name">Button's name.</param>
- <param name="image">Button's image.</param>
- <param name="click">Click handler.</param>
- <returns>New button.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.CreateButton(System.String,System.Drawing.Image,System.String,System.EventHandler)">
- <summary>
- Creates a new button.
- </summary>
- <param name="name">Button's name.</param>
- <param name="image">Button's image.</param>
- <param name="tooltip">Button's tooltip text.</param>
- <param name="click">Click handler.</param>
- <returns>New button.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.ToolbarBase.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.StandardDesigner.ToolbarBase"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- <remarks>
- You don't need to call this constructor. The designer will do this automatically.
- </remarks>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.ToolbarBase.Designer">
- <summary>
- Gets the report designer.
- </summary>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.ToolbarBase.PluginName">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.DataSourceBase">
- <summary>
- Base class for all datasources such as <see cref="T:FastReport.Data.TableDataSource"/>.
- </summary>
- </member>
- <member name="T:FastReport.Data.Column">
- <summary>
- This class represents a single data column in a <see cref="T:FastReport.Data.DataSourceBase"/>.
- </summary>
- </member>
- <member name="T:FastReport.Data.DataComponentBase">
- <summary>
- The base class for all data components such as data sources, columns.
- </summary>
- </member>
- <member name="M:FastReport.Data.DataComponentBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataComponentBase.SetName(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataComponentBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataComponentBase.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataComponentBase.InitializeComponent">
- <summary>
- Initializes the object before running a report.
- </summary>
- <remarks>
- This method is used by the report engine, do not call it directly.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataComponentBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.DataComponentBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataComponentBase.Alias">
- <summary>
- Gets or sets alias of this object.
- </summary>
- <remarks>
- Alias is a human-friendly name of this object. It may contain any symbols (including
- spaces and national symbols).
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataComponentBase.Enabled">
- <summary>
- Gets or sets a value indicates that object is enabled and thus can be used in a report.
- </summary>
- <remarks>
- This property is used to hide an object from the Data Dictionary window. Hidden
- objects are still accessible in the "Data|Choose Data Source..." menu.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataComponentBase.ReferenceName">
- <summary>
- Gets or sets a name of the data object.
- </summary>
- <remarks>
- This property is used to support FastReport.Net infrastructure. Do not use it directly.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataComponentBase.Reference">
- <summary>
- Gets or sets a reference to the data object.
- </summary>
- <remarks>
- This property is used to support FastReport.Net infrastructure. Do not use it directly.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataComponentBase.IsAliased">
- <summary>
- Gets a value indicates that this object has an alias.
- </summary>
- </member>
- <member name="M:FastReport.Data.Column.SetName(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Column.#ctor">
- <summary>
- Initializes a new instance of the <b>Column</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.Column.PropName">
- <summary>
- Gets or sets the business object property name which this column is bound to.
- </summary>
- </member>
- <member name="P:FastReport.Data.Column.PropDescriptor">
- <summary>
- Gets or sets the business object property descriptor which this column is bound to.
- </summary>
- </member>
- <member name="P:FastReport.Data.Column.DataType">
- <summary>
- Gets or sets the type of data supplied by this column.
- </summary>
- </member>
- <member name="P:FastReport.Data.Column.BindableControl">
- <summary>
- Gets or sets a value that specifies the type of a control that will be created
- when you drop this column on a report page.
- </summary>
- <remarks>
- If you need to specify the custom type, use the <see cref="P:FastReport.Data.Column.CustomBindableControl"/> property instead.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Column.CustomBindableControl">
- <summary>
- Gets or sets a name of custom bindable control.
- </summary>
- <remarks>
- Use this property if you want to bind a column to custom object type. You need to
- specify the type name of your object; that object must be registered in FastReport using the
- <b>RegisteredObjects.Add</b> method.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Column.Format">
- <summary>
- Gets or sets the format of this column.
- </summary>
- <remarks>
- This property is used when you drag a column from the Data window to the report page.
- FastReport will create a "Text" object and set its "Format" property to the corresponding format.
- By default, this property is set to <b>Auto</b>. It means that the format will be determined
- automatically depending on the <see cref="P:FastReport.Data.Column.DataType"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Column.Expression">
- <summary>
- Gets or sets expression of the calculated column.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Data.Column.Calculated"/> property is <b>true</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Column.Calculated">
- <summary>
- Gets or sets a value that indicates whether this column is calculated.
- </summary>
- <remarks>
- You should specify the <see cref="P:FastReport.Data.Column.Expression"/> property for calculated columns.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Column.Columns">
- <summary>
- Gets the collection of child columns.
- </summary>
- </member>
- <member name="P:FastReport.Data.Column.Tag">
- <summary>
- Gets or sets the tag value.
- </summary>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.GetValue(System.String)">
- <summary>
- Gets data stored in a specified column.
- </summary>
- <param name="alias">The column alias.</param>
- <returns>An object that contains the data.</returns>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.GetValue(FastReport.Data.Column)">
- <summary>
- Gets data stored in a specified column.
- </summary>
- <param name="column">The column.</param>
- <returns>An object that contains the data.</returns>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.InitSchema">
- <summary>
- Initializes the datasource schema.
- </summary>
- <remarks>
- This method is used to support the FastReport.Net infrastructure. Do not call it directly.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.LoadData(System.Collections.ArrayList)">
- <summary>
- Loads the datasource with data.
- </summary>
- <remarks>
- This method is used to support the FastReport.Net infrastructure. Do not call it directly.
- </remarks>
- <param name="rows">Rows to fill with data.</param>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Init">
- <summary>
- Initializes this datasource.
- </summary>
- <remarks>
- This method fills the table with data. You should always call it before using most of
- datasource properties.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Init(System.String)">
- <summary>
- Initializes this datasource and applies the specified filter.
- </summary>
- <param name="filter">The filter expression.</param>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Init(System.String,FastReport.SortCollection)">
- <summary>
- Initializes this datasource, applies the specified filter and sorts the rows.
- </summary>
- <param name="filter">The filter expression.</param>
- <param name="sort">The collection of sort descriptors.</param>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Init(FastReport.Data.DataSourceBase)">
- <summary>
- Initializes this datasource and filters data rows according to the master-detail relation between
- this datasource and <b>parentData</b>.
- </summary>
- <param name="parentData">Parent datasource.</param>
- <remarks>
- To use master-detail relation, you must define the <see cref="T:FastReport.Data.Relation"/> object that describes
- the relation, and add it to the <b>Report.Dictionary.Relations</b> collection.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Init(FastReport.Data.DataSourceBase,System.String,FastReport.SortCollection)">
- <summary>
- Initializes this datasource and filters data rows according to the master-detail relation between
- this datasource and <b>parentData</b>. Also applies the specified filter and sorts the rows.
- </summary>
- <param name="parentData">Parent datasource.</param>
- <param name="filter">The filter expression.</param>
- <param name="sort">The collection of sort descriptors.</param>
- <remarks>
- To use master-detail relation, you must define the <see cref="T:FastReport.Data.Relation"/> object that describes
- the relation, and add it to the <b>Report.Dictionary.Relations</b> collection.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Init(FastReport.Data.Relation,System.String,FastReport.SortCollection)">
- <summary>
- Initializes this datasource and filters data rows according to the master-detail relation.
- Also applies the specified filter and sorts the rows.
- </summary>
- <param name="relation">The master-detail relation.</param>
- <param name="filter">The filter expression.</param>
- <param name="sort">The collection of sort descriptors.</param>
- <remarks>
- To use master-detail relation, you must define the <see cref="T:FastReport.Data.Relation"/> object that describes
- the relation, and add it to the <b>Report.Dictionary.Relations</b> collection.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.EnsureInit">
- <summary>
- Initializes the data source if it is not initialized yet.
- </summary>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.First">
- <summary>
- Navigates to the first row.
- </summary>
- <remarks>
- You should initialize the datasource by the <b>Init</b> method before using this method.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Next">
- <summary>
- Navigates to the next row.
- </summary>
- <remarks>
- You should initialize the datasource by the <b>Init</b> method before using this method.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Prior">
- <summary>
- Navigates to the prior row.
- </summary>
- <remarks>
- You should initialize the datasource by the <b>Init</b> method before using this method.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataSourceBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.DataSourceBase"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Data.DataSourceBase.Load">
- <summary>
- Occurs when the FastReport engine loads data source with data.
- </summary>
- <remarks>
- Use this event if you want to implement load-on-demand. Event handler must load the data
- into the data object which this datasource is bound to (for example, the
- <b>TableDataSource</b> uses data from the <b>DataTable</b> object bound to
- the <b>Table</b> property).
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.RowCount">
- <summary>
- Gets a number of data rows in this datasource.
- </summary>
- <remarks>
- You should initialize the datasource by the <b>Init</b> method before using this property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.HasMoreRows">
- <summary>
- Gets a value indicating that datasource has more rows, that is the <see cref="P:FastReport.Data.DataSourceBase.CurrentRowNo"/>
- is less than the <see cref="P:FastReport.Data.DataSourceBase.RowCount"/>.
- </summary>
- <remarks>
- <para>You should initialize the datasource by the <b>Init</b> method before using this property.</para>
- <para>Usually this property is used with the following code block:</para>
- <code>
- dataSource.Init();
- while (dataSource.HasMoreRows)
- {
- // do something...
- dataSource.Next();
- }
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.CurrentRow">
- <summary>
- Gets the current data row.
- </summary>
- <remarks>
- <para>This property is updated when you call the <see cref="M:FastReport.Data.DataSourceBase.Next"/> method.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.CurrentRowNo">
- <summary>
- Gets an index of current data row.
- </summary>
- <remarks>
- <para>You should initialize the datasource by the <b>Init</b> method before using this property.</para>
- <para>This property is updated when you call the <see cref="M:FastReport.Data.DataSourceBase.Next"/> method.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.Item(System.String)">
- <summary>
- Gets data stored in a specified column.
- </summary>
- <param name="columnAlias">Alias of a column.</param>
- <returns>The column's value.</returns>
- <remarks>
- You should initialize the datasource by the <b>Init</b> method before using this property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.Item(FastReport.Data.Column)">
- <summary>
- Gets data stored in a specified column.
- </summary>
- <param name="column">The column.</param>
- <returns>The column's value.</returns>
- <remarks>
- You should initialize the datasource by the <b>Init</b> method before using this property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.ForceLoadData">
- <summary>
- Forces loading of data for this datasource.
- </summary>
- <remarks>
- This property is <b>false</b> by default. Set it to <b>true</b> if you need to reload data
- each time when the datasource initialized. Note that this may slow down the performance.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.DataType">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.BindableControl">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.CustomBindableControl">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.Format">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.Expression">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.Calculated">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataSourceBase.AdditionalFilter">
- <summary>
- Gets the additional filter settings.
- </summary>
- </member>
- <member name="T:FastReport.Controls.ColorPopup">
- <summary>
- Represents a popup window that alows to choose a color.
- </summary>
- <remarks>
- This control may be useful if you write own components for FastReport.
- </remarks>
- </member>
- <member name="T:FastReport.Controls.PopupWindow">
- <summary>
- Represents a popup form.
- </summary>
- <remarks>
- Use this form if you want to show some controls in non-modal borderless form that
- behaves like other standard popup controls such as context menu. This form does not
- move a focus from the parent form.
- </remarks>
- </member>
- <member name="M:FastReport.Controls.PopupWindow.Show(System.Windows.Forms.Control,System.Drawing.Point)">
- <summary>
- Shows the form.
- </summary>
- <param name="ctl">The control which location is used as a reference for <b>pt</b> parameter.</param>
- <param name="pt">The location relative to the <b>ctl</b> control.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindow.Show(System.Windows.Forms.Control,System.Int32,System.Int32)">
- <summary>
- Shows the form.
- </summary>
- <param name="ctl">The control which location is used as a reference for <b>x</b>, <b>y</b> parameters.</param>
- <param name="x">The x position relative to the <b>ctl</b> control.</param>
- <param name="y">The y position relative to the <b>ctl</b> control.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindow.Show(System.Drawing.Point)">
- <summary>
- Shows the form.
- </summary>
- <param name="pt">The absolute screen location.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindow.#ctor(System.Windows.Forms.Form)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.PopupWindow"/> class with default settings.
- </summary>
- <param name="ownerForm">The main form that owns this popup form.</param>
- </member>
- <member name="M:FastReport.Controls.ColorPopup.#ctor(System.Windows.Forms.Form)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.ColorPopup"/> class with default settings.
- </summary>
- <param name="ownerForm">The main form that owns this popup control.</param>
- </member>
- <member name="E:FastReport.Controls.ColorPopup.ColorSelected">
- <summary>
- This event is raised when you select a color.
- </summary>
- </member>
- <member name="P:FastReport.Controls.ColorPopup.Color">
- <summary>
- Gets or sets the selected color.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.CheckBoxControl">
- <summary>
- Represents a Windows CheckBox.
- Wraps the <see cref="T:System.Windows.Forms.CheckBox"/> control.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.ButtonBaseControl">
- <summary>
- Implements base behavior of button controls.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ButtonBaseControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ButtonBaseControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.ButtonBaseControl.AutoSize">
- <summary>
- Gets or sets a value that indicates whether the control resizes based on its contents.
- Wraps the <see cref="P:System.Windows.Forms.ButtonBase.AutoSize"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonBaseControl.Image">
- <summary>
- Gets or sets the image that is displayed on a button control.
- Wraps the <see cref="P:System.Windows.Forms.ButtonBase.Image"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonBaseControl.ImageAlign">
- <summary>
- Gets or sets the alignment of the image on the button control.
- Wraps the <see cref="P:System.Windows.Forms.ButtonBase.ImageAlign"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonBaseControl.TextAlign">
- <summary>
- Gets or sets the alignment of the text on the button control.
- Wraps the <see cref="P:System.Windows.Forms.ButtonBase.TextAlign"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonBaseControl.TextImageRelation">
- <summary>
- Gets or sets the position of text and image relative to each other.
- Wraps the <see cref="P:System.Windows.Forms.ButtonBase.TextImageRelation"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonBaseControl.AutoFill">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.OnCheckedChanged(System.EventArgs)">
- <summary>
- This method fires the <b>CheckedChanged</b> event and the script code connected to the <b>CheckedChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.CheckBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>CheckBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.CheckBoxControl.CheckedChanged">
- <summary>
- Occurs when the value of the <b>Checked</b> property changes.
- Wraps the <see cref="E:System.Windows.Forms.CheckBox.CheckedChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.CheckBox">
- <summary>
- Gets an internal <b>CheckBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.Appearance">
- <summary>
- Gets or sets the value that determines the appearance of a CheckBox control.
- Wraps the <see cref="P:System.Windows.Forms.CheckBox.Appearance"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.CheckAlign">
- <summary>
- Gets or sets the horizontal and vertical alignment of the check mark on a CheckBox control.
- Wraps the <see cref="P:System.Windows.Forms.CheckBox.CheckAlign"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.Checked">
- <summary>
- Gets or set a value indicating whether the CheckBox is in the checked state.
- Wraps the <see cref="P:System.Windows.Forms.CheckBox.Checked"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.CheckState">
- <summary>
- Gets or sets the state of the CheckBox.
- Wraps the <see cref="P:System.Windows.Forms.CheckBox.CheckState"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.ThreeState">
- <summary>
- Gets or sets a value indicating whether the CheckBox will allow three check states rather than two.
- Wraps the <see cref="P:System.Windows.Forms.CheckBox.ThreeState"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckBoxControl.CheckedChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.CheckBoxControl.CheckedChanged"/> event.
- </summary>
- </member>
- <member name="T:FastReport.TypeEditors.DataSourceEditor">
- <summary>
- Provides a user interface for choosing a data source.
- </summary>
- </member>
- <member name="T:FastReport.DataColumnSmartTag">
- <summary>
- Class represent a smart tag that is used to choose a data column.
- </summary>
- </member>
- <member name="M:FastReport.DataColumnSmartTag.CreateItems">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataColumnSmartTag.FindRootDataSource">
- <summary>
- Gets a root datasource for the object currently edited.
- </summary>
- <returns>The <b>DataSourceBase</b> object if found; <b>null</b> otherwise.</returns>
- </member>
- <member name="M:FastReport.DataColumnSmartTag.#ctor(FastReport.ComponentBase)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.DataColumnSmartTag"/> class with default settings.
- </summary>
- <param name="obj">Report object that owns this smart tag.</param>
- </member>
- <member name="P:FastReport.DataColumnSmartTag.DataColumn">
- <summary>
- Gets or sets the data column name.
- </summary>
- </member>
- <member name="T:FastReport.Preview.AddPageAction">
- <summary>
- Specifies an action that will be performed on <b>PreparedPages.AddPage</b> method call.
- </summary>
- </member>
- <member name="F:FastReport.Preview.AddPageAction.WriteOver">
- <summary>
- Do not add the new prepared page if possible, increment the <b>CurPage</b> instead.
- </summary>
- </member>
- <member name="F:FastReport.Preview.AddPageAction.Add">
- <summary>
- Add the new prepared page.
- </summary>
- </member>
- <member name="T:FastReport.Preview.PreparedPages">
- <summary>
- Represents the pages of a prepared report.
- </summary>
- <remarks>
- <para>Prepared page is a page that you can see in the preview window. Prepared pages can be
- accessed via <see cref="P:FastReport.Report.PreparedPages"/> property.</para>
- <para>The common scenarios of using this object are:
- <list type="bullet">
- <item>
- <description>Working with prepared pages after the report is finished: load
- (<see cref="M:FastReport.Preview.PreparedPages.Load(System.String)"/>) or save (<see cref="M:FastReport.Preview.PreparedPages.Save(System.String)"/>) pages
- from/to a .fpx file, get a page with specified index to work with its objects
- (<see cref="M:FastReport.Preview.PreparedPages.GetPage(System.Int32)"/>); modify specified page (<see cref="M:FastReport.Preview.PreparedPages.ModifyPage(System.Int32,FastReport.ReportPage)"/>).
- </description>
- </item>
- <item>
- <description>Using the <see cref="M:FastReport.Preview.PreparedPages.AddPage(FastReport.ReportPage)"/>, <see cref="M:FastReport.Preview.PreparedPages.AddSourcePage(FastReport.ReportPage)"/>, <see cref="M:FastReport.Preview.PreparedPages.AddBand(FastReport.BandBase)"/>
- methods while report is generating to produce an output.
- </description>
- </item>
- </list>
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.Dispose">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.AddSourcePage(FastReport.ReportPage)">
- <summary>
- Adds a source page to the prepared pages dictionary.
- </summary>
- <param name="page">The template page to add.</param>
- <remarks>
- Call this method before using <b>AddPage</b> and <b>AddBand</b> methods. This method adds
- a page to the dictionary that will be used to decrease size of the prepared report.
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.AddPage(FastReport.ReportPage)">
- <summary>
- Adds a new page.
- </summary>
- <param name="page">The original (template) page to add.</param>
- <remarks>
- Call the <see cref="M:FastReport.Preview.PreparedPages.AddSourcePage(FastReport.ReportPage)"/> method before adding a page. This method creates
- a new output page with settings based on <b>page</b> parameter.
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.AddBand(FastReport.BandBase)">
- <summary>
- Prints a band with all its child objects.
- </summary>
- <param name="band">The band to print.</param>
- <returns><b>true</b> if band was printed; <b>false</b> if it can't be printed
- on current page due to its <b>PrintOn</b> property value.</returns>
- <remarks>
- Call the <see cref="M:FastReport.Preview.PreparedPages.AddPage(FastReport.ReportPage)"/> method before adding a band.
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.GetPage(System.Int32)">
- <summary>
- Gets a page with specified index.
- </summary>
- <param name="index">Zero-based index of page.</param>
- <returns>The page with specified index.</returns>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.GetPageSize(System.Int32)">
- <summary>
- Gets the size of specified page, in pixels.
- </summary>
- <param name="index">Index of page.</param>
- <returns>the size of specified page, in pixels.</returns>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.ModifyPage(System.Int32,FastReport.ReportPage)">
- <summary>
- Replaces the prepared page with specified one.
- </summary>
- <param name="index">The index of prepared page to replace.</param>
- <param name="newPage">The new page to replace with.</param>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.RemovePage(System.Int32)">
- <summary>
- Removes a page with the specified index.
- </summary>
- <param name="index">The zero-based index of page to remove.</param>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.Save(System.IO.Stream)">
- <summary>
- Saves prepared pages to a stream.
- </summary>
- <param name="stream">The stream to save to.</param>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.Save(System.String)">
- <summary>
- Saves prepared pages to a .fpx file.
- </summary>
- <param name="fileName">The name of the file to save to.</param>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.Load(System.IO.Stream)">
- <summary>
- Loads prepared pages from a stream.
- </summary>
- <param name="stream">The stream to load from.</param>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.Load(System.String)">
- <summary>
- Loads prepared pages from a .fpx file.
- </summary>
- <param name="fileName">The name of the file to load from.</param>
- </member>
- <member name="M:FastReport.Preview.PreparedPages.Clear">
- <summary>
- Clears the prepared report's pages.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreparedPages.Count">
- <summary>
- Gets the number of pages in the prepared report.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreparedPages.AddPageAction">
- <summary>
- Specifies an action that will be performed on <see cref="M:FastReport.Preview.PreparedPages.AddPage(FastReport.ReportPage)"/> method call.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreparedPages.CanUploadToCache">
- <summary>
- Gets or sets a value indicating whether the prepared pages can be uploaded to the file cache.
- </summary>
- <remarks>
- <para>This property is used while report is generating.</para>
- <para>Default value for this property is <b>true</b>. That means the prepared pages may be uploaded to
- the file cache if needed. To prevent this (for example, if you need to access some objects
- on previously generated pages), set the property value to <b>false</b>.</para>
- </remarks>
- </member>
- <member name="F:FastReport.Forms.WatermarkEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.WatermarkEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.WatermarkEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Design.DesignerRestrictions">
- <summary>
- Represents a set of designer's restrictions.
- </summary>
- </member>
- <member name="M:FastReport.Design.DesignerRestrictions.Assign(FastReport.Design.DesignerRestrictions)">
- <summary>
- Copies the contents of another, similar object.
- </summary>
- <param name="source">Source object to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Design.DesignerRestrictions.Clone">
- <summary>
- Creates exact copy of this object.
- </summary>
- <returns>The copy of this object.</returns>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontLoadReport">
- <summary>
- Gets or sets a value that enables or disables the "Open" action.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontSaveReport">
- <summary>
- Gets or sets a value that enables or disables the "Save/Save as" actions.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontCreateReport">
- <summary>
- Gets or sets a value that enables or disables the "New..." action.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontPreviewReport">
- <summary>
- Gets or sets a value that enables or disables the "Preview" action.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontShowRecentFiles">
- <summary>
- Gets or sets a value that enables or disables the recent files list.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontEditCode">
- <summary>
- Gets or sets a value that enables or disables the "Code" tab.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontEditData">
- <summary>
- Gets or sets a value that enables or disables the "Data" menu.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontCreateData">
- <summary>
- Gets or sets a value that enables or disables the "Data|Add New Data Source..." menu.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontChangeReportOptions">
- <summary>
- Gets or sets a value that enables or disables the "Report|Options..." menu.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontInsertObject">
- <summary>
- Gets or sets a value that enables or disables insertion of objects.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontInsertBand">
- <summary>
- Gets or sets a value that enables or disables the insertion of bands.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontDeletePage">
- <summary>
- Gets or sets a value that enables or disables the "Delete Page" action.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontCreatePage">
- <summary>
- Gets or sets a value that enables or disables the creation of report/dialog pages.
- </summary>
- </member>
- <member name="P:FastReport.Design.DesignerRestrictions.DontChangePageOptions">
- <summary>
- Gets or sets a value that enables or disables the "Page Setup" action.
- </summary>
- </member>
- <member name="T:FastReport.Data.MsAccessDataConnection">
- <summary>
- Represents a connection to MS Access database (.mdb file).
- </summary>
- <example>This example shows how to add a new connection to the report.
- <code>
- Report report1;
- MsAccessDataConnection conn = new MsAccessDataConnection();
- conn.DataSource = @"c:\data.mdb";
- report1.Dictionary.Connections.Add(conn);
- conn.CreateAllTables();
- </code>
- </example>
- </member>
- <member name="T:FastReport.Data.DataConnectionBase">
- <summary>
- The base class for all data connection components such as <see cref="T:FastReport.Data.MsSqlDataConnection"/>.
- </summary>
- <example>This example shows how to add a new MS Access connection to the report.
- <code>
- Report report1;
- MsAccessDataConnection conn = new MsAccessDataConnection();
- conn.DataSource = @"c:\data.mdb";
- report1.Dictionary.Connections.Add(conn);
- conn.CreateAllTables();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.CreateDataSet">
- <summary>
- Initializes a <b>DataSet</b> instance.
- </summary>
- <returns>The <b>DataSet</b> object.</returns>
- <remarks>
- This method is used to support FastReport infrastructure. You don't need to use it.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.DisposeDataSet">
- <summary>
- Disposes a <b>DataSet</b>.
- </summary>
- <remarks>
- This method is used to support FastReport infrastructure. You don't need to use it.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.SetConnectionString(System.String)">
- <summary>
- Sets the connection string.
- </summary>
- <param name="value">New connection string.</param>
- <remarks>
- Use this method if you need to perform some actions when the connection string is set.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetConnectionStringWithLoginInfo(System.String,System.String)">
- <summary>
- Gets a connection string that contains username and password specified.
- </summary>
- <param name="userName">User name.</param>
- <param name="password">Password.</param>
- <remarks>
- Override this method to pass login information to the connection. Typical implementation
- must get the existing <see cref="P:FastReport.Data.DataConnectionBase.ConnectionString"/>, merge specified login information into it
- and return the new value.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetConnectionType">
- <summary>
- Returns a type of connection.
- </summary>
- <returns><b>Type</b> instance.</returns>
- <remarks>
- You should override this method if you developing a new connection component.
- <para/>If your connection component does not use data connection, you need to override
- the <see cref="M:FastReport.Data.DataConnectionBase.FillTableSchema(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> and <see cref="M:FastReport.Data.DataConnectionBase.FillTableData(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> methods instead.
- </remarks>
- <example>Here is the example of this method implementation:
- <code>
- public override Type GetConnectionType()
- {
- return typeof(OleDbConnection);
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetConnection">
- <summary>
- Returns a connection object.
- </summary>
- <returns>The <b>DbConnection</b> instance.</returns>
- <remarks>Either creates a new <b>DbConnection</b> instance of type provided by the
- <see cref="M:FastReport.Data.DataConnectionBase.GetConnectionType"/> method, or returns the application connection if set
- in the Config.DesignerSettings.ApplicationConnection.</remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.OpenConnection(System.Data.Common.DbConnection)">
- <summary>
- Opens a specified connection object.
- </summary>
- <param name="connection">Connection to open.</param>
- <remarks>
- Use this method to open a connection returned by the <see cref="M:FastReport.Data.DataConnectionBase.GetConnection"/> method.
- <para/>This method displays a login dialog if your connection has the <see cref="P:FastReport.Data.DataConnectionBase.LoginPrompt"/>
- property set to <b>true</b>. Once you have entered an user name and password in
- this dialog, it will remeber the entered values and will not used anymore in this report session.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.DisposeConnection(System.Data.Common.DbConnection)">
- <summary>
- Disposes a connection.
- </summary>
- <param name="connection">The connection to dispose.</param>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)">
- <summary>
- Returns a <see cref="T:System.Data.Common.DbDataAdapter"/> object that is specific to this connection.
- </summary>
- <param name="selectCommand">The SQL command used to fetch a table data rows.</param>
- <param name="connection">The connection object.</param>
- <param name="parameters">The select command parameters.</param>
- <returns>The <b>DbDataAdapter</b> object.</returns>
- <remarks>
- You should override this method if you are developing a new connection component. In this method,
- you need to create the adapter and set its <b>SelectCommand</b>'s parameters.
- <para/>If your connection does not use data adapter, you need to override
- the <see cref="M:FastReport.Data.DataConnectionBase.FillTableSchema(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> and <see cref="M:FastReport.Data.DataConnectionBase.FillTableData(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> methods instead.
- </remarks>
- <example>Here is the example of this method implementation:
- <code>
- public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection,
- CommandParameterCollection parameters)
- {
- OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection as OleDbConnection);
- foreach (CommandParameter p in parameters)
- {
- OleDbParameter parameter = adapter.SelectCommand.Parameters.Add(p.Name, (OleDbType)p.DataType, p.Size);
- parameter.Value = p.Value;
- }
- return adapter;
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetEditor">
- <summary>
- Gets a control that will be used to edit the connection properties.
- </summary>
- <returns>The editor's control.</returns>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetParameterType">
- <summary>
- Gets the type of parameter that is specific to this connection.
- </summary>
- <returns>The parameter's type.</returns>
- <remarks>
- This property is used in the report designer to display available data types when you edit the
- connection parameters. For example, the type of OleDbConnection parameter is a <b>OleDbType</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetDefaultParameterType">
- <summary>
- Gets the default type for a new parameter.
- </summary>
- <returns>The integer representation of a parameter type.</returns>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetConnectionId">
- <summary>
- Gets a string that will identify a connection in the Data Wizard.
- </summary>
- <returns>The string that contains the connection type and some meaningful information.</returns>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.QuoteIdentifier(System.String,System.Data.Common.DbConnection)">
- <summary>
- Quotes the specified DB identifier such as table name or column name.
- </summary>
- <param name="value">Identifier to quote.</param>
- <param name="connection">The opened DB connection.</param>
- <returns>The quoted identifier.</returns>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetTableNames">
- <summary>
- Gets an array of table names available in the database.
- </summary>
- <returns>An array of strings.</returns>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.TestConnection">
- <summary>
- Tests the connection.
- </summary>
- <remarks>
- If test connection is not successful, this method throws an exception. Catch this exception to
- show an error message.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.FillTableSchema(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)">
- <summary>
- Fills the table schema.
- </summary>
- <param name="table">DataTable to fill.</param>
- <param name="selectCommand">The SQL select command.</param>
- <param name="parameters">SQL parameters.</param>
- <remarks>
- Usually you don't need to use this method. Internally it uses the <see cref="M:FastReport.Data.DataConnectionBase.GetConnection"/> and
- <see cref="M:FastReport.Data.DataConnectionBase.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)"/> methods to fill the table schema. If you create own connection component
- that does not use nor connection or adapter, then you need to override this method.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.FillTableData(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)">
- <summary>
- Fills the table data.
- </summary>
- <param name="table">DataTable to fill.</param>
- <param name="selectCommand">The SQL select command.</param>
- <param name="parameters">SQL parameters.</param>
- <remarks>
- Usually you don't need to use this method. Internally it uses the <see cref="M:FastReport.Data.DataConnectionBase.GetConnection"/> and
- <see cref="M:FastReport.Data.DataConnectionBase.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)"/> methods to fill the table data. If you create own connection component
- that does not use nor connection or adapter, then you need to override this method.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.CreateAllTables">
- <summary>
- Fills the <see cref="P:FastReport.Data.DataConnectionBase.Tables"/> collection with all tables available in the database.
- </summary>
- <remarks>
- This method does not read the table data; to do this, call the
- <see cref="M:FastReport.Data.TableDataSource.LoadData(System.Collections.ArrayList)"/> method of each table.
- </remarks>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.CreateAllTables(System.Boolean)">
- <summary>
- Fills the <see cref="P:FastReport.Data.DataConnectionBase.Tables"/> collection with all tables available in the database.
- </summary>
- <param name="initSchema">Set to <b>true</b> to initialize each table's schema.</param>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.CreateRelations">
- <summary>
- Creates the relations between tables. Applies to XmlDataConnection only.
- </summary>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.DataConnectionBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.DataConnectionBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.DataSet">
- <summary>
- Gets an internal <b>DataSet</b> object that contains all data tables.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.Tables">
- <summary>
- Gets a collection of data tables in this connection.
- </summary>
- <remarks>
- To add a table to the connection, you must either create a new TableDataSource and add it
- to this collection or call the <see cref="M:FastReport.Data.DataConnectionBase.CreateAllTables"/> method which will add
- all tables available in the database.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.ConnectionString">
- <summary>
- Gets or sets a connection string that contains all connection parameters.
- </summary>
- <remarks>
- <para>To modify some parameter of the connection, use respective
- <b>ConnectionStringBuilder</b> class.</para>
- <para><b>Security note:</b> the connection string may contain a user name/password.
- This information is stored in a report file. By default, it is crypted using the standard
- FastReport's password. Since FastReport's source code is available to anyone who paid for it,
- it may be insecure to use the standard password. For more security, you should use own
- password. To do this, specify it in the <b>Crypter.DefaultPassword</b> property.</para>
- </remarks>
- <example>This example demonstrates how to change a connection string:
- <code>
- OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(oleDbConnection1.ConnectionString);
- builder.PersistSecurityInfo = false;
- oleDbConnection1.ConnectionString = builder.ToString();
- </code>
- </example>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.ConnectionStringExpression">
- <summary>
- Gets or sets an expression that returns a connection string.
- </summary>
- <remarks>
- Use this property to set the connection string dynamically.
- <para/>The recommended way to do this is to define a report parameter. You can do this in the
- "Data" window. Once you have defined the parameter, you can use it to pass a value
- to the connection. Set the <b>ConnectionStringExpression</b> property of the
- connection object to the report parameter's name (so it will look like [myReportParam]).
- To pass a value to the report parameter from your application, use the
- <see cref="M:FastReport.Report.SetParameterValue(System.String,System.Object)"/> method.
- <note type="caution">
- Once you set value for this property, the <see cref="P:FastReport.Data.DataConnectionBase.ConnectionString"/> property will be ignored
- when report is run.
- </note>
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.IsSqlBased">
- <summary>
- Gets or sets a value indicates if this connection is SQL-based.
- </summary>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.LoginPrompt">
- <summary>
- Gets or sets a value indicating whether a login dialog appears immediately before opening a connection.
- </summary>
- <remarks>
- Set <b>LoginPrompt</b> to <b>true</b> to provide login dialog when establishing a connection. If this
- property is <b>false</b> (by default), you should provide login information (user name and password)
- in the <see cref="P:FastReport.Data.DataConnectionBase.ConnectionString"/> property. Though that property is stored in a crypted form,
- this may be insecure.
- <para/>Another way to pass login information to the connection is to use
- <see cref="P:FastReport.Data.DataConnectionBase.ConnectionStringExpression"/> property that is bound to the report parameter. In that
- case you supply the entire connection string from your application.
- </remarks>
- </member>
- <member name="P:FastReport.Data.DataConnectionBase.CommandTimeout">
- <summary>
- Gets or sets the command timeout, in seconds.
- </summary>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.SetConnectionString(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.GetConnectionStringWithLoginInfo(System.String,System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.GetConnectionType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.GetEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.GetParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.QuoteIdentifier(System.String,System.Data.Common.DbConnection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.GetConnectionId">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsAccessDataConnection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.MsAccessDataConnection"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.MsAccessDataConnection.DataSource">
- <summary>
- Gets or sets the datasource file name.
- </summary>
- </member>
- <member name="P:FastReport.Data.MsAccessDataConnection.UserName">
- <summary>
- Gets or sets the user name.
- </summary>
- </member>
- <member name="P:FastReport.Data.MsAccessDataConnection.Password">
- <summary>
- Gets or sets the password.
- </summary>
- </member>
- <member name="T:FastReport.ConditionCollection">
- <summary>
- Represents a collection of highlight conditions used in the <see cref="P:FastReport.TextObject.Highlight"/> property
- of the <see cref="T:FastReport.TextObject"/>.
- </summary>
- </member>
- <member name="M:FastReport.ConditionCollection.AddRange(FastReport.HighlightCondition[])">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range">Array of elements to add.</param>
- </member>
- <member name="M:FastReport.ConditionCollection.Add(FastReport.HighlightCondition)">
- <summary>
- Adds an object to the end of this collection.
- </summary>
- <param name="value">Object to add.</param>
- <returns>Index of the added object.</returns>
- </member>
- <member name="M:FastReport.ConditionCollection.Insert(System.Int32,FastReport.HighlightCondition)">
- <summary>
- Inserts an object into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The object to insert.</param>
- </member>
- <member name="M:FastReport.ConditionCollection.Remove(FastReport.HighlightCondition)">
- <summary>
- Removes the specified object from the collection.
- </summary>
- <param name="value">Object to remove.</param>
- </member>
- <member name="M:FastReport.ConditionCollection.IndexOf(FastReport.HighlightCondition)">
- <summary>
- Returns the zero-based index of the first occurrence of an object.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.ConditionCollection.Contains(FastReport.HighlightCondition)">
- <summary>
- Determines whether an element is in the collection.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.ConditionCollection.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ConditionCollection.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ConditionCollection.Assign(FastReport.ConditionCollection)">
- <summary>
- Copies conditions from another collection.
- </summary>
- <param name="collection">Collection to copy from.</param>
- </member>
- <member name="M:FastReport.ConditionCollection.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ConditionCollection.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ConditionCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Data.SystemVariables">
- <summary>
- Represents the collection of system variables.
- </summary>
- </member>
- <member name="T:FastReport.Data.SystemVariable">
- <summary>
- Represents the base class for system variables.
- </summary>
- </member>
- <member name="T:FastReport.Data.Parameter">
- <summary>
- Represents a report parameter that is used to pass user data to a report.
- </summary>
- <remarks>
- See <see cref="P:FastReport.Report.Parameters"/> for details about using parameters.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Parameter.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Parameter.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.Parameter"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Data.Parameter.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.Parameter"/> class with specified name.
- </summary>
- </member>
- <member name="P:FastReport.Data.Parameter.DataType">
- <summary>
- Gets or sets the type of parameter.
- </summary>
- </member>
- <member name="P:FastReport.Data.Parameter.Value">
- <summary>
- Gets or sets the value of parameter.
- </summary>
- <remarks>
- You may specify the static value in this property. Note: if the <see cref="P:FastReport.Data.Parameter.Expression"/>
- property is not empty, it will be calculated and its value will be returned.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Parameter.AsString">
- <summary>
- Gets or sets value of the parameter as a string.
- </summary>
- </member>
- <member name="P:FastReport.Data.Parameter.Expression">
- <summary>
- Gets or sets an expression of the parameter.
- </summary>
- <remarks>
- This expression will be calculated each time you access a parameter's <b>Value</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Parameter.Description">
- <summary>
- Gets or sets the description of a parameter.
- </summary>
- </member>
- <member name="P:FastReport.Data.Parameter.Parameters">
- <summary>
- Gets a collection of nested parameters.
- </summary>
- <remarks>
- Parameters can have child (nested) parameters. To get or set a nested
- parameter's value, use the <see cref="M:FastReport.Report.GetParameter(System.String)"/> method.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Parameter.FullName">
- <summary>
- Gets the full name of the parameter. This is useful to get the nested parameter's full name.
- </summary>
- </member>
- <member name="P:FastReport.Data.Parameter.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="M:FastReport.Data.SystemVariable.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Data.SystemVariable.Expression">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.SystemVariable.Description">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Data.DateVariable">
- <summary>
- Returns date and time of the report's start.
- </summary>
- </member>
- <member name="P:FastReport.Data.DateVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.PageVariable">
- <summary>
- Returns current page number.
- </summary>
- </member>
- <member name="P:FastReport.Data.PageVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.TotalPagesVariable">
- <summary>
- Returns total number of pages in the report. To use this variable, you need
- to enable the report's double pass.
- </summary>
- </member>
- <member name="P:FastReport.Data.TotalPagesVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.PageNVariable">
- <summary>
- Returns a string containing the current page number in a form "Page N".
- </summary>
- </member>
- <member name="P:FastReport.Data.PageNVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.PageNofMVariable">
- <summary>
- Returns a string containing the current page number and total pages in a form "Page N of M".
- To use this variable, you need to enable the report's double pass.
- </summary>
- </member>
- <member name="P:FastReport.Data.PageNofMVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.RowVariable">
- <summary>
- Returns data row number inside the group. This value is reset at the start of a new group.
- </summary>
- </member>
- <member name="P:FastReport.Data.RowVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.AbsRowVariable">
- <summary>
- Returns absolute number of data row. This value is never reset at the start of a new group.
- </summary>
- </member>
- <member name="P:FastReport.Data.AbsRowVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.PageMacroVariable">
- <summary>
- Returns current page number.
- <para/>This variable is actually a macro. Its value is substituted when the component is viewed in
- the preview window. That means you cannot use it in an expression.
- </summary>
- </member>
- <member name="P:FastReport.Data.PageMacroVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.TotalPagesMacroVariable">
- <summary>
- Returns the number of total pages in the report.
- <para/>This variable is actually a macro. Its value is substituted when the component is viewed in
- the preview window. That means you cannot use it in an expression.
- </summary>
- </member>
- <member name="P:FastReport.Data.TotalPagesMacroVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.CopyNameMacroVariable">
- <summary>
- Returns the name of the printed copy.
- <para/>This variable is actually a macro. Its value is substituted when the component is viewed in
- the preview window. That means you cannot use it in an expression.
- </summary>
- </member>
- <member name="P:FastReport.Data.CopyNameMacroVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.HierarchyLevelVariable">
- <summary>
- Returns a level of hierarchy in the hierarchical report.
- </summary>
- </member>
- <member name="P:FastReport.Data.HierarchyLevelVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Data.HierarchyRowNoVariable">
- <summary>
- Returns the row number like "1.2.1" in the hierarchical report.
- </summary>
- </member>
- <member name="P:FastReport.Data.HierarchyRowNoVariable.Value">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TypeEditors.ReportComponentRefEditor">
- <summary>
- Provides a user interface for selecting a component inside the report.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.ReportComponentRefEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.ReportComponentRefEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TypeEditors.ReportComponentRefEditor.IsDropDownResizable">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Table.TableLayout">
- <summary>
- Specifies the layout that will be used when printing a big table.
- </summary>
- </member>
- <member name="F:FastReport.Table.TableLayout.AcrossThenDown">
- <summary>
- The table is printed across a pages then down.
- </summary>
- </member>
- <member name="F:FastReport.Table.TableLayout.DownThenAcross">
- <summary>
- The table is printed down then across a pages.
- </summary>
- </member>
- <member name="F:FastReport.Table.TableLayout.Wrapped">
- <summary>
- The table is wrapped.
- </summary>
- </member>
- <member name="T:FastReport.Table.TableBase">
- <summary>
- The base class for table-type controls such as <see cref="T:FastReport.Table.TableObject"/> and
- <see cref="T:FastReport.Matrix.MatrixObject"/>.
- </summary>
- </member>
- <member name="M:FastReport.Table.TableBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.IsVisible(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.HandleKeyDown(System.Windows.Forms.Control,System.Windows.Forms.KeyEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.CreateUniqueNames">
- <summary>
- Creates unique names for all table elements such as rows, columns, cells.
- </summary>
- </member>
- <member name="M:FastReport.Table.TableBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.OnAfterInsert(FastReport.InsertFrom)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.CalcWidth">
- <summary>
- Calculates and returns the table width, in pixels.
- </summary>
- </member>
- <member name="M:FastReport.Table.TableBase.CalcHeight">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.Break(FastReport.BreakableComponent)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableBase.Sum(FastReport.Table.TableCell)">
- <summary>
- Calculates a sum of values in a specified cell.
- </summary>
- <param name="aggregateCell">The cell.</param>
- <returns>The <b>object</b> that contains calculated value.</returns>
- <remarks>
- This method can be called from the <b>ManualBuild</b> event handler only.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableBase.Min(FastReport.Table.TableCell)">
- <summary>
- Calculates a minimum of values in a specified cell.
- </summary>
- <param name="aggregateCell">The cell.</param>
- <returns>The <b>object</b> that contains calculated value.</returns>
- <remarks>
- This method can be called from the <b>ManualBuild</b> event handler only.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableBase.Max(FastReport.Table.TableCell)">
- <summary>
- Calculates a maximum of values in a specified cell.
- </summary>
- <param name="aggregateCell">The cell.</param>
- <returns>The <b>object</b> that contains calculated value.</returns>
- <remarks>
- This method can be called from the <b>ManualBuild</b> event handler only.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableBase.Avg(FastReport.Table.TableCell)">
- <summary>
- Calculates an average of values in a specified cell.
- </summary>
- <param name="aggregateCell">The cell.</param>
- <returns>The <b>object</b> that contains calculated value.</returns>
- <remarks>
- This method can be called from the <b>ManualBuild</b> event handler only.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableBase.Count(FastReport.Table.TableCell)">
- <summary>
- Calculates number of repeats of a specified cell.
- </summary>
- <param name="aggregateCell">The cell.</param>
- <returns>The <b>object</b> that contains calculated value.</returns>
- <remarks>
- This method can be called from the <b>ManualBuild</b> event handler only.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Table.TableBase"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.Rows">
- <summary>
- Gets a collection of table rows.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.Columns">
- <summary>
- Gets a collection of table columns.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.FixedRows">
- <summary>
- Gets or sets the number of fixed rows that will be repeated on each page.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.FixedColumns">
- <summary>
- Gets or sets the number of fixed columns that will be repeated on each page.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.RepeatHeaders">
- <summary>
- Gets or sets a value that determines whether is necessary to repeat table header on each page.
- </summary>
- <remarks>
- To define a table header, set the <see cref="P:FastReport.Table.TableBase.FixedRows"/> and <see cref="P:FastReport.Table.TableBase.FixedColumns"/>
- properties.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableBase.Layout">
- <summary>
- Gets or sets the table layout.
- </summary>
- <remarks>
- This property affects printing the big table that breaks across pages.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableBase.WrappedGap">
- <summary>
- Gets or sets gap between parts of the table in wrapped layout mode.
- </summary>
- <remarks>
- This property is used if you set the <see cref="P:FastReport.Table.TableBase.Layout"/> property to <b>Wrapped</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableBase.AdjustSpannedCellsWidth">
- <summary>
- Gets or sets a value that determines whether to adjust the spanned cell's width when breaking the table across pages.
- </summary>
- <remarks>
- If set to <b>true</b>, the spanned cell's width will be adjusted to accomodate all contained text.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableBase.Item(System.Int32,System.Int32)">
- <summary>
- Gets or sets the table cell.
- </summary>
- <param name="col">Column index.</param>
- <param name="row">Row index.</param>
- <returns>The <b>TableCell</b> object that represents a cell.</returns>
- </member>
- <member name="P:FastReport.Table.TableBase.ColumnCount">
- <summary>
- Gets or sets a number of columns in the table.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.RowCount">
- <summary>
- Gets or sets a number of rows in the table.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.CanGrow">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.CanShrink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.Hyperlink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.BreakTo">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableBase.ResultTable">
- <summary>
- Gets a table which contains the result of rendering dynamic table.
- </summary>
- <remarks>
- Use this property to access the result of rendering your table in dynamic mode.
- It may be useful if you want to center or right-align the result table on a page.
- In this case, you need to add the following code at the end of your ManualBuild event handler:
- <code>
- // right-align the table
- Table1.ResultTable.Left = Engine.PageWidth - Table1.ResultTable.CalcWidth() - 1;
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableBase.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableBase.Height">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableBase.IsSelected">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Forms.HyperlinkEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.HyperlinkEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.HyperlinkEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.DialogPageOptions.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.DialogPageOptions.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.DialogPageOptions.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BaseReportWizardForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BaseReportWizardForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.BaseReportWizardForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.Odf.ODSExport">
- <summary>
- Open Document Spreadsheet export (Open Office Calc)
- </summary>
- </member>
- <member name="T:FastReport.Export.Odf.ODFExport">
- <summary>
- Base class for any ODF exports
- </summary>
- </member>
- <member name="T:FastReport.Export.ExportBase">
- <summary>
- The base class for all export filters.
- </summary>
- </member>
- <member name="M:FastReport.Export.ExportBase.GetFileFilter">
- <summary>
- Returns a file filter for a save dialog.
- </summary>
- <returns>String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp"</returns>
- </member>
- <member name="M:FastReport.Export.ExportBase.Start">
- <summary>
- This method is called when the export starts.
- </summary>
- </member>
- <member name="M:FastReport.Export.ExportBase.ExportPage(System.Int32)">
- <summary>
- This method is called for each exported page.
- </summary>
- <param name="pageNo">Page number to export.</param>
- <remarks>
- To get a page, use the following code:
- <code>
- ReportPage page = Report.PreparedPages.GetPage(pageNo);
- </code>
- </remarks>
- </member>
- <member name="M:FastReport.Export.ExportBase.Finish">
- <summary>
- This method is called when the export is finished.
- </summary>
- </member>
- <member name="M:FastReport.Export.ExportBase.GetPage(System.Int32)">
- <summary>
- Gets a report page with specified index.
- </summary>
- <param name="index">Zero-based index of page.</param>
- <returns>The prepared report page.</returns>
- </member>
- <member name="M:FastReport.Export.ExportBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.ExportBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.ExportBase.ShowDialog">
- <summary>
- Displays a dialog with export options.
- </summary>
- <returns><b>true</b> if dialog was closed with OK button.</returns>
- </member>
- <member name="M:FastReport.Export.ExportBase.Export(FastReport.Report,System.IO.Stream)">
- <summary>
- Exports the report to a stream.
- </summary>
- <param name="report">Report to export.</param>
- <param name="stream">Stream to export to.</param>
- <remarks>
- This method does not show an export options dialog. If you want to show it, call <see cref="M:FastReport.Export.ExportBase.ShowDialog"/>
- method prior to calling this method, or use the "Export(Report report)" method instead.
- </remarks>
- </member>
- <member name="M:FastReport.Export.ExportBase.Export(FastReport.Report,System.String)">
- <summary>
- Exports the report to a file.
- </summary>
- <param name="report">Report to export.</param>
- <param name="fileName">File name to export to.</param>
- <remarks>
- This method does not show an export options dialog. If you want to show it, call <see cref="M:FastReport.Export.ExportBase.ShowDialog"/>
- method prior to calling this method, or use the "Export(Report report)" method instead.
- </remarks>
- </member>
- <member name="M:FastReport.Export.ExportBase.Export(FastReport.Report)">
- <summary>
- Exports the report to a file.
- </summary>
- <param name="report">Report to export.</param>
- <returns><b>true</b> if report was succesfully exported.</returns>
- <remarks>
- This method displays an export options dialog, then prompts a file name using standard "Open file"
- dialog. If both dialogs were closed by OK button, exports the report and returns <b>true</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Export.ExportBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.ExportBase"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.Zoom">
- <summary>
- Zoom factor for output file
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.FileFilter">
- <summary>
- File filter that can be used in the "Save file" dialog.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.PageRange">
- <summary>
- Range of pages to export.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.PageNumbers">
- <summary>
- Page numbers to export.
- </summary>
- <remarks>
- Use page numbers separated by comma and/or page ranges, for example: "1,3-5,12". Empty string means
- that all pages need to be exported.
- </remarks>
- </member>
- <member name="P:FastReport.Export.ExportBase.CurPage">
- <summary>
- Current page number.
- </summary>
- <remarks>
- Page number need to be exported if user selects "Current page" radiobutton in the export options dialog.
- This property is typically set to current page number in the preview window.
- </remarks>
- </member>
- <member name="P:FastReport.Export.ExportBase.OpenAfterExport">
- <summary>
- Open the document after export.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.AllowOpenAfter">
- <summary>
- Allows or disables the OpenAfterExport feature.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.ShowProgress">
- <summary>
- Gets or sets a value that determines whether to show progress window during export or not.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.GeneratedFiles">
- <summary>
- Gets a list of files generated by this export.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.HasMultipleFiles">
- <summary>
- Gets a value indicating that the export may produce multiple output files.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.Stream">
- <summary>
- Stream to export to.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.FileName">
- <summary>
- File name to export to.
- </summary>
- </member>
- <member name="P:FastReport.Export.ExportBase.Pages">
- <summary>
- Array of page numbers to export.
- </summary>
- </member>
- <member name="M:FastReport.Export.Odf.ODFExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODFExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODFExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODFExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODFExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODFExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Odf.ODFExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Odf.ODFExport.PageBreaks">
- <summary>
- Switch of page breaks
- </summary>
- </member>
- <member name="P:FastReport.Export.Odf.ODFExport.Wysiwyg">
- <summary>
- Wysiwyg mode, set for better results
- </summary>
- </member>
- <member name="P:FastReport.Export.Odf.ODFExport.Creator">
- <summary>
- Creator of the document
- </summary>
- </member>
- <member name="M:FastReport.Export.Odf.ODSExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODSExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Odf.ODSExport"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Export.Odf.ODTExport">
- <summary>
- Open Document Text export (Open Office Writer)
- </summary>
- </member>
- <member name="M:FastReport.Export.Odf.ODTExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Odf.ODTExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Odf.ODTExport"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Data.ConnectionEditors.ConnectionEditorBase">
- <summary>
- The base class for all connection editors. This control is used when you edit
- the connection in the Data Wizard.
- </summary>
- </member>
- <member name="F:FastReport.Data.ConnectionEditors.ConnectionEditorBase.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.ConnectionEditorBase.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.ConnectionEditorBase.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.ConnectionEditorBase.GetConnectionString">
- <summary>
- This method should construct the connection string from values entered by user.
- </summary>
- <returns>The connection string.</returns>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.ConnectionEditorBase.SetConnectionString(System.String)">
- <summary>
- This method should parse the connection string and fill the user interface elements.
- </summary>
- <param name="value">The connection string.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.ConnectionEditorBase.UpdateLayout">
- <summary>
- This method is called when form layout is complete.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.ConnectionEditorBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.ConnectionEditors.ConnectionEditorBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.ConnectionEditors.ConnectionEditorBase.ConnectionString">
- <summary>
- Gets or sets a connection string.
- </summary>
- </member>
- <member name="F:FastReport.Data.ConnectionEditors.OleDbConnectionEditor.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.OleDbConnectionEditor.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.OleDbConnectionEditor.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeUPC_E0">
- <summary>
- Generates the UPC E0 barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeEAN">
- <summary>
- The base class for EAN barcodes.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.LinearBarcodeBase">
- <summary>
- The base class for linear (1D) barcodes.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeBase">
- <summary>
- The base class for all barcodes.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeBase.Clone">
- <summary>
- Creates the exact copy of this barcode.
- </summary>
- <returns>The copy of this barcode.</returns>
- </member>
- <member name="M:FastReport.Barcode.BarcodeBase.Assign(FastReport.Barcode.BarcodeBase)">
- <summary>
- Assigns properties from other, similar barcode.
- </summary>
- <param name="source">Barcode object to assign properties from.</param>
- </member>
- <member name="M:FastReport.Barcode.BarcodeBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeBase.Name">
- <summary>
- Gets the name of barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.LinearBarcodeBase.Assign(FastReport.Barcode.BarcodeBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.LinearBarcodeBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.LinearBarcodeBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.LinearBarcodeBase.CalcCheckSum">
- <summary>
- Gets or sets a value that determines if the barcode object should calculate
- the check digit automatically.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.LinearBarcodeBase.WideBarRatio">
- <summary>
- Gets or sets a relative width of wide bars in the barcode.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.LinearBarcodeBase.IsNumeric">
- <summary>
- Gets the value indicating that the barcode is numeric.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeEAN.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeEAN"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeUPC_E0.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeUPC_E0"/> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeUPC_E1">
- <summary>
- Generates the UPC E1 barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeUPC_A">
- <summary>
- Generates the UPC A barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeSupplement2">
- <summary>
- Generates the 2-digit supplement barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeSupplement2.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeSupplement2"/> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeSupplement5">
- <summary>
- Generates the 5-digit supplement barcode.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.SeriesEditorControl.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.SeriesEditorControl.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.MSChart.SeriesEditorControl.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.MSChartObjectEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.MSChartObjectEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.MSChart.MSChartObjectEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Map.ShapeStyle">
- <summary>
- Represents the style of a shape.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeStyle.Assign(FastReport.Map.ShapeStyle)">
- <summary>
- Copies contents from another similar object.
- </summary>
- <param name="src">The object to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Map.ShapeStyle.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapeStyle"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.BorderColor">
- <summary>
- Gets or sets the border color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.BorderStyle">
- <summary>
- Gets or sets the border style.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.BorderWidth">
- <summary>
- Gets or sets the border width.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.FillColor">
- <summary>
- Gets or sets the fill color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.Font">
- <summary>
- Gets or sets the font.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.TextColor">
- <summary>
- Gets or sets the text color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeStyle.PointSize">
- <summary>
- Gets or sets the point size, in pixels.
- </summary>
- </member>
- <member name="T:FastReport.Map.DistanceScale">
- <summary>
- Represents a distance scale.
- </summary>
- </member>
- <member name="T:FastReport.Map.ScaleBase">
- <summary>
- The base class for scale-type controls such as <see cref="T:FastReport.Map.DistanceScale"/> and <see cref="T:FastReport.Map.ColorScale"/>.
- </summary>
- </member>
- <member name="M:FastReport.Map.ScaleBase.Assign(FastReport.Map.ScaleBase)">
- <summary>
- Copies the contents of another ScaleBase.
- </summary>
- <param name="src">The ScaleBase instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Map.ScaleBase.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Map.ScaleBase)">
- <summary>
- Serializes the scale.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">Scale property name.</param>
- <param name="diff">Another ScaleBase to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Map.ScaleBase.CalcSize">
- <summary>
- Gets the size of the scale, in pixels.
- </summary>
- <returns>The SizeF structure containing the size of the object.</returns>
- </member>
- <member name="M:FastReport.Map.ScaleBase.Draw(FastReport.Utils.FRPaintEventArgs,FastReport.Map.MapObject)">
- <summary>
- Draws the object.
- </summary>
- <param name="e">Draw parameters.</param>
- <param name="parent">Parent map object.</param>
- </member>
- <member name="M:FastReport.Map.ScaleBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ScaleBase"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.Border">
- <summary>
- Gets or sets the border.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.Fill">
- <summary>
- Gets or sets the fill.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.TitleFont">
- <summary>
- Gets or sets the title font.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.TitleColor">
- <summary>
- Gets or sets the title text color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.TitleText">
- <summary>
- Gets or sets the title text.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.Font">
- <summary>
- Gets or sets the font.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.TextColor">
- <summary>
- Gets or sets the text color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.BorderColor">
- <summary>
- Gets or sets the border color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.Dock">
- <summary>
- Gets or sets the location of the scale.
- </summary>
- </member>
- <member name="P:FastReport.Map.ScaleBase.Visible">
- <summary>
- Gets or sets the visibility of a scale.
- </summary>
- </member>
- <member name="M:FastReport.Map.DistanceScale.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.DistanceScale"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Functions.StdFunctions">
- <summary>
- Contains standard functions registered in the "Data" window.
- </summary>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Maximum(System.Int32,System.Int32)">
- <summary>
- Returns the larger of two 32-bit signed integers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is larger.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Maximum(System.Int64,System.Int64)">
- <summary>
- Returns the larger of two 64-bit signed integers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is larger.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Maximum(System.Single,System.Single)">
- <summary>
- Returns the larger of two single-precision floating-point numbers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is larger.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Maximum(System.Double,System.Double)">
- <summary>
- Returns the larger of two double-precision floating-point numbers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is larger.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Maximum(System.Decimal,System.Decimal)">
- <summary>
- Returns the larger of two decimal numbers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is larger.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Minimum(System.Int32,System.Int32)">
- <summary>
- Returns the smaller of two 32-bit signed integers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is smaller.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Minimum(System.Int64,System.Int64)">
- <summary>
- Returns the smaller of two 64-bit signed integers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is smaller.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Minimum(System.Single,System.Single)">
- <summary>
- Returns the smaller of two single-precision floating-point numbers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is smaller.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Minimum(System.Double,System.Double)">
- <summary>
- Returns the smaller of two double-precision floating-point numbers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is smaller.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Minimum(System.Decimal,System.Decimal)">
- <summary>
- Returns the smaller of two decimal numbers.
- </summary>
- <param name="val1">The first of two values to compare.</param>
- <param name="val2">The second of two values to compare.</param>
- <returns>Parameter val1 or val2, whichever is smaller.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Asc(System.Char)">
- <summary>
- Returns an integer value representing the character code corresponding to a character.
- </summary>
- <param name="c">Character to convert.</param>
- <returns>The character code.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Chr(System.Int32)">
- <summary>
- Returns the character associated with the specified character code.
- </summary>
- <param name="i">Character code to convert.</param>
- <returns>The character.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Insert(System.String,System.Int32,System.String)">
- <summary>
- Inserts a specified string at a specified index position in the original string.
- </summary>
- <param name="s">The original string.</param>
- <param name="startIndex">The index position of the insertion.</param>
- <param name="value">The string to insert.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Length(System.String)">
- <summary>
- Gets the number of characters in a string.
- </summary>
- <param name="s">The original string.</param>
- <returns>The number of characters.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.LowerCase(System.String)">
- <summary>
- Converts a specified string to lowercase.
- </summary>
- <param name="s">The string to convert.</param>
- <returns>A string in lowercase.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.PadLeft(System.String,System.Int32)">
- <summary>
- Right-aligns the characters in a string, padding with spaces on the left for a specified total length.
- </summary>
- <param name="s">The original string.</param>
- <param name="totalWidth">The number of characters in the resulting string.</param>
- <returns>Right-aligned string, padded on the left with spaces.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.PadLeft(System.String,System.Int32,System.Char)">
- <summary>
- Right-aligns the characters in a string, padding on the left with a specified character
- for a specified total length.
- </summary>
- <param name="s">The original string.</param>
- <param name="totalWidth">The number of characters in the resulting string.</param>
- <param name="paddingChar">A padding character.</param>
- <returns>Right-aligned string, padded on the left with padding characters.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.PadRight(System.String,System.Int32)">
- <summary>
- Left-aligns the characters in a string, padding with spaces on the right, for a specified total length.
- </summary>
- <param name="s">The original string.</param>
- <param name="totalWidth">The number of characters in the resulting string.</param>
- <returns>Left-aligned string, padded on the right with spaces.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.PadRight(System.String,System.Int32,System.Char)">
- <summary>
- Left-aligns the characters in a string, padding on the right with a specified character,
- for a specified total length.
- </summary>
- <param name="s">The original string.</param>
- <param name="totalWidth">The number of characters in the resulting string.</param>
- <param name="paddingChar">A padding character.</param>
- <returns>Left-aligned string, padded on the right with padding characters.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.TitleCase(System.String)">
- <summary>
- Converts the specified string to titlecase.
- </summary>
- <param name="s">The string to convert.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Remove(System.String,System.Int32)">
- <summary>
- Deletes all the characters from a string beginning at a specified position.
- </summary>
- <param name="s">The original string.</param>
- <param name="startIndex">The position to begin deleting characters.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Remove(System.String,System.Int32,System.Int32)">
- <summary>
- Deletes a specified number of characters from a string beginning at a specified position.
- </summary>
- <param name="s">The original string.</param>
- <param name="startIndex">The position to begin deleting characters.</param>
- <param name="count">The number of characters to delete.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Replace(System.String,System.String,System.String)">
- <summary>
- Replaces all occurrences of a specified string in the original string, with another specified string.
- </summary>
- <param name="s">The original string.</param>
- <param name="oldValue">A string to be replaced.</param>
- <param name="newValue">A string to replace all occurrences of oldValue.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Substring(System.String,System.Int32)">
- <summary>
- Retrieves a substring from the original string, starting at a specified character position.
- </summary>
- <param name="s">The original string.</param>
- <param name="startIndex">The starting character position of a substring.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Substring(System.String,System.Int32,System.Int32)">
- <summary>
- Retrieves a substring from the original string, starting at a specified character position,
- with a specified length.
- </summary>
- <param name="s">The original string.</param>
- <param name="startIndex">The starting character position of a substring.</param>
- <param name="length">The number of characters in the substring.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Trim(System.String)">
- <summary>
- Removes all occurrences of white space characters from the beginning and end of the original string.
- </summary>
- <param name="s">The original string.</param>
- <returns>A new string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.UpperCase(System.String)">
- <summary>
- Converts a specified string to uppercase.
- </summary>
- <param name="s">The string to convert.</param>
- <returns>A string in uppercase.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.AddDays(System.DateTime,System.Double)">
- <summary>
- Adds the specified number of days to the original date.
- </summary>
- <param name="date">The original date.</param>
- <param name="value">A number of whole and fractional days.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.AddHours(System.DateTime,System.Double)">
- <summary>
- Adds the specified number of hours to the original date.
- </summary>
- <param name="date">The original date.</param>
- <param name="value">A number of whole and fractional hours.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.AddMinutes(System.DateTime,System.Double)">
- <summary>
- Adds the specified number of minutes to the original date.
- </summary>
- <param name="date">The original date.</param>
- <param name="value">A number of whole and fractional minutes.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.AddMonths(System.DateTime,System.Int32)">
- <summary>
- Adds the specified number of months to the original date.
- </summary>
- <param name="date">The original date.</param>
- <param name="value">A number of months.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.AddSeconds(System.DateTime,System.Double)">
- <summary>
- Adds the specified number of seconds to the original date.
- </summary>
- <param name="date">The original date.</param>
- <param name="value">A number of whole and fractional seconds.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.AddYears(System.DateTime,System.Int32)">
- <summary>
- Adds the specified number of years to the original date.
- </summary>
- <param name="date">The original date.</param>
- <param name="value">A number of years.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.DateDiff(System.DateTime,System.DateTime)">
- <summary>
- Subtracts the specified date and time from the original date.
- </summary>
- <param name="date1">The original date.</param>
- <param name="date2">The date and time to subtract.</param>
- <returns>A TimeSpan interval between two dates.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.DateSerial(System.Int32,System.Int32,System.Int32)">
- <summary>
- Initializes a new instance of the DateTime.
- </summary>
- <param name="year">The year.</param>
- <param name="month">The month.</param>
- <param name="day">The day.</param>
- <returns>A new DateTime value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Day(System.DateTime)">
- <summary>
- Gets the day of the month.
- </summary>
- <param name="date">The date value.</param>
- <returns>The day component.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.DayOfWeek(System.DateTime)">
- <summary>
- Gets the localized name of the day of the week.
- </summary>
- <param name="date">The date value.</param>
- <returns>The name of the day of the week.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.DayOfYear(System.DateTime)">
- <summary>
- Gets the day of the year.
- </summary>
- <param name="date">The date value.</param>
- <returns>The day of the year.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.DaysInMonth(System.Int32,System.Int32)">
- <summary>
- Returns the number of days in the specified month and year.
- </summary>
- <param name="year">The year.</param>
- <param name="month">The month.</param>
- <returns>The number of days in month for the specified year.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Hour(System.DateTime)">
- <summary>
- Gets the hour component of the date.
- </summary>
- <param name="date">The date.</param>
- <returns>The hour component.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Minute(System.DateTime)">
- <summary>
- Gets the minute component of the date.
- </summary>
- <param name="date">The date.</param>
- <returns>The minute component.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Month(System.DateTime)">
- <summary>
- Gets the month component of the date.
- </summary>
- <param name="date">The date.</param>
- <returns>The month component.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.MonthName(System.Int32)">
- <summary>
- Gets the localized month name.
- </summary>
- <param name="month">The month number.</param>
- <returns>The month name.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Second(System.DateTime)">
- <summary>
- Gets the seconds component of the date.
- </summary>
- <param name="date">The date.</param>
- <returns>The seconds component.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.WeekOfYear(System.DateTime)">
- <summary>
- Gets the week of the year.
- </summary>
- <param name="date">The date value.</param>
- <returns>The week of the year.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Year(System.DateTime)">
- <summary>
- Gets the year component of the date.
- </summary>
- <param name="date">The date.</param>
- <returns>The year component.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Format(System.String,System.Object[])">
- <summary>
- Replaces the format item in a specified String with the text equivalent of the value of a
- corresponding Object instance in a specified array.
- </summary>
- <param name="format">A String containing zero or more format items.</param>
- <param name="args">An Object array containing zero or more objects to format.</param>
- <returns>A copy of format in which the format items have been replaced by the String equivalent of the corresponding instances of Object in args.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatCurrency(System.Object)">
- <summary>
- Returns a string formatted as a currency value.
- </summary>
- <param name="value">The value to format.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatCurrency(System.Object,System.Int32)">
- <summary>
- Returns a string formatted as a currency value with specified number of decimal digits.
- </summary>
- <param name="value">The value to format.</param>
- <param name="decimalDigits">Number of decimal digits.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatDateTime(System.DateTime)">
- <summary>
- Returns a string formatted as a date/time value.
- </summary>
- <param name="value">The value to format.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatDateTime(System.DateTime,System.String)">
- <summary>
- Returns a string formatted as a date/time value.
- </summary>
- <param name="value">The value to format.</param>
- <param name="format">The format specifier, one of the
- "Long Date", "Short Date", "Long Time", "Short Time" values.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatNumber(System.Object)">
- <summary>
- Returns a string formatted as a numeric value.
- </summary>
- <param name="value">The value to format.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatNumber(System.Object,System.Int32)">
- <summary>
- Returns a string formatted as a numeric value with specified number of decimal digits.
- </summary>
- <param name="value">The value to format.</param>
- <param name="decimalDigits">Number of decimal digits.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatPercent(System.Object)">
- <summary>
- Returns a string formatted as a percent value.
- </summary>
- <param name="value">The value to format.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.FormatPercent(System.Object,System.Int32)">
- <summary>
- Returns a string formatted as a percent value with specified number of decimal digits.
- </summary>
- <param name="value">The value to format.</param>
- <param name="decimalDigits">Number of decimal digits.</param>
- <returns>The formatted string.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToRoman(System.Object)">
- <summary>
- Converts a numeric value to Roman string representation.
- </summary>
- <param name="value">Integer value in range 0-3998.</param>
- <returns>The string in Roman form.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWords(System.Object)">
- <summary>
- Converts a currency value to an english (US) string representation of that value.
- </summary>
- <param name="value">The currency value to convert.</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWords(System.Object,System.String)">
- <summary>
- Converts a currency value to an english (US) string representation of that value,
- using the specified currency.
- </summary>
- <param name="value">The currency value to convert.</param>
- <param name="currencyName">The 3-digit ISO name of the currency, for example "EUR".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWords(System.Object,System.String,System.String)">
- <summary>
- Converts a numeric value to an english (US) string representation of that value.
- </summary>
- <param name="value">The numeric value to convert.</param>
- <param name="one">The name in singular form, for example "page".</param>
- <param name="many">The name in plural form, for example "pages".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsEnGb(System.Object)">
- <summary>
- Converts a currency value to an english (GB) string representation of that value.
- </summary>
- <param name="value">The currency value to convert.</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsEnGb(System.Object,System.String)">
- <summary>
- Converts a currency value to an english (GB) string representation of that value,
- using the specified currency.
- </summary>
- <param name="value">The currency value to convert.</param>
- <param name="currencyName">The 3-digit ISO name of the currency, for example "EUR".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsEnGb(System.Object,System.String,System.String)">
- <summary>
- Converts a numeric value to an english (GB) string representation of that value.
- </summary>
- <param name="value">The numeric value to convert.</param>
- <param name="one">The name in singular form, for example "page".</param>
- <param name="many">The name in plural form, for example "pages".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsEs(System.Object)">
- <summary>
- Converts a currency value to a spanish string representation of that value.
- </summary>
- <param name="value">The currency value to convert.</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsEs(System.Object,System.String)">
- <summary>
- Converts a currency value to a spanish string representation of that value,
- using the specified currency.
- </summary>
- <param name="value">The currency value to convert.</param>
- <param name="currencyName">The 3-digit ISO name of the currency, for example "EUR".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsEs(System.Object,System.String,System.String)">
- <summary>
- Converts a numeric value to a spanish string representation of that value.
- </summary>
- <param name="value">The numeric value to convert.</param>
- <param name="one">The name in singular form, for example "page".</param>
- <param name="many">The name in plural form, for example "pages".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsRu(System.Object)">
- <summary>
- Converts a currency value to a russian string representation of that value.
- </summary>
- <param name="value">The currency value to convert.</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsRu(System.Object,System.String)">
- <summary>
- Converts a currency value to a russian string representation of that value,
- using the specified currency.
- </summary>
- <param name="value">The currency value to convert.</param>
- <param name="currencyName">The 3-digit ISO name of the currency, for example "EUR".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.ToWordsRu(System.Object,System.Boolean,System.String,System.String,System.String)">
- <summary>
- Converts a numeric value to a russian string representation of that value.
- </summary>
- <param name="value">The numeric value to convert.</param>
- <param name="male">True if the name is of male gender.</param>
- <param name="one">The name in singular form, for example "褋褌褉邪薪懈褑邪".</param>
- <param name="two">The name in plural form, for example "褋褌褉邪薪懈褑褘".</param>
- <param name="many">The name in plural form, for example "褋褌褉邪薪懈褑".</param>
- <returns>The string representation of the specified value.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Choose(System.Double,System.Object[])">
- <summary>
- Selects and returns a value from a list of arguments.
- </summary>
- <param name="index">A value between 1 and the number of elements passed in the "choice" argument.</param>
- <param name="choice">Object parameter array.</param>
- <returns>One of the values in the "choice" argument.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.IIf(System.Boolean,System.Object,System.Object)">
- <summary>
- Returns one of two objects, depending on the evaluation of an expression.
- </summary>
- <param name="expression">The expression you want to evaluate.</param>
- <param name="truePart">Returned if Expression evaluates to True.</param>
- <param name="falsePart">Returned if Expression evaluates to False.</param>
- <returns>Either truePart os falsePart.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.Switch(System.Object[])">
- <summary>
- Evaluates a list of expressions and returns a value corresponding to the first
- expression in the list that is True.
- </summary>
- <param name="expressions">Parameter array consists of paired expressions and values.</param>
- <returns>The value corresponding to an expression which returns true.</returns>
- </member>
- <member name="M:FastReport.Functions.StdFunctions.IsNull(FastReport.Report,System.String)">
- <summary>
- Checks if the specified object is null.
- </summary>
- <param name="thisReport">The report instance.</param>
- <param name="name">Either a name of DB column, or a parameter name, or a total name to check.</param>
- <returns><b>true</b> if the object's value is null.</returns>
- </member>
- <member name="F:FastReport.Map.Forms.AddLayerForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Map.Forms.AddLayerForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Map.Forms.AddLayerForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Format.FormatCollection">
- <summary>
- Represents a collection of formats used by the <see cref="T:FastReport.TextObject"/> and <see cref="T:FastReport.RichObject"/>
- objects.
- </summary>
- </member>
- <member name="M:FastReport.Format.FormatCollection.AddRange(FastReport.Format.FormatBase[])">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range">Array of elements to add.</param>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Add(FastReport.Format.FormatBase)">
- <summary>
- Adds an object to the end of this collection.
- </summary>
- <param name="value">Object to add.</param>
- <returns>Index of the added object.</returns>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Insert(System.Int32,FastReport.Format.FormatBase)">
- <summary>
- Inserts an object into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The object to insert.</param>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Remove(FastReport.Format.FormatBase)">
- <summary>
- Removes the specified object from the collection.
- </summary>
- <param name="value">Object to remove.</param>
- </member>
- <member name="M:FastReport.Format.FormatCollection.IndexOf(FastReport.Format.FormatBase)">
- <summary>
- Returns the zero-based index of the first occurrence of an object.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Contains(FastReport.Format.FormatBase)">
- <summary>
- Determines whether an element is in the collection.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Assign(FastReport.Format.FormatCollection)">
- <summary>
- Copies formats from another collection.
- </summary>
- <param name="collection">Collection to copy from.</param>
- </member>
- <member name="M:FastReport.Format.FormatCollection.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.FormatCollection.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Format.FormatCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Export.Dbf.DBFExport">
- <summary>
- Represents the export to DBF.
- </summary>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Dbf.DBFExport"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Dbf.DBFExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Export.Dbf.DBFExport.Encoding">
- <summary>
- Gets or sets the encoding.
- </summary>
- </member>
- <member name="P:FastReport.Export.Dbf.DBFExport.DataOnly">
- <summary>
- Gets or sets a value that determines whether to export the databand rows only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Dbf.DBFExport.FieldNames">
- <summary>
- Gets or sets the list of field names.
- </summary>
- <remarks>
- The field names must be separated by ";" symbol, for example: Column1;Column2;Column3
- </remarks>
- </member>
- <member name="T:FastReport.Export.Html.HTMLExportFormat">
- <summary>
- Represents the HTML export format enum
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.HTMLExportFormat.MessageHTML">
- <summary>
- Represents the message-HTML type
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.HTMLExportFormat.HTML">
- <summary>
- Represents the HTML type
- </summary>
- </member>
- <member name="T:FastReport.Export.Html.ImageFormat">
- <summary>
- Specifies the image format in HTML export.
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.ImageFormat.Bmp">
- <summary>
- Specifies the .bmp format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.ImageFormat.Png">
- <summary>
- Specifies the .png format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.ImageFormat.Jpeg">
- <summary>
- Specifies the .jpg format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.ImageFormat.Gif">
- <summary>
- Specifies the .gif format.
- </summary>
- </member>
- <member name="T:FastReport.Export.Html.HtmlSizeUnits">
- <summary>
- Specifies the units of HTML sizes.
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.HtmlSizeUnits.Pixel">
- <summary>
- Specifies the pixel units.
- </summary>
- </member>
- <member name="F:FastReport.Export.Html.HtmlSizeUnits.Percent">
- <summary>
- Specifies the percent units.
- </summary>
- </member>
- <member name="T:FastReport.Export.Html.HTMLExport">
- <summary>
- Represents the HTML export filter.
- </summary>
- <summary>
- Represents the HTML export filter.
- </summary>
- <summary>
- Represents the HTML export filter.
- </summary>
- <summary>
- Represents the HTML export filter.
- </summary>
- <summary>
- Represents the HTML export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.ProcessPage(System.Int32,System.Int32)">
- <summary>
- Process Page with number p and real page ReportPage
- </summary>
- <param name="p"></param>
- <param name="ReportPage"></param>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.Init_WebMode">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="M:FastReport.Export.Html.HTMLExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Html.HTMLExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Layers">
- <summary>
- Enable or disable layers export mode
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.StylePrefix">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.WebImagePrefix">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.WebImageSuffix">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Count">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.PreparedPages">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Print">
- <summary>
- Enable or disable showing of print dialog in browser when html document is opened
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.PageBreaks">
- <summary>
- Enable or disable the breaks between pages in print preview when single page mode is enabled
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Format">
- <summary>
- Specifies the output format
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.WidthUnits">
- <summary>
- Specifies the width units in HTML export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.HeightUnits">
- <summary>
- Specifies the height units in HTML export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Pictures">
- <summary>
- Enable or disable the pictures in HTML export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.WebMode">
- <summary>
- Enable or disable the WEB mode in HTML export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.SinglePage">
- <summary>
- Enable or disable the single HTML page creation
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Navigator">
- <summary>
- Enable or disable the page navigator in html export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.SubFolder">
- <summary>
- Enable or disable the sub-folder for files of export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.Wysiwyg">
- <summary>
- Gets or sets the Wysiwyg quality of export
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.ImageFormat">
- <summary>
- Gets or sets the image format.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.PrintPageData">
- <summary>
- Gets print page data
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.GeneratedStreams">
- <summary>
- Gets list of generated streams
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLExport.SaveStreams">
- <summary>
- Enable or disable saving streams in GeneratedStreams collection
- </summary>
- </member>
- <member name="T:FastReport.Export.Html.HTMLPageData">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="M:FastReport.Export.Html.HTMLPageData.#ctor">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.Width">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.Height">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.CSSText">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.PageText">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.Pictures">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.Guids">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.PageEvent">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HTMLPageData.PageNumber">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="T:FastReport.Design.StandardDesigner.DesignerForm">
- <summary>
- Represents standard designer's form.
- </summary>
- <remarks>
- This form contains the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/>. Use the <see cref="P:FastReport.Design.StandardDesigner.DesignerForm.Designer"/>
- property to get access to this control.
- <para/>Usually you don't need to create an instance of this class. The designer can be called
- using the <see cref="M:FastReport.Report.Design"/> method of
- the <see cref="T:FastReport.Report"/> instance.
- <para/>If you decided to use this class, you need:
- <list type="bullet">
- <item>
- <description>create an instance of this class;</description>
- </item>
- <item>
- <description>set the <b>Designer.Report</b> property to report that you need to design;</description>
- </item>
- <item>
- <description>call either <b>ShowModal</b> or <b>Show</b> methods to display a form.</description>
- </item>
- </list>
- </remarks>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerForm.#ctor">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.Design.StandardDesigner.DesignerForm"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.DesignerForm.Designer">
- <summary>
- Gets a reference to the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/> control which is actually a designer.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.WebBrowserFormBase">
- <summary>
- Represents the base form for cloud storage web browsers.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.WebBrowserFormBase.#ctor">
- <summary>
- Initizlizes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.WebBrowserFormBase"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.WebBrowserFormBase.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.WebBrowserFormBase"/> class.
- </summary>
- <param name="url">The url string.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.WebBrowserFormBase.WebBrowserFormBase_Shown(System.Object,System.EventArgs)">
- <summary>
- Handle the web browser form shown event.
- </summary>
- <param name="sender">The event sender.</param>
- <param name="e">The event args.</param>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.WebBrowserFormBase.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.WebBrowserFormBase.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.WebBrowserFormBase.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.WebBrowserFormBase.wbBrowser">
- <summary>
- The web browser component.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.WebBrowserFormBase.Url">
- <summary>
- Gets or sets the url string.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.GoogleDrive.WebBrowserForm">
- <summary>
- Represents form of the web browser.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.GoogleDrive.WebBrowserForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.WebBrowserForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.WebBrowserForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.WebBrowserForm.#ctor(System.String)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.GoogleDrive.WebBrowserForm.AuthCode">
- <summary>
- Gets obtained authorization code.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm">
- <summary>
- Represents form of Dropbox storage client.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm.#ctor(FastReport.Cloud.StorageClient.Dropbox.AppInfo,FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm"/> class.
- </summary>
- <param name="appInfo">The Dropbox application info.</param>
- <param name="report">The report template.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClientForm.Localize">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient">
- <summary>
- Dropbox cloud storage client.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.DropboxUrlBase">
- <summary>
- The base URL for Dropbox API.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.RequestTokenUrlBase">
- <summary>
- The base URL for request token.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.AccessTokenUrlBase">
- <summary>
- The base URL for access token.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.UserAuthorizationUrlBase">
- <summary>
- The base URL for user authorization.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.FilesPutUrlBase">
- <summary>
- The base URL for files_put command.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.#ctor(FastReport.Cloud.StorageClient.Dropbox.AppInfo,FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient"/> class.
- </summary>
- <param name="appInfo">The Dropbox application info.</param>
- <param name="storageConfig">The Dropbox storage configuration.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.GetAuthorizationUrl">
- <summary>
- Gets the authorization URL.
- </summary>
- <returns>The authorization URL string.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.GetAccessToken">
- <summary>
- Gets the access token.
- </summary>
- <returns>The access token.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.SaveReport(FastReport.Report,FastReport.Export.ExportBase)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.AppInfo">
- <summary>
- Gets or sets the application info.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.StorageConfig">
- <summary>
- Gets or sets the storage configuration.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient.AccessToken">
- <summary>
- Gets or sets the access token.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.OAuth.ServiceContext">
- <summary>
- Represents the service provider.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.OAuth.ServiceContext.#ctor(System.String,System.String,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.OAuth.ServiceContext"/> class with a specified parameters.
- </summary>
- <param name="requestTokenUrl">The request token URL.</param>
- <param name="userAuthorizationUrl">The user authorization URL.</param>
- <param name="callbackUrl">The callback URL.</param>
- <param name="accessTokenUrl">The access token URL.</param>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ServiceContext.RequestTokenUrl">
- <summary>
- Gets the request token URL.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ServiceContext.UserAuthorizationUrl">
- <summary>
- Gets the user authorization URL.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ServiceContext.CallbackUrl">
- <summary>
- Gets the callback URL.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ServiceContext.AccessTokenUrl">
- <summary>
- Gets the access token URL.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.OAuth.Parser">
- <summary>
- Represents parser for parse OAuth responses.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.OAuth.Parser.ParseToken(System.IO.Stream)">
- <summary>
- Parses token information in stream.
- </summary>
- <param name="stream">The stream for parse.</param>
- <returns>The OAuth token.</returns>
- </member>
- <member name="M:FastReport.Cloud.OAuth.Parser.ParseSkyDriveToken(System.IO.Stream)">
- <summary>
- Parses token information in stream for SkyDrive.
- </summary>
- <param name="stream">The stream for parse.</param>
- <returns>The SkyDrive access token.</returns>
- </member>
- <member name="M:FastReport.Cloud.OAuth.Parser.ParseGoogleDriveToken(System.IO.Stream)">
- <summary>
- Parses token information in stream for Google Drive.
- </summary>
- <param name="stream">The stream for parse.</param>
- <returns>The Google Drive access token.</returns>
- </member>
- <member name="T:FastReport.CellularTextObject">
- <summary>
- Represents a text object which draws each symbol of text in its own cell.
- </summary>
- <remarks>
- <para/>The text may be aligned to left or right side, or centered. Use the <see cref="T:FastReport.HorzAlign"/>
- property to do this. The "justify" align is not supported now, as well as vertical alignment.
- <para/>The cell size is defined in the <see cref="P:FastReport.CellularTextObject.CellWidth"/> and <see cref="P:FastReport.CellularTextObject.CellHeight"/> properties.
- These properties are 0 by default, in this case the size of cell is calculated automatically based
- on the object's <b>Font</b>.
- <para/>To define a spacing (gap) between cells, use the <see cref="P:FastReport.CellularTextObject.HorzSpacing"/> and
- <see cref="P:FastReport.CellularTextObject.VertSpacing"/> properties.
- </remarks>
- </member>
- <member name="M:FastReport.CellularTextObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CellularTextObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CellularTextObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CellularTextObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CellularTextObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CellularTextObject.CalcHeight">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CellularTextObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.CellularTextObject"/> class with the default settings.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.CellWidth">
- <summary>
- Gets or sets the width of cell, in pixels.
- </summary>
- <remarks>
- If zero width and/or height specified, the object will calculate the cell size
- automatically based on its font.
- </remarks>
- </member>
- <member name="P:FastReport.CellularTextObject.CellHeight">
- <summary>
- Gets or sets the height of cell, in pixels.
- </summary>
- <remarks>
- If zero width and/or height specified, the object will calculate the cell size
- automatically based on its font.
- </remarks>
- </member>
- <member name="P:FastReport.CellularTextObject.HorzSpacing">
- <summary>
- Gets or sets the horizontal spacing between cells, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.VertSpacing">
- <summary>
- Gets or sets the vertical spacing between cells, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.AutoWidth">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.AutoShrink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.AutoShrinkMinSize">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.Angle">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.Underlines">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.RightToLeft">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.Trimming">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.FontWidthRatio">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.LineHeight">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.FirstTabOffset">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.TabWidth">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.Clip">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.Wysiwyg">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.ForceJustify">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.HtmlTags">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.Padding">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.CanBreak">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.CellularTextObject.BreakTo">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Table.TableColumnCollection">
- <summary>
- Represents a collection of <see cref="T:FastReport.Table.TableColumn"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Table.TableColumnCollection.OnInsert(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumnCollection.OnRemove(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableColumnCollection.Item(System.Int32)">
- <summary>
- Gets a column with specified index.
- </summary>
- <param name="index">Index of a column.</param>
- <returns>The column with specified index.</returns>
- </member>
- <member name="T:FastReport.ReportPage">
- <summary>
- Represents a report page.
- </summary>
- <remarks>
- To get/set a paper size and orientation, use the <see cref="P:FastReport.ReportPage.PaperWidth"/>, <see cref="P:FastReport.ReportPage.PaperHeight"/>
- and <see cref="P:FastReport.ReportPage.Landscape"/> properties. Note that paper size is measured in millimeters.
- <para/>Report page can contain one or several bands with report objects. Use the <see cref="P:FastReport.ReportPage.ReportTitle"/>,
- <see cref="P:FastReport.ReportPage.ReportSummary"/>, <see cref="P:FastReport.ReportPage.PageHeader"/>, <see cref="P:FastReport.ReportPage.PageFooter"/>,
- <see cref="P:FastReport.ReportPage.ColumnHeader"/>, <see cref="P:FastReport.ReportPage.ColumnFooter"/>, <see cref="P:FastReport.ReportPage.Overlay"/> properties
- to get/set the page bands. The <see cref="P:FastReport.ReportPage.Bands"/> property holds the list of data bands or groups.
- Thus you may add several databands to this property to create master-master reports, for example.
- <note type="caution">
- Report page can contain bands only. You cannot place report objects such as <b>TextObject</b> on a page.
- </note>
- </remarks>
- <example>
- This example shows how to create a page with one <b>ReportTitleBand</b> and <b>DataBand</b> bands and add
- it to the report.
- <code>
- ReportPage page = new ReportPage();
- // set the paper in millimeters
- page.PaperWidth = 210;
- page.PaperHeight = 297;
- // create report title
- page.ReportTitle = new ReportTitleBand();
- page.ReportTitle.Name = "ReportTitle1";
- page.ReportTitle.Height = Units.Millimeters * 10;
- // create data band
- DataBand data = new DataBand();
- data.Name = "Data1";
- data.Height = Units.Millimeters * 10;
- // add data band to the page
- page.Bands.Add(data);
- // add page to the report
- report.Pages.Add(page);
- </code>
- </example>
- </member>
- <member name="M:FastReport.ReportPage.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.DrawSelection(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.GetPageDesignerType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.InvokeEditor">
- <summary>
- Invokes the object's editor.
- </summary>
- </member>
- <member name="M:FastReport.ReportPage.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.SetDefaults">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.ExtractMacros">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ReportPage.OnStartPage(System.EventArgs)">
- <summary>
- This method fires the <b>StartPage</b> event and the script code connected to the <b>StartPageEvent</b>.
- </summary>
- </member>
- <member name="M:FastReport.ReportPage.OnFinishPage(System.EventArgs)">
- <summary>
- This method fires the <b>FinishPage</b> event and the script code connected to the <b>FinishPageEvent</b>.
- </summary>
- </member>
- <member name="M:FastReport.ReportPage.OnManualBuild(System.EventArgs)">
- <summary>
- This method fires the <b>ManualBuild</b> event and the script code connected to the <b>ManualBuildEvent</b>.
- </summary>
- </member>
- <member name="M:FastReport.ReportPage.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ReportPage"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.ReportPage.StartPage">
- <summary>
- This event occurs when the report engine starts this page.
- </summary>
- </member>
- <member name="E:FastReport.ReportPage.FinishPage">
- <summary>
- This event occurs when the report engine finished this page.
- </summary>
- </member>
- <member name="E:FastReport.ReportPage.ManualBuild">
- <summary>
- This event occurs when the report engine is about to print databands in this page.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.PaperWidth">
- <summary>
- Gets or sets a width of the paper, in millimeters.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.PaperHeight">
- <summary>
- Gets or sets a height of the paper, in millimeters.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.RawPaperSize">
- <summary>
- Gets or sets the raw index of a paper size.
- </summary>
- <remarks>
- This property stores the RawKind value of a selected papersize. It is used to distiguish
- between several papers with the same size (for ex. "A3" and "A3 with no margins") used in some
- printer drivers.
- <para/>It is not obligatory to set this property. FastReport will select the
- necessary paper using the <b>PaperWidth</b> and <b>PaperHeight</b> values.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.Landscape">
- <summary>
- Gets or sets a value indicating that page should be in landscape orientation.
- </summary>
- <remarks>
- When you change this property, it will automatically swap paper width and height, as well as paper margins.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.LeftMargin">
- <summary>
- Gets or sets the left page margin, in millimeters.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.TopMargin">
- <summary>
- Gets or sets the top page margin, in millimeters.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.RightMargin">
- <summary>
- Gets or sets the right page margin, in millimeters.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.BottomMargin">
- <summary>
- Gets or sets the bottom page margin, in millimeters.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.FirstPageSource">
- <summary>
- Gets or sets the paper source for the first printed page.
- </summary>
- <remarks>
- <para>
- This property represents the paper source (printer tray) that will be used when printing
- the first page. To set the source for other pages, use the <see cref="P:FastReport.ReportPage.OtherPagesSource"/> property.
- </para>
- <para>
- Note: This property uses the <b>raw</b> number of the paper source.
- </para>
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.OtherPagesSource">
- <summary>
- Gets or sets the paper source for all printed pages except the first one.
- </summary>
- <remarks>
- <para>
- This property represents the paper source (printer tray) that will be used when printing
- all pages except the first one. To set source for the first page, use
- the <see cref="P:FastReport.ReportPage.FirstPageSource"/> property.
- </para>
- <para>
- Note: This property uses the <b>raw</b> number of the paper source.
- </para>
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.Duplex">
- <summary>
- Gets or sets the printer duplex mode that will be used when printing this page.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.MirrorMargins">
- <summary>
- Gets or sets a value indicating that even pages should swap its left and right margins when
- previewed or printed.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Columns">
- <summary>
- Gets the page columns settings.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Border">
- <summary>
- Gets or sets the page border that will be printed inside the page printing area.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Fill">
- <summary>
- Gets or sets the page background fill.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Watermark">
- <summary>
- Gets or sets the page watermark.
- </summary>
- <remarks>
- To enabled watermark, set its <b>Enabled</b> property to <b>true</b>.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.TitleBeforeHeader">
- <summary>
- Gets or sets a value indicating that <b>ReportTitle</b> band should be printed before the
- <b>PageHeader</b> band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.OutlineExpression">
- <summary>
- Gets or sets an outline expression.
- </summary>
- <remarks>
- For more information, see <see cref="P:FastReport.BandBase.OutlineExpression"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.PrintOnPreviousPage">
- <summary>
- Gets or sets a value indicating whether to start to print this page on a free space of the previous page.
- </summary>
- <remarks>
- This property can be used if you have two or more pages in the report template.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.ResetPageNumber">
- <summary>
- Gets or sets a value indicating that FastReport engine must reset page numbers before printing this page.
- </summary>
- <remarks>
- This property can be used if you have two or more pages in the report template.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.ExtraDesignWidth">
- <summary>
- Gets or sets a value indicating whether the page has extra width in the report designer.
- </summary>
- <remarks>
- This property may be useful if you work with such objects as Matrix and Table.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.StartOnOddPage">
- <summary>
- Gets or sets a value indicating whether this page will start on an odd page only.
- </summary>
- <remarks>
- This property is useful to print booklet-type reports. Setting this property to <b>true</b>
- means that this page will start to print on an odd page only. If necessary, an empty page
- will be added to the prepared report before this page will be printed.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.BackPage">
- <summary>
- Uses this page as a back page for previously printed pages.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.ReportTitle">
- <summary>
- Gets or sets a report title band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.ReportSummary">
- <summary>
- Gets or sets a report summary band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.PageHeader">
- <summary>
- Gets or sets a page header band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.PageFooter">
- <summary>
- Gets or sets a page footer band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.ColumnHeader">
- <summary>
- Gets or sets a column header band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.ColumnFooter">
- <summary>
- Gets or sets a column footer band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Overlay">
- <summary>
- Gets or sets an overlay band.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Bands">
- <summary>
- Gets the collection of data bands or group header bands.
- </summary>
- <remarks>
- The <b>Bands</b> property holds the list of data bands or group headers.
- Thus you may add several databands to this property to create master-master reports, for example.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.Guides">
- <summary>
- Gets or sets the page guidelines.
- </summary>
- <remarks>
- This property hold all vertical guidelines. The horizontal guidelines are owned by the bands (see
- <see cref="P:FastReport.BandBase.Guides"/> property).
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.Subreport">
- <summary>
- Gets or sets the reference to a parent <b>SubreportObject</b> that owns this page.
- </summary>
- <remarks>
- This property is <b>null</b> for regular report pages. See the <see cref="T:FastReport.SubreportObject"/> for details.
- </remarks>
- </member>
- <member name="P:FastReport.ReportPage.StartPageEvent">
- <summary>
- Gets or sets a script event name that will be fired when the report engine starts this page.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.FinishPageEvent">
- <summary>
- Gets or sets a script event name that will be fired when the report engine finished this page.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.ManualBuildEvent">
- <summary>
- Gets or sets a script event name that will be fired when the report engine is about
- to print databands in this page.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Left">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Top">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Width">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.Height">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.ReportPage.SnapSize">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ReportPage.IsImperialUnitsUsed">
- <summary>
- Gets a value indicating that imperial units (inches, hundreths of inches) are used.
- </summary>
- </member>
- <member name="T:FastReport.ReportComponentCollection">
- <summary>
- Holds the list of objects of <see cref="T:FastReport.ReportComponentBase"/> type.
- </summary>
- </member>
- <member name="M:FastReport.ReportComponentCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ReportComponentCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.ReportComponentCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ReportComponentCollection"/> class with specified owner.
- </summary>
- </member>
- <member name="P:FastReport.ReportComponentCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="F:FastReport.Forms.ReportOptionsForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ReportOptionsForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ReportOptionsForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.NumericUpDownControl">
- <summary>
- Represents a Windows spin box (also known as an up-down control) that displays numeric values.
- Wraps the <see cref="T:System.Windows.Forms.NumericUpDown"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.OnLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.OnValueChanged(System.EventArgs)">
- <summary>
- This method fires the <b>ValueChanged</b> event and the script code connected to the <b>ValueChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.NumericUpDownControl.#ctor">
- <summary>
- Initializes a new instance of the <b>NumericUpDownControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.NumericUpDownControl.ValueChanged">
- <summary>
- Occurs when the Value property has been changed in some way.
- Wraps the <see cref="E:System.Windows.Forms.NumericUpDown.ValueChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.NumericUpDown">
- <summary>
- Gets an internal <b>NumericUpDown</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.DecimalPlaces">
- <summary>
- Gets or sets the number of decimal places to display in the up-down control.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.DecimalPlaces"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.Hexadecimal">
- <summary>
- Gets or sets a value indicating whether the up-down control should display the value it contains in hexadecimal format.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.Hexadecimal"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.Increment">
- <summary>
- Gets or sets the value to increment or decrement the up-down control when the up or down buttons are clicked.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.Increment"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.Maximum">
- <summary>
- Gets or sets the maximum value for the up-down control.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.Maximum"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.Minimum">
- <summary>
- Gets or sets the minimum value for the up-down control.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.Minimum"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.ThousandsSeparator">
- <summary>
- Gets or sets a value indicating whether a thousands separator is displayed in the up-down control when appropriate.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.ThousandsSeparator"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.Value">
- <summary>
- Gets or sets the value assigned to the up-down control.
- Wraps the <see cref="P:System.Windows.Forms.NumericUpDown.Value"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.ValueChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.NumericUpDownControl.ValueChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.NumericUpDownControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.CapStyle">
- <summary>
- Specifies a line cap style.
- </summary>
- </member>
- <member name="F:FastReport.CapStyle.None">
- <summary>
- Specifies a line without a cap.
- </summary>
- </member>
- <member name="F:FastReport.CapStyle.Circle">
- <summary>
- Specifies a line with a circle cap.
- </summary>
- </member>
- <member name="F:FastReport.CapStyle.Square">
- <summary>
- Specifies a line with a square cap.
- </summary>
- </member>
- <member name="F:FastReport.CapStyle.Diamond">
- <summary>
- Specifies a line with a diamond cap.
- </summary>
- </member>
- <member name="F:FastReport.CapStyle.Arrow">
- <summary>
- Specifies a line with an arrow cap.
- </summary>
- </member>
- <member name="T:FastReport.CapSettings">
- <summary>
- Specifies a start and end line caps.
- </summary>
- </member>
- <member name="M:FastReport.CapSettings.Assign(FastReport.CapSettings)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="M:FastReport.CapSettings.Clone">
- <summary>
- Creates exact copy of this object.
- </summary>
- <returns>Copy of this object.</returns>
- </member>
- <member name="M:FastReport.CapSettings.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CapSettings.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CapSettings.Serialize(System.String,FastReport.Utils.FRWriter,FastReport.CapSettings)">
- <summary>
- Serializes the cap settings.
- </summary>
- <param name="prefix">Name of the cap property.</param>
- <param name="writer">Writer object.</param>
- <param name="diff">Another cap to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.CapSettings.#ctor">
- <summary>
- Initializes a new instance of the <b>CapSettings</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.CapSettings.Width">
- <summary>
- Gets or sets a width of the cap.
- </summary>
- </member>
- <member name="P:FastReport.CapSettings.Height">
- <summary>
- Gets or sets a height of the cap.
- </summary>
- </member>
- <member name="P:FastReport.CapSettings.Style">
- <summary>
- Gets or sets a cap style.
- </summary>
- </member>
- <member name="T:FastReport.TypeEditors.DataTypeEditor">
- <summary>
- Provides a user interface for choosing a data type.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.DataTypeEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.DataTypeEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TypeConverters.DataTypeConverter">
- <summary>
- Provides a type converter for a property representing a data type.
- </summary>
- </member>
- <member name="M:FastReport.TypeConverters.DataTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.DataTypeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.DataTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.DataTypeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Forms.GroupBandEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.GroupBandEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.GroupBandEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Engine.ReportEngine">
- <summary>
- Represents the report engine.
- </summary>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.StartKeep">
- <summary>
- Starts the keep mechanism.
- </summary>
- <remarks>
- Use this method along with the <see cref="M:FastReport.Engine.ReportEngine.EndKeep"/> method if you want to keep
- several bands together. Call <b>StartKeep</b> method before printing the first band
- you want to keep, then call the <b>EndKeep</b> method after printing the last band you want to keep.
- </remarks>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.EndKeep">
- <summary>
- Ends the keep mechanism.
- </summary>
- <remarks>
- Use this method along with the <see cref="M:FastReport.Engine.ReportEngine.StartKeep"/> method if you want to keep
- several bands together. Call <b>StartKeep</b> method before printing the first band
- you want to keep, then call the <b>EndKeep</b> method after printing the last band you want to keep.
- </remarks>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.ResetLogicalPageNumber">
- <summary>
- Resets the logical page numbers.
- </summary>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.ShowBand(FastReport.BandBase)">
- <summary>
- Shows band at the current position.
- </summary>
- <param name="band">Band to show.</param>
- <remarks>
- After the band is shown, the current position is advanced by the band's height.
- </remarks>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.AddOutline(System.String)">
- <summary>
- Creates a new outline element with specified text.
- </summary>
- <param name="text">Text of element.</param>
- <remarks>
- After you call this method, the element will be added to the current position in the outline.
- The next call to <b>AddOutline</b> will add new element as a child of this element.
- To shift the position, use the <see cref="M:FastReport.Engine.ReportEngine.OutlineRoot"/> or
- <see cref="M:FastReport.Engine.ReportEngine.OutlineUp">OutlineUp</see> methods.
- </remarks>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.OutlineRoot">
- <summary>
- Sets the current outline position to root.
- </summary>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.OutlineUp">
- <summary>
- Shifts the current outline position one level up.
- </summary>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.AddBookmark(System.String)">
- <summary>
- Creates a new bookmark with specified name at current position.
- </summary>
- <param name="name"></param>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.GetBookmarkPage(System.String)">
- <summary>
- Gets a page number for the specified bookmark name.
- </summary>
- <param name="name">Name of bookmark.</param>
- <returns>Page number if bookmark with such name found; 0 otherwise.</returns>
- <remarks>
- Use this method to print the table of contents in your report. Normally it can be done
- using bookmarks.
- <note type="caution">
- You must set your report to double pass to use this method.
- </note>
- </remarks>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.StartNewPage">
- <summary>
- Starts a new page.
- </summary>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.StartNewColumn">
- <summary>
- Starts a new column.
- </summary>
- </member>
- <member name="M:FastReport.Engine.ReportEngine.ProcessObject(FastReport.TextObjectBase)">
- <summary>
- Processes the specified text object which <b>ProcessAt</b> property is set to <b>Custom</b>.
- </summary>
- <param name="obj">The text object to process.</param>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.CurX">
- <summary>
- Gets or sets the current X offset.
- </summary>
- <remarks>
- This property specifies the X offset where the current band will be printed.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.CurY">
- <summary>
- Gets or sets the current Y offset.
- </summary>
- <remarks>
- This property specifies the Y offset where the current band will be printed.
- After the band is printed, this value is incremented by the band's height.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.CurColumn">
- <summary>
- Gets the index of currently printing column in the multi-column report.
- </summary>
- <remarks>
- This value is 0-based.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.CurPage">
- <summary>
- Gets or sets index of current prepared page the current band will print on.
- </summary>
- <remarks>
- Note: the page with specified index must exists. This property is used to print side-by-side
- subreports and Table object. Usually you don't need to use it.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.PageWidth">
- <summary>
- Gets the current page width, in pixels.
- </summary>
- <remarks>
- This property returns a paper width minus left and right margins.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.PageHeight">
- <summary>
- Gets the current page height, in pixels.
- </summary>
- <remarks>
- This property returns a paper height minus top and bottom margins.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.PageFooterHeight">
- <summary>
- Gets the height of page footer (including all its child bands), in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.ColumnFooterHeight">
- <summary>
- Gets the height of column footer (including all its child bands), in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.FreeSpace">
- <summary>
- Gets the free space on the current page, in pixels.
- </summary>
- <remarks>
- This property returns the page height minus footers height minus <b>CurY</b> value.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.PageNo">
- <summary>
- Gets the current prepared page number.
- </summary>
- <remarks>
- This value is 1-based. The initial value (usually 1) is set in the Report.InitialPageNumber property.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.TotalPages">
- <summary>
- Gets the number of total pages in a prepared report.
- </summary>
- <remarks>
- To use this property, your report must be two-pass. Set the <see cref="P:FastReport.Report.DoublePass"/>
- property to <b>true</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.PageN">
- <summary>
- Gets the string that represents the current page number.
- </summary>
- <remarks>
- This property returns a locale-based value, for example: "Page 1".
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.PageNofM">
- <summary>
- Gets the string that represents the "Page N of M" number.
- </summary>
- <remarks>
- This property returns a locale-based value, for example: "Page 1 of 10".
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.RowNo">
- <summary>
- Gets the current row number of currently printing band.
- </summary>
- <remarks>
- This value is 1-based. It resets to 1 on each new group.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.AbsRowNo">
- <summary>
- Gets the running current row number of currently printing band.
- </summary>
- <remarks>
- This value is 1-based.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.Date">
- <summary>
- Gets the date of report start.
- </summary>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.FinalPass">
- <summary>
- Gets a value indicating whether the report is executing the final pass.
- </summary>
- <remarks>
- This property is <b>true</b> if report is one-pass, or if report is two-pass and
- the second pass is executing.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.FirstPass">
- <summary>
- Gets a value indicating whether the report is executing the first pass.
- </summary>
- <remarks>
- This property is <b>true</b> if report is one-pass, or if report is two-pass and
- the first pass is executing.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.HierarchyLevel">
- <summary>
- Gets a level of hierarchy when printing hierarchical bands.
- </summary>
- <remarks>
- The first level of hierarchy has 0 index.
- </remarks>
- </member>
- <member name="P:FastReport.Engine.ReportEngine.HierarchyRowNo">
- <summary>
- Gets the row number like "1.2.1" when printing hierarchical bands.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.GridControlColumnCollection">
- <summary>
- Represents the collection of <b>GridControl</b> columns.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumnCollection.OnInsert(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumnCollection.OnRemove(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumnCollection.Serialize(FastReport.Utils.FRWriter)">
- <summary>
- Serializes the collection.
- </summary>
- <param name="writer">Writer object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumnCollection.Deserialize(FastReport.Utils.FRReader)">
- <summary>
- Deserializes the collection.
- </summary>
- <param name="reader">Reader object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumnCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Dialog.GridControlColumnCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumnCollection.#ctor(FastReport.Dialog.GridControl)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Dialog.GridControlColumnCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumnCollection.Item(System.Int32)">
- <summary>
- Gets or sets a column.
- </summary>
- <param name="index">The index of a column in this collection.</param>
- <returns>The column with specified index.</returns>
- </member>
- <member name="T:FastReport.BreakableComponentMenu">
- <summary>
- This class represents the context menu of the <see cref="T:FastReport.BreakableComponent"/>.
- </summary>
- <remarks>
- This class adds the "Can Break" menu item to the component context menu.
- </remarks>
- </member>
- <member name="F:FastReport.BreakableComponentMenu.miCanBreak">
- <summary>
- The "Can Break" menu item.
- </summary>
- </member>
- <member name="M:FastReport.BreakableComponentMenu.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <b>BreakableComponentMenu</b> class with default settings.
- </summary>
- </member>
- <member name="F:FastReport.FastQueryBuilder.TableView.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.FastQueryBuilder.TableView.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.FastQueryBuilder.TableView.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixHeader">
- <summary>
- Represents a collection of matrix header descriptors used in the <see cref="T:FastReport.Matrix.MatrixObject"/>.
- </summary>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.AddRange(FastReport.Matrix.MatrixHeaderDescriptor[])">
- <summary>
- Adds the specified descriptors to the end of this collection.
- </summary>
- <param name="range">Array of descriptors to add.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.Add(FastReport.Matrix.MatrixHeaderDescriptor)">
- <summary>
- Adds a descriptor to the end of this collection.
- </summary>
- <param name="value">Descriptor to add.</param>
- <returns>Index of the added descriptor.</returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.Insert(System.Int32,FastReport.Matrix.MatrixHeaderDescriptor)">
- <summary>
- Inserts a descriptor into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The descriptor to insert.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.Remove(FastReport.Matrix.MatrixHeaderDescriptor)">
- <summary>
- Removes the specified descriptor from the collection.
- </summary>
- <param name="value">Descriptor to remove.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.IndexOf(FastReport.Matrix.MatrixHeaderDescriptor)">
- <summary>
- Returns the zero-based index of the first occurrence of a descriptor.
- </summary>
- <param name="value">The descriptor to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of descriptor within
- the entire collection, if found; otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.Contains(FastReport.Matrix.MatrixHeaderDescriptor)">
- <summary>
- Determines whether a descriptor is in the collection.
- </summary>
- <param name="value">The descriptor to locate in the collection.</param>
- <returns><b>true</b> if descriptor is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.ToArray">
- <summary>
- Copies the elements of this collection to a new array.
- </summary>
- <returns>An array containing copies of this collection elements. </returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeader.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeader.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="F:FastReport.Forms.SearchReplaceForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.SearchReplaceForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.SearchReplaceForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Forms.AdvancedConnectionPropertiesForm">
- <summary>
- The "Advanced Connection Properties" form.
- </summary>
- </member>
- <member name="M:FastReport.Forms.AdvancedConnectionPropertiesForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Forms.AdvancedConnectionPropertiesForm"/> class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.AdvancedConnectionPropertiesForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.AdvancedConnectionPropertiesForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.AdvancedConnectionPropertiesForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="P:FastReport.Forms.AdvancedConnectionPropertiesForm.AdvancedProperties">
- <summary>
- Gets or sets the connection string builder which contains the connection properties.
- </summary>
- </member>
- <member name="F:FastReport.Forms.XMLExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.XMLExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.XMLExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.MHTExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.MHTExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.MHTExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.ViewDataSource">
- <summary>
- Represents a datasource based on <b>DataView</b> class.
- </summary>
- <remarks>
- This class is used to support FastReport.Net infrastructure, do not use it directly.
- If you want to use data from <b>DataView</b> object, call the
- <see cref="M:FastReport.Report.RegisterData(System.Data.DataView,System.String)"/> method of the <b>Report</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Data.ViewDataSource.GetValue(FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.ViewDataSource.InitSchema">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.ViewDataSource.LoadData(System.Collections.ArrayList)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Data.ViewDataSource.View">
- <summary>
- Gets the underlying <b>DataView</b> object.
- </summary>
- </member>
- <member name="T:FastReport.Data.BOConverterFlags">
- <summary>
- <b>Obsolete</b>. Specifies a set of flags used to convert business objects into datasources.
- </summary>
- </member>
- <member name="F:FastReport.Data.BOConverterFlags.None">
- <summary>
- Specifies no actions.
- </summary>
- </member>
- <member name="F:FastReport.Data.BOConverterFlags.AllowFields">
- <summary>
- Allows using the fields of a business object.
- </summary>
- </member>
- <member name="F:FastReport.Data.BOConverterFlags.BrowsableOnly">
- <summary>
- Allows using properties of a business object with <b>BrowsableAttribute</b> only.
- </summary>
- </member>
- <member name="T:FastReport.Data.PropertyKind">
- <summary>
- Specifies a kind of property.
- </summary>
- </member>
- <member name="F:FastReport.Data.PropertyKind.Simple">
- <summary>
- Specifies the property of a simple type (such as integer).
- </summary>
- </member>
- <member name="F:FastReport.Data.PropertyKind.Complex">
- <summary>
- Specifies the complex property such as class with own properties.
- </summary>
- </member>
- <member name="F:FastReport.Data.PropertyKind.Enumerable">
- <summary>
- Specifies the property which is a list of objects (is of IEnumerable type).
- </summary>
- </member>
- <member name="T:FastReport.Map.ShapeSpatialData">
- <summary>
- Represents the spatial data of a shape.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeSpatialData.Assign(FastReport.Map.ShapeSpatialData)">
- <summary>
- Copies contents from another spatial data object.
- </summary>
- <param name="src">The object to copy contents from.</param>
- </member>
- <member name="M:FastReport.Map.ShapeSpatialData.IsEqual(FastReport.Map.ShapeSpatialData)">
- <summary>
- Compares two spatial data objects.
- </summary>
- <param name="src">The spatial object to compare with.</param>
- <returns><b>true</b> if spatial objects are identical.</returns>
- </member>
- <member name="M:FastReport.Map.ShapeSpatialData.GetValue(System.String)">
- <summary>
- Gets a value by its key.
- </summary>
- <param name="key">The key of value.</param>
- <returns>The value.</returns>
- </member>
- <member name="M:FastReport.Map.ShapeSpatialData.SetValue(System.String,System.String)">
- <summary>
- Sets a value by its key.
- </summary>
- <param name="key">The key of value.</param>
- <param name="value">The value.</param>
- </member>
- <member name="M:FastReport.Map.ShapeSpatialData.GetKeys">
- <summary>
- Gets a list of keys.
- </summary>
- <returns>The list of keys.</returns>
- </member>
- <member name="M:FastReport.Map.ShapeSpatialData.#ctor">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.Map.ShapeSpatialData"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Map.PointD">
- <summary>
- Represents a pair of double coordinates that defines a constituent point.
- </summary>
- </member>
- <member name="M:FastReport.Map.PointD.#ctor(System.Double,System.Double)">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.Map.PointD"/> class with specified coordinates.
- </summary>
- <param name="x">X coordinate.</param>
- <param name="y">Y coordinate.</param>
- </member>
- <member name="P:FastReport.Map.PointD.X">
- <summary>
- Gets or sets the X-coordinate of a point.
- </summary>
- </member>
- <member name="P:FastReport.Map.PointD.Y">
- <summary>
- Gets or sets the Y-coordinate of a point.
- </summary>
- </member>
- <member name="F:FastReport.Map.Forms.LayerEditorControl.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Map.Forms.LayerEditorControl.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Map.Forms.LayerEditorControl.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.Pdf.PDFExport">
- <summary>
- PDF export (Adobe Acrobat)
- </summary>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Pdf.PDFExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.JpegQuality">
- <summary>
- Sets the quality of images in the PDF
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.RichTextQuality">
- <summary>
- Sets the quality of RichText objects in the PDF
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.PdfA">
- <summary>
- Enable or disable the PDF/A compatibility.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Compressed">
- <summary>
- Enable or disable the compression in PDF document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.EmbeddingFonts">
- <summary>
- Enable or disable of embedding the TrueType fonts.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Background">
- <summary>
- Enable or disable of exporting the background.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.PrintOptimized">
- <summary>
- Enable or disable of optimization the images for printing.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Title">
- <summary>
- Title of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Author">
- <summary>
- Author of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Subject">
- <summary>
- Subject of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Keywords">
- <summary>
- Keywords of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Creator">
- <summary>
- Creator of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Producer">
- <summary>
- Producer of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.Outline">
- <summary>
- Enable or disable of document's Outline.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.DisplayDocTitle">
- <summary>
- Enable or disable of displaying document's title.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.HideToolbar">
- <summary>
- Enable or disable hide the toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.HideMenubar">
- <summary>
- Enable or disable hide the menu's bar.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.HideWindowUI">
- <summary>
- Enable or disable hide the Windows UI.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.FitWindow">
- <summary>
- Enable or disable of fitting the window
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.CenterWindow">
- <summary>
- Enable or disable of centering the window.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.PrintScaling">
- <summary>
- Enable or disable of scaling the page for shrink to printable area.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.UserPassword">
- <summary>
- Sets the user password.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.OwnerPassword">
- <summary>
- Sets the owner password.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.AllowPrint">
- <summary>
- Enable or disable printing in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.AllowModify">
- <summary>
- Enable or disable modifying in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.AllowCopy">
- <summary>
- Enable or disable copying in protected document.
- </summary>
- </member>
- <member name="P:FastReport.Export.Pdf.PDFExport.AllowAnnotate">
- <summary>
- Enable or disable annotating in protected document.
- </summary>
- </member>
- <member name="M:FastReport.Export.Pdf.PDFExport.PDFImageObject.#ctor(System.IO.Stream,System.Int32,System.Int32)">
- <summary>
- Constructor of PDFImageObject
- </summary>
- <param name="stream"></param>
- <param name="width"></param>
- <param name="height"></param>
- </member>
- <member name="T:FastReport.Export.OoXML.XPS_Picture">
- <summary>
- Picture container
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.XPS_FontList">
- <summary>
- List of all document fonts
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.XPS_PageContent">
- <summary>
- Single page export
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.XPS_FixedDocument">
- <summary>
- Document structure descriptor
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.XPSExport">
- <summary>
- Main class of XML export
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OOExportBase">
- <summary>
- Base class for Microsoft Office 2007 export objects
- </summary>
- </member>
- <member name="F:FastReport.Export.OoXML.OOExportBase.xml_header">
- <summary>
- Default XML header
- </summary>
- </member>
- <member name="F:FastReport.Export.OoXML.OOExportBase.FTempFolder">
- <summary>
- Temporary folder for export files
- </summary>
- </member>
- <member name="F:FastReport.Export.OoXML.XPSExport.PicturesCount">
- <summary>
- PicturesCount
- </summary>
- </member>
- <member name="F:FastReport.Export.OoXML.XPSExport.HumanReadable">
- <summary>
- HumanReadable
- </summary>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.#ctor">
- <summary>
- Constructor of XPSExport
- </summary>
- </member>
- <member name="M:FastReport.Export.OoXML.XPSExport.Dispose">
- <summary>
- Destructor of XPSExport
- </summary>
- </member>
- <member name="F:FastReport.Export.Email.EmailExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Export.Email.EmailExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Export.Email.EmailExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.CrossBandShape">
- <summary>
- Specifies the shape of the <b>CrossBandObject</b>.
- </summary>
- </member>
- <member name="F:FastReport.CrossBandShape.Line">
- <summary>
- Specifies the vertical line shape.
- </summary>
- </member>
- <member name="F:FastReport.CrossBandShape.Rectangle">
- <summary>
- Specifies the rectangle shape.
- </summary>
- </member>
- <member name="T:FastReport.CrossBandObject">
- <summary>
- Represents an object that can be printed across several bands.
- </summary>
- </member>
- <member name="M:FastReport.CrossBandObject.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.PointInObject(System.Drawing.PointF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.CheckParent(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CrossBandObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.CrossBandObject"/> class with the default settings.
- </summary>
- </member>
- <member name="P:FastReport.CrossBandObject.Shape">
- <summary>
- Gets or sets the object's shape.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm">
- <summary>
- Represents form of SkyDrive storage client.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm.#ctor(FastReport.Cloud.StorageClient.SkyDrive.ClientInfo,FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm"/> class.
- </summary>
- <param name="clientInfo">The SkyDrive client info.</param>
- <param name="report">The report template.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm.Localize">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClientForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm">
- <summary>
- Represents the Client Info diabolg form.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.Localize">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.Id">
- <summary>
- Gets the client ID.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.GoogleDrive.ClientInfoForm.Secret">
- <summary>
- Gets the client secret.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.WebBrowserForm">
- <summary>
- Represents form of the web browser.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.WebBrowserForm.#ctor(System.String)">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.WebBrowserForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.WebBrowserForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.WebBrowserForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Wizards.NewPageWizard">
- <summary>
- Represents the "New Page" wizard.
- </summary>
- </member>
- <member name="M:FastReport.Wizards.NewPageWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Utils.PageUnits">
- <summary>
- The report page units.
- </summary>
- </member>
- <member name="F:FastReport.Utils.PageUnits.Millimeters">
- <summary>
- Specifies the units measured in millimeters.
- </summary>
- </member>
- <member name="F:FastReport.Utils.PageUnits.Centimeters">
- <summary>
- Specifies the units measured in centimeters.
- </summary>
- </member>
- <member name="F:FastReport.Utils.PageUnits.Inches">
- <summary>
- Specifies the units measured in inches.
- </summary>
- </member>
- <member name="F:FastReport.Utils.PageUnits.HundrethsOfInch">
- <summary>
- Specifies the units measured in hundreths of inch.
- </summary>
- </member>
- <member name="T:FastReport.Utils.Units">
- <summary>
- Defines the constants used to convert between report units and screen pixels.
- </summary>
- <remarks>
- To convert pixels to millimeters, use the following code:
- <code>valueInMillimeters = valueInPixels / Units.Millimeters;</code>
- To convert millimeters to pixels, use the following code:
- <code>valueInPixels = valueInMillimeters * Units.Millimeters;</code>
- </remarks>
- </member>
- <member name="F:FastReport.Utils.Units.Millimeters">
- <summary>
- The number of pixels in one millimeter.
- </summary>
- </member>
- <member name="F:FastReport.Utils.Units.Centimeters">
- <summary>
- The number of pixels in one centimeter.
- </summary>
- </member>
- <member name="F:FastReport.Utils.Units.Inches">
- <summary>
- The number of pixels in one inch.
- </summary>
- </member>
- <member name="F:FastReport.Utils.Units.TenthsOfInch">
- <summary>
- The number of pixels in 1/10 of ich.
- </summary>
- </member>
- <member name="F:FastReport.Utils.Units.HundrethsOfInch">
- <summary>
- The number of pixels in 1/100 of inch.
- </summary>
- </member>
- <member name="T:FastReport.ObjectCollection">
- <summary>
- Holds the list of objects of <see cref="T:FastReport.Base"/> type.
- </summary>
- </member>
- <member name="M:FastReport.ObjectCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ObjectCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.ObjectCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ObjectCollection"/> class with specified owner.
- </summary>
- </member>
- <member name="P:FastReport.ObjectCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Design.ToolWindows.DictionaryWindow">
- <summary>
- Represents the "Data Dictionary" window.
- </summary>
- </member>
- <member name="T:FastReport.Design.ToolWindows.ToolWindowBase">
- <summary>
- Base class for all tool windows such as "Properties", "Data Dictionary" etc.
- </summary>
- <remarks>
- <para>Use this class to create own tool window. To do this:</para>
- <para>- in the constructor, set the <b>Name</b> and <b>Image</b> properties and create necessary controls.
- The <b>Name</b> will be used to restore window's state;</para>
- <para>- override the <b>SelectionChanged</b> method. This method is called when current selection
- is changed. In this method, you should update buttons state to reflect the current selection.
- Selected objects can be accessed via <b>Designer.SelectedObjects</b> property;</para>
- <para>- override the <b>UpdateContent</b> method. This method is called when the report
- content was changed. Typically you need to do the same actions in <b>SelectionChanged</b> and
- <b>UpdateContent</b> methods;</para>
- <para>- to register a toolwindow, add its type to the <see cref="T:FastReport.Design.DesignerPlugins"/> global collection:
- <code>
- DesignerPlugins.Add(typeof(MyToolWindow));
- </code>
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.OnContainerChanged(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.Show">
- <summary>
- Shows the toolwindow.
- </summary>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.Hide">
- <summary>
- Hides the toolwindow.
- </summary>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.GetOptionsPage">
- <summary>
- Implements <see cref="M:FastReport.Design.IDesignerPlugin.GetOptionsPage"/> method.
- </summary>
- <returns>The options page, if implemented; otherwise, <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ToolWindowBase.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ToolWindows.ToolWindowBase"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- <remarks>
- You don't need to call this constructor. The designer will do this automatically.
- </remarks>
- </member>
- <member name="P:FastReport.Design.ToolWindows.ToolWindowBase.Designer">
- <summary>
- Gets the report designer.
- </summary>
- </member>
- <member name="P:FastReport.Design.ToolWindows.ToolWindowBase.Locked">
- <summary>
- Gets a value indicating that window is locked.
- </summary>
- </member>
- <member name="P:FastReport.Design.ToolWindows.ToolWindowBase.Shortcut">
- <summary>
- Gets or sets shortcut keys used to show this toolwindow.
- </summary>
- </member>
- <member name="P:FastReport.Design.ToolWindows.ToolWindowBase.PluginName">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Design.ToolWindows.ToolWindowBase.CanHide">
- <summary>
- Gets or sets a value indicating that the toolwindow can be closed by the x button.
- </summary>
- </member>
- <member name="P:FastReport.Design.ToolWindows.ToolWindowBase.ParentControl">
- <summary>
- Gets a parent control that contains all controls.
- </summary>
- <remarks>
- Add your control to the parent control Controls collection.
- </remarks>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.DictionaryWindow.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ToolWindows.DictionaryWindow"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="T:FastReport.Design.ToolWindows.DictionaryWindow.DraggedItem">
- <summary>
- Describes an item dragged from the "Data Dictionary" window.
- </summary>
- </member>
- <member name="F:FastReport.Design.ToolWindows.DictionaryWindow.DraggedItem.Obj">
- <summary>
- The dragged object.
- </summary>
- </member>
- <member name="F:FastReport.Design.ToolWindows.DictionaryWindow.DraggedItem.Text">
- <summary>
- The text of dragged object.
- </summary>
- </member>
- <member name="T:FastReport.ReportTitleBand">
- <summary>
- Represents a report title band.
- </summary>
- </member>
- <member name="F:FastReport.Forms.StringCollectionEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.StringCollectionEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.StringCollectionEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.TableDataSource">
- <summary>
- Represents a datasource based on <b>DataTable</b> class.
- </summary>
- <example>This example shows how to add a new table to the existing connection:
- <code>
- Report report1;
- DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1");
- TableDataSource table = new TableDataSource();
- table.TableName = "Employees";
- table.Name = "Table1";
- conn.Tables.Add(table);
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.TableDataSource.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.GetValue(FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.InitSchema">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.LoadData(System.Collections.ArrayList)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.RefreshTable">
- <summary>
- Refresh the table schema.
- </summary>
- </member>
- <member name="M:FastReport.Data.TableDataSource.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.SetParent(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.TableDataSource.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.TableDataSource"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.TableDataSource.Table">
- <summary>
- Gets or sets the underlying <b>DataTable</b> object.
- </summary>
- </member>
- <member name="P:FastReport.Data.TableDataSource.TableName">
- <summary>
- Gets or sets the table name.
- </summary>
- </member>
- <member name="P:FastReport.Data.TableDataSource.SelectCommand">
- <summary>
- Gets or sets SQL "select" command.
- </summary>
- <remarks>
- If this command contains parameters, you should specify them in the <see cref="P:FastReport.Data.TableDataSource.Parameters"/>
- property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.TableDataSource.Parameters">
- <summary>
- Gets a collection of parameters used by "select" command.
- </summary>
- <remarks>
- You must set up this property if the SQL query that you've specified in the
- <see cref="P:FastReport.Data.TableDataSource.SelectCommand"/> property contains parameters.
- <para/>You can pass a value to the SQL parameter in two ways.
- <para/>The right way is to define a report parameter. You can do this in the
- "Data" window. Once you have defined the parameter, you can use it to pass a value
- to the SQL parameter. To do this, set the SQL parameter's <b>Expression</b> property
- to the report parameter's name (so it will look like [myReportParam]).
- To pass a value to the report parameter from your application, use the
- <see cref="M:FastReport.Report.SetParameterValue(System.String,System.Object)"/> method.
- <para/>The other way (unrecommended) is to find a datasource object and set its parameter from a code:
- <code>
- TableDataSource ds = report.GetDataSource("My DataSource Name") as TableDataSource;
- ds.Parameters[0].Value = 10;
- </code>
- This way is not good because you hardcode the report object's name.
- </remarks>
- </member>
- <member name="P:FastReport.Data.TableDataSource.Connection">
- <summary>
- Gets or sets the parent <see cref="T:FastReport.Data.DataConnectionBase"/> object.
- </summary>
- </member>
- <member name="P:FastReport.Data.TableDataSource.StoreData">
- <summary>
- Gets or sets a value that determines whether it is necessary to store table data in a report file.
- </summary>
- </member>
- <member name="P:FastReport.Data.TableDataSource.TableData">
- <summary>
- Gets or sets the table data.
- </summary>
- <remarks>
- This property is for internal use only.
- </remarks>
- </member>
- <member name="P:FastReport.Data.TableDataSource.IgnoreConnection">
- <summary>
- If set, ignores the Connection (always returns null). Needed when we replace the
- existing connection-based datasource with datatable defined in an application.
- </summary>
- </member>
- <member name="P:FastReport.Data.TableDataSource.QbSchema">
- <summary>
- Gets or sets the query builder schema.
- </summary>
- <remarks>
- This property is for internal use only.
- </remarks>
- </member>
- <member name="T:FastReport.Data.Dictionary">
- <summary>
- This class stores all report data items such as datasources, connections, relations, parameters,
- system variables.
- </summary>
- <remarks>
- You can access the report dictionary via <b>Report.Dictionary</b> property.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.RegisterDataView(System.Data.DataView,System.String,System.Boolean)">
- <summary>
- Registers a DataView.
- </summary>
- <param name="view">The DataView to register.</param>
- <param name="referenceName">The name of the data object.</param>
- <param name="enabled">Determines wheter to enable the object or not.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.RegisterBusinessObject(System.Collections.IEnumerable,System.String,System.Int32,System.Boolean)">
- <summary>
- Registers a business object.
- </summary>
- <param name="data">The business object.</param>
- <param name="referenceName">The name of the object.</param>
- <param name="maxNestingLevel">Maximum level of data nesting.</param>
- <param name="enabled">Determines wheter to enable the object or not.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.RegisterData(System.Object,System.String,System.Boolean)">
- <summary>
- Registers a data object.
- </summary>
- <param name="data">The object to register.</param>
- <param name="name">The name of the object.</param>
- <param name="enabled">Determines wheter to enable the object or not.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.UnregisterData(System.Object)">
- <summary>
- Unregisters the previously registered data.
- </summary>
- <param name="data">The application data.</param>
- </member>
- <member name="M:FastReport.Data.Dictionary.UnregisterData(System.Object,System.String)">
- <summary>
- Unregisters the previously registered data.
- </summary>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- <remarks>
- You must specify the same <b>data</b> and <b>name</b> as when you call <b>RegisterData</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.ReRegisterData">
- <summary>
- Re-registers the data registered before.
- </summary>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.ClearRegisteredData">
- <summary>
- Clears all registered data.
- </summary>
- </member>
- <member name="M:FastReport.Data.Dictionary.UpdateRelations">
- <summary>
- Enables or disables relations between data tables.
- </summary>
- <remarks>
- Call this method if you create master-detail report from code. This method enables
- relation between two data tables which <b>Enabled</b> flag is set to <b>true</b>. Relations
- whose parent and child tables are disabled, gets disabled too.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.CreateUniqueName(System.String)">
- <summary>
- Creates unique name for data item such as connection, datasource, relation, parameter or total.
- </summary>
- <param name="name">The base name.</param>
- <returns>The new unique name.</returns>
- <remarks>
- Use this method to create unique name of the data item. It is necessary when you create new
- items in code to avoid conflicts with existing report items.
- <example>This example show how to add a new parameter:
- <code>
- Report report1;
- Parameter par = new Parameter();
- par.Name = report1.Dictionary.CreateUniqueName("Parameter");
- report1.Parameters.Add(par);
- </code>
- </example>
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.CreateUniqueAlias(System.String)">
- <summary>
- Creates unique alias for data item such as connection, datasource or relation.
- </summary>
- <param name="alias">The base alias.</param>
- <returns>The new unique alias.</returns>
- <remarks>
- Use this method to create unique alias of the data item. It is necessary when you create new
- items in code to avoid conflicts with existing report items.
- <example>This example show how to add a new table:
- <code>
- Report report1;
- DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1");
- TableDataSource table = new TableDataSource();
- table.TableName = "Employees";
- table.Name = report1.Dictionary.CreateUniqueName("EmployeesTable");
- table.Alias = report1.Dictionary.CreateUniqueAlias("Employees");
- conn.Tables.Add(table);
- </code>
- </example>
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.FindByName(System.String)">
- <summary>
- Finds a data item such as connection, datasource, relation, parameter or total by its name.
- </summary>
- <param name="name">The item's name.</param>
- <returns>The data item if found; otherwise, <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.Dictionary.FindByAlias(System.String)">
- <summary>
- Finds a data item such as connection, datasource or relation by its alias.
- </summary>
- <param name="alias">The item's alias.</param>
- <returns>The data item if found; otherwise, <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.Dictionary.FindDataTableSource(System.Data.DataTable)">
- <summary>
- Finds a datasource that matches the specified DataTable.
- </summary>
- <param name="table">The <b>DataTable</b> object to check.</param>
- <returns>The <b>DataSourceBase</b> object if found.</returns>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.FindDataComponent(System.String)">
- <summary>
- Finds a data component that matches the specified reference name.
- </summary>
- <param name="referenceName">The name to check.</param>
- <returns>The <b>DataComponentBase</b> object if found.</returns>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Data.Dictionary.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.Save(System.IO.Stream)">
- <summary>
- Saves the dictionary to a stream.
- </summary>
- <param name="stream">Stream to save to.</param>
- </member>
- <member name="M:FastReport.Data.Dictionary.Save(System.String)">
- <summary>
- Saves the dictionary to a file.
- </summary>
- <param name="fileName">The name of a file to save to.</param>
- </member>
- <member name="M:FastReport.Data.Dictionary.Load(System.IO.Stream)">
- <summary>
- Loads the dictionary from a stream.
- </summary>
- <param name="stream">The stream to load from.</param>
- </member>
- <member name="M:FastReport.Data.Dictionary.Load(System.String)">
- <summary>
- Loads the dictionary from a file.
- </summary>
- <param name="fileName">The name of a file to load from.</param>
- </member>
- <member name="M:FastReport.Data.Dictionary.Merge(FastReport.Data.Dictionary)">
- <summary>
- Merges this dictionary with another <b>Dictionary</b>.
- </summary>
- <param name="source">Another dictionary to merge the data from.</param>
- </member>
- <member name="M:FastReport.Data.Dictionary.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Dictionary.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.Dictionary"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.Dictionary.Connections">
- <summary>
- Gets a collection of connection objects available in a report.
- </summary>
- </member>
- <member name="P:FastReport.Data.Dictionary.DataSources">
- <summary>
- Gets a collection of datasources available in a report.
- </summary>
- <remarks>
- Usually you don't need to use this property. It contains only datasources
- registered using the <b>RegisterData</b> method. All other datasources are contained
- in connection objects and may be accessed via <see cref="P:FastReport.Data.Dictionary.Connections"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Dictionary.Relations">
- <summary>
- Gets a collection of relations.
- </summary>
- </member>
- <member name="P:FastReport.Data.Dictionary.Parameters">
- <summary>
- Gets a collection of parameters.
- </summary>
- <remarks>
- Another way to access parameters is to use the <b>Report.Parameters</b> property
- which is actually a shortcut to this property. You also may use the <b>Report.GetParameter</b>
- and <b>Report.GetParameterValue</b> methods.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Dictionary.SystemVariables">
- <summary>
- Gets a collection of system variables like Date, PageNofM etc.
- </summary>
- <remarks>
- Another way to access a system variable is to use the <b>Report.GetVariableValue</b> method.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Dictionary.Totals">
- <summary>
- Gets a collection of totals.
- </summary>
- <remarks>
- Another way to get a total value is to use the <b>Report.GetTotalValue</b> method.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Dictionary.RegisteredItems">
- <summary>
- Gets a list of registered items.
- </summary>
- <remarks>
- This property is for internal use only.
- </remarks>
- </member>
- <member name="T:FastReport.Data.Dictionary.RegDataItem">
- <summary>
- Represents the item registered in a dictionary.
- </summary>
- </member>
- <member name="F:FastReport.Data.Dictionary.RegDataItem.Data">
- <summary>
- Gets the item data.
- </summary>
- </member>
- <member name="F:FastReport.Data.Dictionary.RegDataItem.Name">
- <summary>
- Gets the item name.
- </summary>
- </member>
- <member name="T:FastReport.SortCollection">
- <summary>
- Represents a collection of sort conditions used in the <see cref="P:FastReport.DataBand.Sort"/>.
- </summary>
- </member>
- <member name="M:FastReport.SortCollection.AddRange(FastReport.Sort[])">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range"></param>
- </member>
- <member name="M:FastReport.SortCollection.Add(FastReport.Sort)">
- <summary>
- Adds an object to the end of this collection.
- </summary>
- <param name="value">Object to add.</param>
- <returns>Index of the added object.</returns>
- </member>
- <member name="M:FastReport.SortCollection.Insert(System.Int32,FastReport.Sort)">
- <summary>
- Inserts an object into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The object to insert.</param>
- </member>
- <member name="M:FastReport.SortCollection.Remove(FastReport.Sort)">
- <summary>
- Removes the specified object from the collection.
- </summary>
- <param name="value">Object to remove.</param>
- </member>
- <member name="M:FastReport.SortCollection.IndexOf(FastReport.Sort)">
- <summary>
- Returns the zero-based index of the first occurrence of an object.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.SortCollection.Contains(FastReport.Sort)">
- <summary>
- Determines whether an element is in the collection.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.SortCollection.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SortCollection.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SortCollection.Assign(FastReport.SortCollection)">
- <summary>
- Assigns values from another collection.
- </summary>
- <param name="source">Collection to assign from.</param>
- </member>
- <member name="P:FastReport.SortCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Format.GeneralFormat">
- <summary>
- Represents a format used to display values with no formatting.
- </summary>
- </member>
- <member name="T:FastReport.Format.FormatBase">
- <summary>
- Base class for all formats.
- </summary>
- <remarks>
- The format is used to format expression value in a <see cref="T:FastReport.TextObject"/> object.
- </remarks>
- </member>
- <member name="M:FastReport.Format.FormatBase.Clone">
- <summary>
- Creates exact copy of this format.
- </summary>
- <returns>The copy of this format.</returns>
- </member>
- <member name="M:FastReport.Format.FormatBase.FormatValue(System.Object)">
- <summary>
- Formats the specified value.
- </summary>
- <param name="value">The value to format.</param>
- <returns>The string that represents the formatted value.</returns>
- </member>
- <member name="M:FastReport.Format.FormatBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.FormatBase.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Format.FormatBase.Name">
- <summary>
- Gets the short format name (e.g. without a "Format" suffix).
- </summary>
- </member>
- <member name="M:FastReport.Format.GeneralFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.GeneralFormat.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.GeneralFormat.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.GeneralFormat.FormatValue(System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Format.CurrencyFormat">
- <summary>
- Defines how currency values are formatted and displayed.
- </summary>
- </member>
- <member name="M:FastReport.Format.CurrencyFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CurrencyFormat.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CurrencyFormat.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CurrencyFormat.FormatValue(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CurrencyFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>CurrencyFormat</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.UseLocale">
- <summary>
- Gets or sets a value that determines whether to use system locale settings to format a value.
- </summary>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.DecimalDigits">
- <summary>
- Gets or sets the number of decimal places to use in currency values.
- </summary>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.DecimalSeparator">
- <summary>
- Gets or sets the string to use as the decimal separator in currency values.
- </summary>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.GroupSeparator">
- <summary>
- Gets or sets the string that separates groups of digits to the left of the decimal in currency values.
- </summary>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.CurrencySymbol">
- <summary>
- Gets or sets the string to use as the currency symbol.
- </summary>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.PositivePattern">
- <summary>
- Gets or sets the format pattern for positive currency values.
- </summary>
- <remarks>This property can have one of the values in the following table.
- The symbol "$" is the <b>CurrencySymbol</b> and <i>n</i> is a number.
- <list type="table">
- <listheader><term>Value</term><description>Associated Pattern</description></listheader>
- <item><term>0</term><description>$n</description></item>
- <item><term>1</term><description>n$</description></item>
- <item><term>2</term><description>$ n</description></item>
- <item><term>3</term><description>n $</description></item>
- </list>
- </remarks>
- </member>
- <member name="P:FastReport.Format.CurrencyFormat.NegativePattern">
- <summary>
- Gets or sets the format pattern for negative currency values.
- </summary>
- <remarks>This property can have one of the values in the following table.
- The symbol "$" is the <b>CurrencySymbol</b> and <i>n</i> is a number.
- <list type="table">
- <listheader><term>Value</term><description>Associated Pattern</description></listheader>
- <item><term>0</term> <description>($n)</description></item>
- <item><term>1</term> <description>-$n</description></item>
- <item><term>2</term> <description>$-n</description></item>
- <item><term>3</term> <description>$n-</description></item>
- <item><term>4</term> <description>(n$)</description></item>
- <item><term>5</term> <description>-n$</description></item>
- <item><term>6</term> <description>n-$</description></item>
- <item><term>7</term> <description>n$-</description></item>
- <item><term>8</term> <description>-n $</description></item>
- <item><term>9</term> <description>-$ n</description></item>
- <item><term>10</term><description>n $-</description></item>
- <item><term>11</term><description>$ n-</description></item>
- <item><term>12</term><description>$ -n</description></item>
- <item><term>13</term><description>n- $</description></item>
- <item><term>14</term><description>($ n)</description></item>
- <item><term>15</term><description>(n $)</description></item>
- </list>
- </remarks>
- </member>
- <member name="T:FastReport.Dialog.TreeViewControl">
- <summary>
- Displays a hierarchical collection of labeled items, each represented by a TreeNode.
- Wraps the <see cref="T:System.Windows.Forms.TreeView"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.OnAfterSelect(System.Windows.Forms.TreeViewEventArgs)">
- <summary>
- This method fires the <b>AfterSelect</b> event and the script code connected to the <b>AfterSelectEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.TreeViewControl.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Dialog.TreeViewControl"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.TreeViewControl.AfterSelect">
- <summary>
- Occurs after the tree node is selected.
- Wraps the <see cref="E:System.Windows.Forms.TreeView.AfterSelect"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.TreeView">
- <summary>
- Gets an internal <b>TreeView</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.CheckBoxes">
- <summary>
- Gets or sets a value indicating whether check boxes are displayed next to the tree nodes in the tree view control.
- Wraps the <see cref="P:System.Windows.Forms.TreeView.CheckBoxes"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.ShowLines">
- <summary>
- Gets or sets a value indicating whether lines are drawn between tree nodes in the tree view control.
- Wraps the <see cref="P:System.Windows.Forms.TreeView.ShowLines"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.ShowRootLines">
- <summary>
- Gets or sets a value indicating whether lines are drawn between the tree nodes that are at the root of the tree view.
- Wraps the <see cref="P:System.Windows.Forms.TreeView.ShowRootLines"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.ImageList">
- <summary>
- Gets or sets the <b>ImageList</b> that contains the <b>Image</b> objects used by the tree nodes.
- Wraps the <see cref="P:System.Windows.Forms.TreeView.ImageList"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.Nodes">
- <summary>
- Gets the collection of tree nodes that are assigned to the tree view control.
- Wraps the <see cref="P:System.Windows.Forms.TreeView.Nodes"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.SelectedNode">
- <summary>
- Gets or sets the tree node that is currently selected in the tree view control.
- Wraps the <see cref="P:System.Windows.Forms.TreeView.SelectedNode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.AfterSelectEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.TreeViewControl.AfterSelect"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TreeViewControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.PreviewButtons">
- <summary>
- Specifies the set of buttons available in the preview.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.None">
- <summary>
- No buttons visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Print">
- <summary>
- The "Print" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Open">
- <summary>
- The "Open" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Save">
- <summary>
- The "Save" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Email">
- <summary>
- The "Email" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Find">
- <summary>
- The "Find" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Zoom">
- <summary>
- The zoom buttons are visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Outline">
- <summary>
- The "Outline" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.PageSetup">
- <summary>
- The "Page setup" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Edit">
- <summary>
- The "Edit" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Watermark">
- <summary>
- The "Watermark" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Navigator">
- <summary>
- The page navigator buttons are visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.Close">
- <summary>
- The "Close" button is visible.
- </summary>
- </member>
- <member name="F:FastReport.PreviewButtons.All">
- <summary>
- All buttons are visible.
- </summary>
- </member>
- <member name="T:FastReport.PreviewSettings">
- <summary>
- Contains some settings of the preview window.
- </summary>
- </member>
- <member name="M:FastReport.PreviewSettings.#ctor">
- <summary>
- Initializes a new instance of the <b>PreviewSettings</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.PreviewSettings.PreviewOpened">
- <summary>
- Occurs when the standard preview window opened.
- </summary>
- <remarks>
- You may use this event to change the standard preview window, for example, add an own button to it.
- The <b>sender</b> parameter in this event is the <b>PreviewControl</b>.
- </remarks>
- </member>
- <member name="P:FastReport.PreviewSettings.Buttons">
- <summary>
- Gets or sets a set of buttons that will be visible in the preview's toolbar.
- </summary>
- <remarks>
- Here is an example how you can disable the "Print" and "EMail" buttons:
- Config.PreviewSettings.Buttons = PreviewButtons.Open |
- PreviewButtons.Save |
- PreviewButtons.Find |
- PreviewButtons.Zoom |
- PreviewButtons.Outline |
- PreviewButtons.PageSetup |
- PreviewButtons.Edit |
- PreviewButtons.Watermark |
- PreviewButtons.Navigator |
- PreviewButtons.Close;
- </remarks>
- </member>
- <member name="P:FastReport.PreviewSettings.PagesInCache">
- <summary>
- Gets or sets the number of prepared pages that can be stored in the memory cache during preview.
- </summary>
- <remarks>
- Decrease this value if your prepared report contains a lot of pictures. This will
- save the RAM memory.
- </remarks>
- </member>
- <member name="P:FastReport.PreviewSettings.ShowInTaskbar">
- <summary>
- Gets or sets a value indicating whether the preview window is displayed in the Windows taskbar.
- </summary>
- </member>
- <member name="P:FastReport.PreviewSettings.TopMost">
- <summary>
- Gets or sets a value indicating whether the preview window should be displayed as a topmost form.
- </summary>
- </member>
- <member name="P:FastReport.PreviewSettings.Icon">
- <summary>
- Gets or sets the icon for the preview window.
- </summary>
- </member>
- <member name="P:FastReport.PreviewSettings.Text">
- <summary>
- Gets or sets the text for the preview window.
- </summary>
- <remarks>
- If no text is set, the default text "Preview" will be used.
- </remarks>
- </member>
- <member name="P:FastReport.PreviewSettings.FastScrolling">
- <summary>
- Gets or sets a value indicating whether the fast scrolling method should be used.
- </summary>
- <remarks>
- If you enable this property, the gradient background will be disabled.
- </remarks>
- </member>
- <member name="P:FastReport.PreviewSettings.AllowPrintToFile">
- <summary>
- Enables or disables the "Print to file" feature in the print dialog.
- </summary>
- </member>
- <member name="F:FastReport.Forms.StandardReportWizardForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.StandardReportWizardForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.StandardReportWizardForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.HTMLExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.HTMLExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.HTMLExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.BusinessObjectDataSource">
- <summary>
- Represents a datasource based on business object of <b>IEnumerable</b> type.
- </summary>
- <remarks>
- Do not use this class directly. To register a business object, use the
- <b>Report.RegisterData</b> method.
- </remarks>
- </member>
- <member name="M:FastReport.Data.BusinessObjectDataSource.GetValue(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.BusinessObjectDataSource.GetValue(FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.BusinessObjectDataSource.InitSchema">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.BusinessObjectDataSource.LoadData(System.Collections.ArrayList)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.BusinessObjectDataSource.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="E:FastReport.Data.BusinessObjectDataSource.LoadBusinessObject">
- <summary>
- Occurs when FastReport engine loads data source with data from a business object.
- </summary>
- <remarks>
- Use this event if you want to implement load-on-demand. Event handler must load the data into
- your business object.
- </remarks>
- </member>
- <member name="T:FastReport.Data.LoadBusinessObjectEventHandler">
- <summary>
- Represents the method that will handle the LoadBusinessObject event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Data.LoadBusinessObjectEventArgs">
- <summary>
- Provides data for <see cref="T:FastReport.Data.LoadBusinessObjectEventHandler"/> event.
- </summary>
- </member>
- <member name="F:FastReport.Data.LoadBusinessObjectEventArgs.Parent">
- <summary>
- Parent object for this data source.
- </summary>
- </member>
- <member name="T:FastReport.Controls.TextAlign">
- <summary>
- Specifies how text in a <see cref="T:FastReport.Controls.FRRichTextBox"/> is horizontally aligned.
- </summary>
- </member>
- <member name="F:FastReport.Controls.TextAlign.Left">
- <summary>
- The text is aligned to the left.
- </summary>
- </member>
- <member name="F:FastReport.Controls.TextAlign.Right">
- <summary>
- The text is aligned to the right.
- </summary>
- </member>
- <member name="F:FastReport.Controls.TextAlign.Center">
- <summary>
- The text is aligned in the center.
- </summary>
- </member>
- <member name="F:FastReport.Controls.TextAlign.Justify">
- <summary>
- The text is justified.
- </summary>
- </member>
- <member name="M:FastReport.Controls.FRRichTextBox.PixelsToTwips(System.Single)">
- <summary>
- Convert between screen pixels and twips (1/1440 inch, used by Win32 API calls)
- </summary>
- <param name="n">Value in screen pixels</param>
- <returns>Value in twips</returns>
- </member>
- <member name="M:FastReport.Controls.FRRichTextBox.TwipsToPixels(System.Int32)">
- <summary>
- Convert between screen pixels and twips (1/1440 inch, used by Win32 API calls)
- </summary>
- <param name="twips">Value in twips</param>
- <returns>Value in screen pixels</returns>
- </member>
- <member name="M:FastReport.Controls.FRRichTextBox.FormatRange(System.Drawing.Graphics,System.Drawing.Graphics,System.Drawing.RectangleF,System.Int32,System.Int32,System.Boolean)">
- <summary>
- Calculate or render the contents of RichTextBox for printing
- </summary>
- <param name="g">Graphics object</param>
- <param name="measureGraphics">Graphics object to measure richtext for</param>
- <param name="displayRect">Bonding rectangle of the RichTextBox</param>
- <param name="charFrom">Index of first character to be printed</param>
- <param name="charTo">Index of last character to be printed</param>
- <param name="measureOnly">If true, only the calculation is performed,
- otherwise the text is rendered as well</param>
- <returns>(Index of last character that fitted on the page) + 1</returns>
- </member>
- <member name="M:FastReport.Controls.FRRichTextBox.FormatRange(System.Drawing.Graphics,System.Drawing.Graphics,System.Drawing.RectangleF,System.Int32,System.Int32,System.Boolean,System.Int32@)">
- <summary>
- Calculate or render the contents of RichTextBox for printing
- </summary>
- <param name="g">Graphics object</param>
- <param name="measureGraphics">Graphics object to measure richtext for</param>
- <param name="displayRect">Bonding rectangle of the RichTextBox</param>
- <param name="charFrom">Index of first character to be printed</param>
- <param name="charTo">Index of last character to be printed</param>
- <param name="measureOnly">If true, only the calculation is performed,
- otherwise the text is rendered as well</param>
- <param name="height">The calculated text height</param>
- <returns>(Index of last character that fitted on the page) + 1</returns>
- </member>
- <member name="P:FastReport.Controls.FRRichTextBox.SelectionAlignment">
- <summary>
- Gets or sets the alignment to apply to the current
- selection or insertion point.
- </summary>
- <remarks>
- Replaces the SelectionAlignment from <see cref="T:System.Windows.Forms.RichTextBox"/>.
- </remarks>
- </member>
- <member name="T:FastReport.MSChart.MSChartObject">
- <summary>
- Represents the chart object based on Microsoft Chart control.
- </summary>
- <remarks>
- FastReport uses Microsoft Chart library to display charts. This library is included
- in .Net Framework 4.0. For .Net 3.5 it is available as a separate download here:
- http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c
- <para/><note type="caution">This library requires .Net Framework 3.5 SP1.</note>
- <para/>To access Microsoft Chart object, use the <see cref="P:FastReport.MSChart.MSChartObject.Chart"/> property. It allows you
- to set up chart appearance. For more information on available properties, refer to the
- MS Chart documentation.
- <para/>Chart object may contain one or several <i>series</i>. Each series is represented by two objects:
- <list type="bullet">
- <item>
- <description>the <b>Series</b> that is handled by MS Chart. It is stored in the
- <b>Chart.Series</b> collection;</description>
- </item>
- <item>
- <description>the <see cref="T:FastReport.MSChart.MSChartSeries"/> object that provides data for MS Chart series.
- It is stored in the <see cref="P:FastReport.MSChart.MSChartObject.Series"/> collection.</description>
- </item>
- </list>
- <para/>Do not operate series objects directly. To add or remove series, use
- the <see cref="M:FastReport.MSChart.MSChartObject.AddSeries(System.Windows.Forms.DataVisualization.Charting.SeriesChartType)"/> and <see cref="M:FastReport.MSChart.MSChartObject.DeleteSeries(System.Int32)"/> methods. These methods
- handle <b>Series</b> and <b>MSChartSeries</b> in sync.
- <para/>If you have a chart object on your Form and want to print it in FastReport, use
- the <see cref="M:FastReport.MSChart.MSChartObject.AssignChart(System.Windows.Forms.DataVisualization.Charting.Chart)"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.AddSeries(System.Windows.Forms.DataVisualization.Charting.SeriesChartType)">
- <summary>
- Adds a new series.
- </summary>
- <param name="chartType">The type of series.</param>
- <returns>The new <b>MSChartSeries</b> object.</returns>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.DeleteSeries(System.Int32)">
- <summary>
- Deletes a series at a specified index.
- </summary>
- <param name="index">Index of series.</param>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.AssignChart(System.Windows.Forms.DataVisualization.Charting.Chart)">
- <summary>
- Assigns chart appearance, series and data from the
- <b>System.Windows.Forms.DataVisualization.Charting.Chart</b> object.
- </summary>
- <param name="sourceChart">Chart object to assign data from.</param>
- <remarks>
- Use this method if you have a chart in your application and want to print it in FastReport.
- To do this, put an empty MSChartObject in your report and execute the following code:
- <code>
- report.Load("...");
- MSChartObject reportChart = report.FindObject("MSChart1") as MSChartObject;
- reportChart.AssignChart(applicationChart);
- report.Show();
- </code>
- </remarks>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.OnAfterInsert(FastReport.InsertFrom)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.OnMouseLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.FinalizeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.MSChart.MSChartObject"/> with default settings.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.Series">
- <summary>
- Gets the collection of <see cref="T:FastReport.MSChart.MSChartSeries"/> objects.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.Chart">
- <summary>
- Gets a reference to the MS Chart object.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.DataSource">
- <summary>
- Gets or sets the data source.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.Filter">
- <summary>
- Gets or sets the filter expression.
- </summary>
- <remarks>
- This filter will be applied to all series in chart. You may also use the series'
- <see cref="P:FastReport.MSChart.MSChartSeries.Filter"/> property to filter each series individually.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.AlignXValues">
- <summary>
- Gets or sets a value indicating that all series' data point should be aligned by its X value.
- </summary>
- <remarks>
- Using this property is necessary to print stacked type series. These series must have
- equal number of data points, and the order of data points must be the same for all series.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.AutoSeriesColumn">
- <summary>
- Gets or set the data column or expression for automatically created series.
- </summary>
- <remarks>
- In order to create auto-series, you need to define one series that will be used as a
- template for new series, and set up the <see cref="P:FastReport.MSChart.MSChartObject.AutoSeriesColumn"/> property.
- The value of this property will be a name of new series. If there is no series
- with such name yet, the new series will be added.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.AutoSeriesColor">
- <summary>
- Gets or set the color for auto-series.
- </summary>
- <remarks>
- If no color is specified, the new series will use the palette defined in the chart.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.AutoSeriesSortOrder">
- <summary>
- Gets or sets sort order for auto-series.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.Border">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.Fill">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.Style">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.EvenStyle">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartObject.HoverStyle">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.SparklineObject">
- <summary>
- Represents the small chart object (called sparkline) fully based on MSChartObject.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.SparklineObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.SparklineObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.SparklineObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.MSChart.SparklineObject"/> with default settings.
- </summary>
- </member>
- <member name="F:FastReport.Forms.XAMLExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.XAMLExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.XAMLExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.PowerPoint2007ExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PowerPoint2007ExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PowerPoint2007ExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.EmailSettings">
- <summary>
- Contains the email settings such as recipient(s) address, name, subject, message body.
- </summary>
- <remarks>
- </remarks>
- </member>
- <member name="M:FastReport.EmailSettings.Assign(FastReport.EmailSettings)">
- <summary>
- Copies email settings from another source.
- </summary>
- <param name="source">Source to copy settings from.</param>
- </member>
- <member name="M:FastReport.EmailSettings.Clear">
- <summary>
- Resets all settings to its default values.
- </summary>
- </member>
- <member name="M:FastReport.EmailSettings.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.EmailSettings"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.EmailSettings.Recipients">
- <summary>
- Gets or sets the recipient(s) email addresses.
- </summary>
- <remarks>
- This property contains one or several email addresses in the following form: "john@url.com".
- </remarks>
- </member>
- <member name="P:FastReport.EmailSettings.Subject">
- <summary>
- Gets or sets the message subject.
- </summary>
- </member>
- <member name="P:FastReport.EmailSettings.Message">
- <summary>
- Gets or sets the message body.
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugins.RDL.UnitsConverter">
- <summary>
- The RDL units converter.
- </summary>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.BooleanToBool(System.String)">
- <summary>
- Converts the RDL Boolean to bool value.
- </summary>
- <param name="boolean">The RDL Boolean value.</param>
- <returns>The bool value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertColor(System.String)">
- <summary>
- Converts the RDL Color to Color.
- </summary>
- <param name="colorName">The RDL Color value.</param>
- <returns>The Color value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.SizeToFloat(System.String,System.String)">
- <summary>
- Converts the RDL Size to float value.
- </summary>
- <param name="size">The RDL Size value.</param>
- <param name="unit">The RDL Size units measure.</param>
- <returns>The float value of RDL Size.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.SizeToInt(System.String,System.String)">
- <summary>
- Converts the RDL Size to int value.
- </summary>
- <param name="size">The RDL Size value.</param>
- <param name="unit">The RDL Size units measure.</param>
- <returns>The int value of RDL Size.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.SizeToMillimeters(System.String)">
- <summary>
- Converts the RDL Size to millimeters.
- </summary>
- <param name="size">The RDL Size value.</param>
- <returns>The float value of RDL Size in millimeters.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.SizeToPixels(System.String)">
- <summary>
- Converts the RDL Size to pixels.
- </summary>
- <param name="size">The RDL Size value.</param>
- <returns>The float value of RDL Size in pixels.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertFontStyle(System.String)">
- <summary>
- Converts the RDL FontStyle to FontStyle.
- </summary>
- <param name="fontStyle">The RDL FontStyle value.</param>
- <returns>The FontStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertFontSize(System.String)">
- <summary>
- Converts the RDL FontSize to float.
- </summary>
- <param name="fontSize">The RDL FontSize value.</param>
- <returns>The float value of RDL FontSize in points.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertTextAlign(System.String)">
- <summary>
- Converts the RDL TextAlign to HorzAlign.
- </summary>
- <param name="textAlign">The RDL TextAlign value.</param>
- <returns>The HorzAlign value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertVerticalAlign(System.String)">
- <summary>
- Converts the RDL TextAlign to VerticalAlign.
- </summary>
- <param name="verticalAlign">The RDL VerticalAlign value.</param>
- <returns>The VertAlign value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertWritingMode(System.String)">
- <summary>
- Converts the RDL WritingMode to Angle.
- </summary>
- <param name="writingMode">The RDL WritingMode value.</param>
- <returns>The int value of RDL WritingMode in degree.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertTextAlignToStringAlignment(System.String)">
- <summary>
- Converts the RDL TextAlign to StringAlignment.
- </summary>
- <param name="textAlign">The RDL TextAling value.</param>
- <returns>The StringAlignment value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertTextAndVerticalAlign(System.String,System.String)">
- <summary>
- Converts the RDL TextAlign and VerticalAlign to ContentAlignment.
- </summary>
- <param name="textAlign">The RDL TextAlign value.</param>
- <param name="vertAlign">The RDL VerticalAlign value.</param>
- <returns>The ContentAlignment value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertBorderStyle(System.String)">
- <summary>
- Converts the RDL BorderStyle to LineStyle.
- </summary>
- <param name="borderStyle">The RDL BorderStyle value.</param>
- <returns>The LineStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertSizing(System.String)">
- <summary>
- Converts the RDL Sizing to PictureBoxSizeMode.
- </summary>
- <param name="sizing">The RDL Sizing value.</param>
- <returns>The PictureBoxSizeMode value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertGradientType(System.String)">
- <summary>
- Converts the RDL GradientType to GradientStyle.
- </summary>
- <param name="gradientType">The RDL GradientType value.</param>
- <returns>The GradientStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertChartType(System.String)">
- <summary>
- Converts the RDL Chart.Type to SeriesChartType.
- </summary>
- <param name="chartType">The RDL Chart.Type value.</param>
- <returns>The SeriesChartType value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertChartPalette(System.String)">
- <summary>
- Converts the RDL Chart.Palette to ChartColorPalette.
- </summary>
- <param name="chartPalette">The RDL Chart.Palette value.</param>
- <returns>The RDL ChartColorPalette value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertChartLegendPosition(System.String,System.Windows.Forms.DataVisualization.Charting.Legend)">
- <summary>
- Converts the RDL Chart.Legend.Position to Legend.Docking and Legend.Alignment.
- </summary>
- <param name="chartLegendPosition">The RDL Chart.Legend.Position value.</param>
- <param name="legend">The Legend instance to convert to.</param>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertChartLegendLayout(System.String)">
- <summary>
- Converts the RDL Chart.Legend.Layout to LegendStyle.
- </summary>
- <param name="chartLegendLayout">The RDL Chart.Legend.Layout value.</param>
- <returns>The LegendStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertBorderStyleToChartDashStyle(System.String)">
- <summary>
- Converts the RDL BorderStyle to ChartDashStyle.
- </summary>
- <param name="borderStyle">The RDL BorderStyle value.</param>
- <returns>The ChartDashStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertAxisVisibleToAxisEnabled(System.String)">
- <summary>
- Converts the RDL Axis.Visible to AxisEnabled.
- </summary>
- <param name="axisVisible">The RDL Axis.Visible value.</param>
- <returns>The AxisEnabled value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertTickMarkStyle(System.String)">
- <summary>
- Converts the RDL TickMarkStyle to TickMarkStyle.
- </summary>
- <param name="tickMarkStyle">The RDL TickMarkStyle value.</param>
- <returns>The TickMarkStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.UnitsConverter.ConvertShading(System.String)">
- <summary>
- Converts the RDL Shading to LightStyle.
- </summary>
- <param name="shading">The RDL Shading value.</param>
- <returns>The LightStyle value.</returns>
- </member>
- <member name="T:FastReport.Barcode.DatamatrixEncoding">
- <summary>
- Specifies the Datamatrix encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.Auto">
- <summary>
- Specifies the auto encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.Ascii">
- <summary>
- Specifies the ASCII encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.C40">
- <summary>
- Specifies the C40 encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.Text">
- <summary>
- Specifies the text encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.Base256">
- <summary>
- Specifies the binary encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.X12">
- <summary>
- Specifies the X12 encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixEncoding.Edifact">
- <summary>
- Specifies the Edifact encoding.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.DatamatrixSymbolSize">
- <summary>
- Specifies the Datamatrix symbol size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Auto">
- <summary>
- Specifies the auto size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size10x10">
- <summary>
- Specifies the 10x10 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size12x12">
- <summary>
- Specifies the 12x12 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size8x18">
- <summary>
- Specifies the 8x8 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size14x14">
- <summary>
- Specifies the 14x14 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size8x32">
- <summary>
- Specifies the 8x32 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size16x16">
- <summary>
- Specifies the 16x16 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size12x26">
- <summary>
- Specifies the 12x26 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size18x18">
- <summary>
- Specifies the 18x18 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size20x20">
- <summary>
- Specifies the 20x20 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size12x36">
- <summary>
- Specifies the 12x36 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size22x22">
- <summary>
- Specifies the 22x22 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size16x36">
- <summary>
- Specifies the 16x36 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size24x24">
- <summary>
- Specifies the 24x24 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size26x26">
- <summary>
- Specifies the 26x26 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size16x48">
- <summary>
- Specifies the 16x48 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size32x32">
- <summary>
- Specifies the 32x32 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size36x36">
- <summary>
- Specifies the 36x36 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size40x40">
- <summary>
- Specifies the 40x40 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size44x44">
- <summary>
- Specifies the 44x44 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size48x48">
- <summary>
- Specifies the 48x48 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size52x52">
- <summary>
- Specifies the 52x52 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size64x64">
- <summary>
- Specifies the 64x64 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size72x72">
- <summary>
- Specifies the 72x72 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size80x80">
- <summary>
- Specifies the 80x80 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size88x88">
- <summary>
- Specifies the 88x88 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size96x96">
- <summary>
- Specifies the 96x96 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size104x104">
- <summary>
- Specifies the 104x104 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size120x120">
- <summary>
- Specifies the 120x120 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size132x132">
- <summary>
- Specifies the 132x132 size.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.DatamatrixSymbolSize.Size144x144">
- <summary>
- Specifies the 144x144 size.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeDatamatrix">
- <summary>
- Generates the 2D Data Matrix barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.Barcode2DBase">
- <summary>
- The base class for 2D-barcodes such as PDF417 and Datamatrix.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeDatamatrix.Assign(FastReport.Barcode.BarcodeBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeDatamatrix.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeDatamatrix"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeDatamatrix.SymbolSize">
- <summary>
- Gets or sets the symbol size.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeDatamatrix.Encoding">
- <summary>
- Gets or sets the encoding mode.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeDatamatrix.CodePage">
- <summary>
- Gets or sets the code page used for text conversion.
- </summary>
- <remarks>
- Use this property to encode non-ASCII characters. For example, set this
- property to <b>1251</b> to use Window CP1251.
- </remarks>
- </member>
- <member name="P:FastReport.Barcode.BarcodeDatamatrix.PixelSize">
- <summary>
- Gets or sets the size of the pixel.
- </summary>
- </member>
- <member name="T:FastReport.TypeConverters.UnitsConverter">
- <summary>
- Provides a type converter for a property representing a value measured in the current report units.
- </summary>
- </member>
- <member name="M:FastReport.TypeConverters.UnitsConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.UnitsConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.UnitsConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.UnitsConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.HorzAlign">
- <summary>
- Specifies the horizontal alignment of a text in the TextObject object.
- </summary>
- </member>
- <member name="F:FastReport.HorzAlign.Left">
- <summary>
- Specifies that text is aligned in the left of the layout rectangle.
- </summary>
- </member>
- <member name="F:FastReport.HorzAlign.Center">
- <summary>
- Specifies that text is aligned in the center of the layout rectangle.
- </summary>
- </member>
- <member name="F:FastReport.HorzAlign.Right">
- <summary>
- Specifies that text is aligned in the right of the layout rectangle.
- </summary>
- </member>
- <member name="F:FastReport.HorzAlign.Justify">
- <summary>
- Specifies that text is aligned in the left and right sides of the layout rectangle.
- </summary>
- </member>
- <member name="T:FastReport.VertAlign">
- <summary>
- Specifies the vertical alignment of a text in the TextObject object.
- </summary>
- </member>
- <member name="F:FastReport.VertAlign.Top">
- <summary>
- Specifies that text is aligned in the top of the layout rectangle.
- </summary>
- </member>
- <member name="F:FastReport.VertAlign.Center">
- <summary>
- Specifies that text is aligned in the center of the layout rectangle.
- </summary>
- </member>
- <member name="F:FastReport.VertAlign.Bottom">
- <summary>
- Specifies that text is aligned in the bottom of the layout rectangle.
- </summary>
- </member>
- <member name="T:FastReport.AutoShrinkMode">
- <summary>
- Specifies the behavior of the <b>AutoShrink</b> feature of <b>TextObject</b>.
- </summary>
- </member>
- <member name="F:FastReport.AutoShrinkMode.None">
- <summary>
- AutoShrink is disabled.
- </summary>
- </member>
- <member name="F:FastReport.AutoShrinkMode.FontSize">
- <summary>
- AutoShrink decreases the <b>Font.Size</b> property of the <b>TextObject</b>.
- </summary>
- </member>
- <member name="F:FastReport.AutoShrinkMode.FontWidth">
- <summary>
- AutoShrink decreases the <b>FontWidthRatio</b> property of the <b>TextObject</b>.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PopupClosedEventArgs">
- <summary>
- Contains event information for a <b>PopupClosed</b> event.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupClosedEventArgs.popup">
- <summary>
- The popup form.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PopupClosedEventArgs.#ctor(System.Windows.Forms.Form)">
- <summary>
- Constructs a new instance of this class for the specified
- popup form.
- </summary>
- <param name="popup">Popup Form which is being closed.</param>
- </member>
- <member name="P:FastReport.Controls.PopupClosedEventArgs.Popup">
- <summary>
- Gets the popup form which is being closed.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PopupCancelEventArgs">
- <summary>
- Arguments to a <b>PopupCancelEvent</b>. Provides a
- reference to the popup form that is to be closed and
- allows the operation to be cancelled.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupCancelEventArgs.cancel">
- <summary>
- Whether to cancel the operation
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupCancelEventArgs.location">
- <summary>
- Mouse down location
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupCancelEventArgs.popup">
- <summary>
- Popup form.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PopupCancelEventArgs.#ctor(System.Windows.Forms.Form,System.Drawing.Point)">
- <summary>
- Constructs a new instance of this class.
- </summary>
- <param name="popup">The popup form</param>
- <param name="location">The mouse location, if any, where the
- mouse event that would cancel the popup occured.</param>
- </member>
- <member name="P:FastReport.Controls.PopupCancelEventArgs.Popup">
- <summary>
- Gets the popup form
- </summary>
- </member>
- <member name="P:FastReport.Controls.PopupCancelEventArgs.CursorLocation">
- <summary>
- Gets the location that the mouse down which would cancel this
- popup occurred
- </summary>
- </member>
- <member name="P:FastReport.Controls.PopupCancelEventArgs.Cancel">
- <summary>
- Gets/sets whether to cancel closing the form. Set to
- <c>true</c> to prevent the popup from being closed.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PopupClosedEventHandler">
- <summary>
- Represents the method which responds to a <b>PopupClosed</b> event.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PopupCancelEventHandler">
- <summary>
- Represents the method which responds to a <b>PopupCancel</b> event.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PopupWindowHelper">
- <summary>
- A class to assist in creating popup windows like Combo Box drop-downs and Menus.
- This class includes functionality to keep the title bar of the popup owner form
- active whilst the popup is displayed, and to automatically cancel the popup
- whenever the user clicks outside the popup window or shifts focus to another
- application.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelper.popClosedHandler">
- <summary>
- Event Handler to detect when the popup window is closed
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelper.filter">
- <summary>
- Message filter to detect mouse clicks anywhere in the application
- whilst the popup window is being displayed.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelper.popup">
- <summary>
- The popup form that is being shown.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelper.owner">
- <summary>
- The owner of the popup form that is being shown:
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelper.popupShowing">
- <summary>
- Whether the popup is showing or not.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelper.skipClose">
- <summary>
- Whether the popup has been cancelled, notified by PopupCancel,
- rather than closed.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.ShowPopup(System.Windows.Forms.Form,System.Windows.Forms.Form,System.Drawing.Point)">
- <summary>
- Shows the specified Form as a popup window, keeping the
- Owner's title bar active and preparing to cancel the popup
- should the user click anywhere outside the popup window.
- <para>Typical code to use this message is as follows:</para>
- <code>
- frmPopup popup = new frmPopup();
- Point location = this.PointToScreen(new Point(button1.Left, button1.Bottom));
- popupHelper.ShowPopup(this, popup, location);
- </code>
- <para>Put as much initialisation code as possible
- into the popup form's constructor, rather than the <b>System.Windows.Forms.Load</b>
- event as this will improve visual appearance.</para>
- </summary>
- <param name="owner">Main form which owns the popup</param>
- <param name="popup">Window to show as a popup</param>
- <param name="location">Location relative to the screen to show the popup at.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.popup_Closed(System.Object,System.EventArgs)">
- <summary>
- Responds to the <see cref="E:System.Windows.Forms.Form.Closed"/>
- event from the popup form.
- </summary>
- <param name="sender">Popup form that has been closed.</param>
- <param name="e">Not used.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.WndProc(System.Windows.Forms.Message@)">
- <summary>
- Subclasses the owning form's existing Window Procedure to enables the
- title bar to remain active when a popup is show, and to detect if
- the user clicks onto another application whilst the popup is visible.
- </summary>
- <param name="m">Window Procedure Message</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.ClosePopup">
- <summary>
- Called when the popup is being hidden.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.OnPopupClosed(FastReport.Controls.PopupClosedEventArgs)">
- <summary>
- Raises the <see cref="E:FastReport.Controls.PopupWindowHelper.PopupClosed"/> event.
- </summary>
- <param name="e"><see cref="T:FastReport.Controls.PopupClosedEventArgs"/> describing the
- popup form that is being closed.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.OnPopupCancel(FastReport.Controls.PopupCancelEventArgs)">
- <summary>
- Raises the <see cref="E:FastReport.Controls.PopupWindowHelper.PopupCancel"/> event.
- </summary>
- <param name="e"><see cref="T:FastReport.Controls.PopupCancelEventArgs"/> describing the
- popup form that about to be cancelled.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelper.#ctor">
- <summary>
- Default constructor.
- </summary>
- <remarks>Use the <see cref="M:System.Windows.Forms.NativeWindow.AssignHandle(System.IntPtr)"/>
- method to attach this class to the form you want to show popups from.</remarks>
- </member>
- <member name="E:FastReport.Controls.PopupWindowHelper.PopupClosed">
- <summary>
- Raised when the popup form is closed.
- </summary>
- </member>
- <member name="E:FastReport.Controls.PopupWindowHelper.PopupCancel">
- <summary>
- Raised when the Popup Window is about to be cancelled. The
- <see cref="P:FastReport.Controls.PopupCancelEventArgs.Cancel"/> property can be
- set to <c>true</c> to prevent the form from being cancelled.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PopupWindowHelperMessageFilter">
- <summary>
- A Message Loop filter which detect mouse events whilst the popup form is shown
- and notifies the owning <see cref="T:FastReport.Controls.PopupWindowHelper"/> class when a mouse
- click outside the popup occurs.
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelperMessageFilter.popup">
- <summary>
- The popup form
- </summary>
- </member>
- <member name="F:FastReport.Controls.PopupWindowHelperMessageFilter.owner">
- <summary>
- The owning <see cref="T:FastReport.Controls.PopupWindowHelper"/> object.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelperMessageFilter.#ctor(FastReport.Controls.PopupWindowHelper)">
- <summary>
- Constructs a new instance of this class and sets the owning
- object.
- </summary>
- <param name="owner">The <see cref="T:FastReport.Controls.PopupWindowHelper"/> object
- which owns this class.</param>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelperMessageFilter.PreFilterMessage(System.Windows.Forms.Message@)">
- <summary>
- Checks the message loop for mouse messages whilst the popup
- window is displayed. If one is detected the position is
- checked to see if it is outside the form, and the owner
- is notified if so.
- </summary>
- <param name="m">Windows Message about to be processed by the
- message loop</param>
- <returns><c>true</c> to filter the message, <c>false</c> otherwise.
- This implementation always returns <c>false</c>.</returns>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelperMessageFilter.OnMouseDown">
- <summary>
- Checks the mouse location and calls the OnCancelPopup method
- if the mouse is outside the popup form.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PopupWindowHelperMessageFilter.OnCancelPopup(FastReport.Controls.PopupCancelEventArgs)">
- <summary>
- Raises the <see cref="E:FastReport.Controls.PopupWindowHelperMessageFilter.PopupCancel"/> event.
- </summary>
- <param name="e">The <see cref="T:FastReport.Controls.PopupCancelEventArgs"/> associated
- with the cancel event.</param>
- </member>
- <member name="E:FastReport.Controls.PopupWindowHelperMessageFilter.PopupCancel">
- <summary>
- Raised when the Popup Window is about to be cancelled. The
- <see cref="P:FastReport.Controls.PopupCancelEventArgs.Cancel"/> property can be
- set to <c>true</c> to prevent the form from being cancelled.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PopupWindowHelperMessageFilter.Popup">
- <summary>
- Gets/sets the popup form which is being displayed.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.PictureBoxControl">
- <summary>
- Represents a Windows picture box control for displaying an image.
- Wraps the <see cref="T:System.Windows.Forms.PictureBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.PictureBoxControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.PictureBoxControl.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.PictureBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.PictureBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>PictureBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PictureBoxControl.PictureBox">
- <summary>
- Gets an internal <b>PictureBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PictureBoxControl.BorderStyle">
- <summary>
- Indicates the border style for the control.
- Wraps the <see cref="P:System.Windows.Forms.PictureBox.BorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PictureBoxControl.Image">
- <summary>
- Gets or sets the image that the PictureBox displays.
- Wraps the <see cref="P:System.Windows.Forms.PictureBox.Image"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PictureBoxControl.SizeMode">
- <summary>
- Indicates how the image is displayed.
- Wraps the <see cref="P:System.Windows.Forms.PictureBox.SizeMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PictureBoxControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.PanelControl">
- <summary>
- Used to group collections of controls.
- Wraps the <see cref="T:System.Windows.Forms.Panel"/> control.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.ParentControl">
- <summary>
- Base class for controls that may contain child controls.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.DrawSelection(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ParentControl.#ctor">
- <summary>
- Initializes a new instance of the <b>ParentControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ParentControl.Controls">
- <summary>
- Gets the collection of child controls.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.PanelControl.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.PanelControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.PanelControl.#ctor">
- <summary>
- Initializes a new instance of the <b>PanelControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PanelControl.Panel">
- <summary>
- Gets an internal <b>Panel</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PanelControl.BorderStyle">
- <summary>
- Indicates the border style for the control.
- Wraps the <see cref="P:System.Windows.Forms.Panel.BorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.PanelControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.MonthCalendarControl">
- <summary>
- Represents a Windows control that enables the user to select a date using a visual monthly calendar display.
- Wraps the <see cref="T:System.Windows.Forms.MonthCalendar"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.ShouldSerializeCalendarDimensions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.OnDateChanged(System.Windows.Forms.DateRangeEventArgs)">
- <summary>
- This method fires the <b>DateChanged</b> event and the script code connected to the <b>DateChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.MonthCalendarControl.#ctor">
- <summary>
- Initializes a new instance of the <b>MonthCalendarControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.MonthCalendarControl.DateChanged">
- <summary>
- Occurs when the date selected in the MonthCalendar changes.
- Wraps the <see cref="E:System.Windows.Forms.MonthCalendar.DateChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.MonthCalendar">
- <summary>
- Gets an internal <b>MonthCalendar</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.CalendarDimensions">
- <summary>
- Gets or sets the number of columns and rows of months displayed.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.CalendarDimensions"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.FirstDayOfWeek">
- <summary>
- Gets or sets the first day of the week as displayed in the month calendar.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.FirstDayOfWeek"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.MaxDate">
- <summary>
- Gets or sets the maximum allowable date.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.MaxDate"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.MaxSelectionCount">
- <summary>
- Gets or sets the maximum number of days that can be selected in a month calendar control.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.MaxSelectionCount"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.MinDate">
- <summary>
- Gets or sets the minimum allowable date.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.MinDate"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.ShowToday">
- <summary>
- Gets or sets a value indicating whether the date represented by the <b>TodayDate</b> property is displayed at the bottom of the control.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.ShowToday"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.ShowTodayCircle">
- <summary>
- Gets or sets a value indicating whether today's date is circled.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.ShowTodayCircle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.ShowWeekNumbers">
- <summary>
- Gets or sets a value indicating whether the month calendar control displays week numbers (1-52) to the left of each row of days.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.ShowWeekNumbers"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.TodayDate">
- <summary>
- Gets or sets the value that is used by MonthCalendar as today's date.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.TodayDate"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.AnnuallyBoldedDates">
- <summary>
- Gets or sets the array of DateTime objects that determines which annual days are displayed in bold.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.AnnuallyBoldedDates"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.BoldedDates">
- <summary>
- Gets or sets the array of DateTime objects that determines which nonrecurring dates are displayed in bold.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.BoldedDates"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.MonthlyBoldedDates">
- <summary>
- Gets or sets the array of DateTime objects that determine which monthly days to bold.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.MonthlyBoldedDates"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.SelectionEnd">
- <summary>
- Gets or sets the end date of the selected range of dates.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.SelectionEnd"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.SelectionRange">
- <summary>
- Gets or sets the selected range of dates for a month calendar control.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.SelectionRange"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.SelectionStart">
- <summary>
- Gets or sets the start date of the selected range of dates.
- Wraps the <see cref="P:System.Windows.Forms.MonthCalendar.SelectionStart"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MonthCalendarControl.DateChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.MonthCalendarControl.DateChanged"/> event.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.LabelControl">
- <summary>
- Represents a standard Windows label.
- Wraps the <see cref="T:System.Windows.Forms.Label"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.LabelControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.LabelControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.LabelControl.#ctor">
- <summary>
- Initializes a new instance of the <b>LabelControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.LabelControl.Label">
- <summary>
- Gets an internal <b>Label</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.LabelControl.AutoSize">
- <summary>
- Gets or sets a value indicating whether the control is automatically resized to display its entire contents.
- Wraps the <see cref="P:System.Windows.Forms.Label.AutoSize"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.LabelControl.TextAlign">
- <summary>
- Gets or sets the alignment of text in the label.
- Wraps the <see cref="P:System.Windows.Forms.Label.TextAlign"/> property.
- </summary>
- </member>
- <member name="T:FastReport.TypeEditors.ExpressionEditor">
- <summary>
- Provides a user interface for editing an expression.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.ExpressionEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.ExpressionEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.PageColumns">
- <summary>
- This class contains the page columns settings.
- It is used in the <see cref="P:FastReport.ReportPage.Columns"/> property.
- </summary>
- </member>
- <member name="M:FastReport.PageColumns.Assign(FastReport.PageColumns)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="P:FastReport.PageColumns.Count">
- <summary>
- Gets or sets the number of columns.
- </summary>
- <remarks>
- Set this property to 0 or 1 if you don't want to use columns.
- </remarks>
- </member>
- <member name="P:FastReport.PageColumns.Width">
- <summary>
- Gets or sets the column width.
- </summary>
- </member>
- <member name="P:FastReport.PageColumns.Positions">
- <summary>
- Gets or sets a list of column starting positions.
- </summary>
- <remarks>
- Each value represents a column starting position measured in the millimeters.
- </remarks>
- </member>
- <member name="T:FastReport.HighlightCondition">
- <summary>
- Represents a single highlight condition used by the <see cref="P:FastReport.TextObject.Highlight"/> property
- of the <see cref="T:FastReport.TextObject"/>.
- </summary>
- </member>
- <member name="T:FastReport.StyleBase">
- <summary>
- Represents the base class for the report style or the highlight condition.
- </summary>
- </member>
- <member name="M:FastReport.StyleBase.Serialize(FastReport.Utils.FRWriter)">
- <summary>
- Serializes the style.
- </summary>
- <param name="writer">Writer object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.StyleBase.Deserialize(FastReport.Utils.FRReader)">
- <summary>
- Deserializes the style.
- </summary>
- <param name="reader">Reader object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.StyleBase.Assign(FastReport.StyleBase)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="M:FastReport.StyleBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.StyleBase"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.Border">
- <summary>
- Gets or sets a border.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.Fill">
- <summary>
- Gets or sets a fill.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.TextFill">
- <summary>
- Gets or sets a text fill.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.Font">
- <summary>
- Gets or sets a font.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.ApplyBorder">
- <summary>
- Gets or sets a value determines that the border must be applied.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.ApplyFill">
- <summary>
- Gets or sets a value determines that the fill must be applied.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.ApplyTextFill">
- <summary>
- Gets or sets a value determines that the text fill must be applied.
- </summary>
- </member>
- <member name="P:FastReport.StyleBase.ApplyFont">
- <summary>
- Gets or sets a value determines that the font must be applied.
- </summary>
- </member>
- <member name="M:FastReport.HighlightCondition.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HighlightCondition.Assign(FastReport.StyleBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HighlightCondition.Clone">
- <summary>
- Creates exact copy of this condition.
- </summary>
- <returns>A copy of this condition.</returns>
- </member>
- <member name="M:FastReport.HighlightCondition.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HighlightCondition.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HighlightCondition.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.HighlightCondition"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.HighlightCondition.Expression">
- <summary>
- Gets or sets a highlight expression.
- </summary>
- <remarks>
- This property can contain any valid boolean expression. If value of this expression is <b>true</b>,
- the fill and font settings will be applied to the <b>TextObject</b>.
- </remarks>
- </member>
- <member name="P:FastReport.HighlightCondition.Visible">
- <summary>
- Gets or sets the visibility flag.
- </summary>
- <remarks>
- If this property is set to <b>false</b>, the Text object will be hidden if the
- condition is met.
- </remarks>
- </member>
- <member name="F:FastReport.Forms.TextEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.TextEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.TextEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.DataBandEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.DataBandEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.DataBandEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Format.TimeFormat">
- <summary>
- Defines how time values are formatted and displayed.
- </summary>
- </member>
- <member name="T:FastReport.Format.CustomFormat">
- <summary>
- Represents a format that uses the <b>Format</b> string to display values.
- </summary>
- </member>
- <member name="M:FastReport.Format.CustomFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CustomFormat.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CustomFormat.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CustomFormat.FormatValue(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.CustomFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>CustomFormat</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Format.CustomFormat.Format">
- <summary>
- Gets or sets a format string.
- </summary>
- <remarks>
- Default format is "G". For example, if you want to format a date, use the following
- format string: "MM/dd/yyyy". See the <b>System.String.Format</b> method for list
- of possible format strings.
- </remarks>
- </member>
- <member name="M:FastReport.Format.TimeFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.TimeFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>TimeFormat</b> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Format.PercentFormat">
- <summary>
- Defines how percent values are formatted and displayed.
- </summary>
- </member>
- <member name="M:FastReport.Format.PercentFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.PercentFormat.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.PercentFormat.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.PercentFormat.FormatValue(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.PercentFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>PercentFormat</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Format.PercentFormat.UseLocale">
- <summary>
- Gets or sets a value that determines whether to use system locale settings to format a value.
- </summary>
- </member>
- <member name="P:FastReport.Format.PercentFormat.DecimalDigits">
- <summary>
- Gets or sets the number of decimal places to use in percent values.
- </summary>
- </member>
- <member name="P:FastReport.Format.PercentFormat.DecimalSeparator">
- <summary>
- Gets or sets the string to use as the decimal separator in percent values.
- </summary>
- </member>
- <member name="P:FastReport.Format.PercentFormat.GroupSeparator">
- <summary>
- Gets or sets the string that separates groups of digits to the left of the decimal in percent values.
- </summary>
- </member>
- <member name="P:FastReport.Format.PercentFormat.PercentSymbol">
- <summary>
- Gets or sets the string to use as the percent symbol.
- </summary>
- </member>
- <member name="P:FastReport.Format.PercentFormat.PositivePattern">
- <summary>
- Gets or sets the format pattern for positive percent values.
- </summary>
- <remarks>This property can have one of the values in the following table.
- The symbol "%" is the <b>PercentSymbol</b> and <i>n</i> is a number.
- <list type="table">
- <listheader><term>Value</term><description>Associated Pattern</description></listheader>
- <item><term>0</term><description>n %</description></item>
- <item><term>1</term><description>n%</description></item>
- <item><term>2</term><description>%n</description></item>
- <item><term>3</term><description>% n</description></item>
- </list>
- </remarks>
- </member>
- <member name="P:FastReport.Format.PercentFormat.NegativePattern">
- <summary>
- Gets or sets the format pattern for negative percent values.
- </summary>
- <remarks>This property can have one of the values in the following table.
- The symbol "%" is the <b>PercentSymbol</b> and <i>n</i> is a number.
- <list type="table">
- <listheader><term>Value</term><description>Associated Pattern</description></listheader>
- <item><term>0</term> <description>-n %</description></item>
- <item><term>1</term> <description>-n%</description></item>
- <item><term>2</term> <description>-%n</description></item>
- <item><term>3</term> <description>%-n</description></item>
- <item><term>4</term> <description>%n-</description></item>
- <item><term>5</term> <description>n-%</description></item>
- <item><term>6</term> <description>n%-</description></item>
- <item><term>7</term> <description>-%n</description></item>
- <item><term>8</term> <description>n %-</description></item>
- <item><term>9</term> <description>% n-</description></item>
- <item><term>10</term><description>% -n</description></item>
- <item><term>11</term><description>n- %</description></item>
- </list>
- </remarks>
- </member>
- <member name="T:FastReport.Format.BooleanFormat">
- <summary>
- Defines how boolean values are formatted and displayed.
- </summary>
- </member>
- <member name="M:FastReport.Format.BooleanFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.BooleanFormat.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.BooleanFormat.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.BooleanFormat.FormatValue(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.BooleanFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>BooleanFormat</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Format.BooleanFormat.FalseText">
- <summary>
- Gets or sets a string that will be displayed if value is <b>false</b>.
- </summary>
- </member>
- <member name="P:FastReport.Format.BooleanFormat.TrueText">
- <summary>
- Gets or sets a string that will be displayed if value is <b>true</b>.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FastNameCreator">
- <summary>
- The helper class used to create unique component names using the fastest method.
- </summary>
- <remarks>
- <para>Note: you can create unique component's name using its <b>CreateUniqueName</b> method.
- However, it is very slow and can't be used in some situations (when you create a report
- layout in a code and have a lot of objects on a page).</para>
- </remarks>
- <example>This example demonstrates how to use this class.
- <code>
- FastNameCreator nameCreator = new FastNameCreator(Report.AllObjects);
- foreach (Base c in Report.AllObjects)
- {
- if (c.Name == "")
- nameCreator.CreateUniqueName(c);
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.FastNameCreator.CreateUniqueName(FastReport.Base)">
- <summary>
- Creates the unique name for the given object.
- </summary>
- <param name="obj">The object to create name for.</param>
- </member>
- <member name="M:FastReport.Utils.FastNameCreator.#ctor(FastReport.ObjectCollection)">
- <summary>
- Initializes a new instance of the <b>FastNameCreator</b> class with collection of
- existing report objects.
- </summary>
- <param name="objects">The collection of existing report objects.</param>
- </member>
- <member name="F:FastReport.FastQueryBuilder.JoinEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.FastQueryBuilder.JoinEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.FastQueryBuilder.JoinEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.FastQueryBuilder.InputBox.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.FastQueryBuilder.InputBox.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.FastQueryBuilder.InputBox.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Export.Image.ImageExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Export.Image.ImageExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.AboutForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.AboutForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.AboutForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.Xml.XMLExport">
- <summary>
- Represents the Excel 2003 XML export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Xml.XMLExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Xml.XMLExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Xml.XMLExport.PageBreaks">
- <summary>
- Gets or sets a value that determines whether to insert page breaks in the output file or not.
- </summary>
- </member>
- <member name="P:FastReport.Export.Xml.XMLExport.Wysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting Excel file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Xml.XMLExport.Creator">
- <summary>
- Gets or sets the name of document creator.
- </summary>
- </member>
- <member name="P:FastReport.Export.Xml.XMLExport.DataOnly">
- <summary>
- Gets or sets a value that determines whether to export the databand rows only.
- </summary>
- </member>
- <member name="T:FastReport.Export.Mht.MHTExport">
- <summary>
- Represents the MHT export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.Mht.MHTExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Mht.MHTExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Mht.MHTExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Mht.MHTExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Mht.MHTExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Mht.MHTExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Mht.MHTExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Mht.MHTExport.Pictures">
- <summary>
- Enable or disable the pictures in MHT export
- </summary>
- </member>
- <member name="P:FastReport.Export.Mht.MHTExport.Wysiwyg">
- <summary>
- Gets or sets the Wysiwyg quality of export
- </summary>
- </member>
- <member name="P:FastReport.Export.Mht.MHTExport.ImageFormat">
- <summary>
- Gets or sets the image format.
- </summary>
- </member>
- <member name="M:FastReport.Data.VirtualDataSource.GetValue(FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Data.ConnectionEditors.XmlConnectionEditor.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.XmlConnectionEditor.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.XmlConnectionEditor.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.Barcode39">
- <summary>
- Generates the Code39 barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.Barcode39.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.Barcode39"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.Barcode39.IsNumeric">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Barcode.Barcode39Extended">
- <summary>
- Generates the Code39 extended barcode.
- </summary>
- </member>
- <member name="T:FastReport.Map.LayerCollection">
- <summary>
- Represents a collection of <see cref="T:FastReport.Map.MapLayer"/> objects.
- </summary>
- </member>
- <member name="P:FastReport.Map.LayerCollection.Item(System.Int32)">
- <summary>
- Gets a layer with specified index.
- </summary>
- <param name="index">Index of a layer.</param>
- <returns>The layer with specified index.</returns>
- </member>
- <member name="F:FastReport.Map.Forms.MapEditorControl.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Map.Forms.MapEditorControl.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Map.Forms.MapEditorControl.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.UnitsConverter.ColorToTColor(System.Drawing.Color)">
- <summary>
- Converts Color to TColor.
- </summary>
- <param name="color">Color value.</param>
- <returns>String that contains TColor value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.UnitsConverter.ConvertFontStyle(System.Drawing.FontStyle)">
- <summary>
- Converts font style.
- </summary>
- <param name="fontStyle">FontStyle value.</param>
- <returns>String that contains converted value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.UnitsConverter.ConvertHorzAlign(FastReport.HorzAlign)">
- <summary>
- Converts horizontal alignment of text.
- </summary>
- <param name="ha">HorzAlign value.</param>
- <returns>String that contains converted value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.UnitsConverter.ConvertVertAlign(FastReport.VertAlign)">
- <summary>
- Converts vertical alignment of text.
- </summary>
- <param name="va">VertAlign value.</param>
- <returns>String that contains coverted value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.UnitsConverter.ConvertFontSize(System.Single)">
- <summary>
- Converts font size to delphi font height.
- </summary>
- <param name="size">Font size value.</param>
- <returns>String that contains font height value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.UnitsConverter.ConvertLineStyle(FastReport.LineStyle)">
- <summary>
- Convert line style to frame style.
- </summary>
- <param name="style">Line style value.</param>
- <returns>String that contains converted value.</returns>
- </member>
- <member name="T:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin">
- <summary>
- Represents the FR3 export plugin.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin"/> class with a specified designer.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin.GetFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.FR3.FR3ExportPlugin.SaveReport(FastReport.Report,System.String)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Barcode.PDF417ErrorCorrection">
- <summary>
- Specifies the error correction level used for PDF417 barcode.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Auto">
- <summary>
- Indicates that correction level should be calculated automatically.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level0">
- <summary>
- Specifies level 0.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level1">
- <summary>
- Specifies level 1.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level2">
- <summary>
- Specifies level 2.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level3">
- <summary>
- Specifies level 3.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level4">
- <summary>
- Specifies level 4.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level5">
- <summary>
- Specifies level 5.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level6">
- <summary>
- Specifies level 6.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level7">
- <summary>
- Specifies level 7.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417ErrorCorrection.Level8">
- <summary>
- Specifies level 8.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.PDF417CompactionMode">
- <summary>
- Specifies the compaction mode used for PDF417 barcode.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417CompactionMode.Auto">
- <summary>
- Indicates that compaction mode should be calculated automatically.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417CompactionMode.Text">
- <summary>
- Specifies the text compaction mode.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417CompactionMode.Numeric">
- <summary>
- Specifies the numeric compaction mode.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.PDF417CompactionMode.Binary">
- <summary>
- Specifies the binary compaction mode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodePDF417">
- <summary>
- Generates the 2D PDF417 barcode.
- </summary>
- <example>This example shows how to configure the BarcodeObject to display PDF417 barcode.
- <code>
- BarcodeObject barcode;
- ...
- barcode.Barcode = new BarcodePDF417();
- (barcode.Barcode as BarcodePDF417).CompactionMode = PDF417CompactionMode.Text;
- </code>
- </example>
- </member>
- <member name="M:FastReport.Barcode.BarcodePDF417.PaintCode">
- Paints the barcode. If no exception was thrown a valid barcode is available.
- </member>
- <member name="M:FastReport.Barcode.BarcodePDF417.Assign(FastReport.Barcode.BarcodeBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodePDF417.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodePDF417"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.AspectRatio">
- <summary>
- Gets or sets the barcode aspect ratio.
- </summary>
- <remarks>
- A ratio or 0.5 will make the barcode width twice as large as the height.
- </remarks>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.Columns">
- <summary>
- Gets or sets the number of barcode data columns.
- </summary>
- <remarks>
- To calculate the necessary number of columns and rows, set the <see cref="P:FastReport.Barcode.BarcodePDF417.Columns"/>
- and <see cref="P:FastReport.Barcode.BarcodePDF417.Rows"/> properties to 0. In this case, the <see cref="P:FastReport.Barcode.BarcodePDF417.AspectRatio"/> property
- should be set to desired aspect ratio.
- </remarks>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.Rows">
- <summary>
- Gets or sets the number of barcode data rows.
- </summary>
- <remarks>
- To calculate the necessary number of columns and rows, set the <see cref="P:FastReport.Barcode.BarcodePDF417.Columns"/>
- and <see cref="P:FastReport.Barcode.BarcodePDF417.Rows"/> properties to 0. In this case, the <see cref="P:FastReport.Barcode.BarcodePDF417.AspectRatio"/> property
- should be set to desired aspect ratio.
- </remarks>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.ErrorCorrection">
- <summary>
- Gets or sets the error level correction used for the barcode.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.CodePage">
- <summary>
- Gets or sets the code page used for text conversion.
- </summary>
- <remarks>
- Use this property to encode non-ASCII characters. For example, set this
- property to <b>1251</b> to use Window CP1251.
- </remarks>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.CompactionMode">
- <summary>
- Gets or sets the compaction mode.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodePDF417.PixelSize">
- <summary>
- Gets or sets the size of the pixel.
- </summary>
- </member>
- <member name="T:FastReport.Design.ToolWindows.ReportTreeWindow">
- <summary>
- Represents the "Report Tree" window.
- </summary>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ReportTreeWindow.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ReportTreeWindow.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ReportTreeWindow.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.ReportTreeWindow.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ToolWindows.ReportTreeWindow"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="T:FastReport.TypeConverters.ComponentRefConverter">
- <summary>
- Provides a type converter for a property representing a reference to another component in a report.
- </summary>
- </member>
- <member name="M:FastReport.TypeConverters.ComponentRefConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.ComponentRefConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.ComponentRefConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.ComponentRefConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.PictureObject">
- <summary>
- Represents a Picture object that can display pictures.
- </summary>
- <remarks>
- The Picture object can display the following kind of pictures:
- <list type="bullet">
- <item>
- <description>picture that is embedded in the report file. Use the <see cref="P:FastReport.PictureObject.Image"/>
- property to do this;</description>
- </item>
- <item>
- <description>picture that is stored in the database BLOb field. Use the <see cref="P:FastReport.PictureObject.DataColumn"/>
- property to specify the name of data column you want to show;</description>
- </item>
- <item>
- <description>picture that is stored in the local disk file. Use the <see cref="P:FastReport.PictureObject.ImageLocation"/>
- property to specify the name of the file;</description>
- </item>
- <item>
- <description>picture that is stored in the Web. Use the <see cref="P:FastReport.PictureObject.ImageLocation"/>
- property to specify the picture's URL.</description>
- </item>
- </list>
- <para/>Use the <see cref="P:FastReport.PictureObject.SizeMode"/> property to specify a size mode. The <see cref="P:FastReport.PictureObject.MaxWidth"/>
- and <see cref="P:FastReport.PictureObject.MaxHeight"/> properties can be used to restrict the image size if <b>SizeMode</b>
- is set to <b>AutoSize</b>.
- <para/>The <see cref="P:FastReport.PictureObject.TransparentColor"/> property can be used to display an image with
- transparent background. Use the <see cref="P:FastReport.PictureObject.Transparency"/> property if you want to display
- semi-transparent image.
- </remarks>
- </member>
- <member name="M:FastReport.PictureObject.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.DrawImage(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the image.
- </summary>
- <param name="e">Paint event args.</param>
- </member>
- <member name="M:FastReport.PictureObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.HandleDragOver(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.HandleDragDrop(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.InvokeEditor">
- <summary>
- Invokes the object's editor.
- </summary>
- <returns><b>true</b> if object was edited succesfully.</returns>
- </member>
- <member name="M:FastReport.PictureObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.FinalizeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PictureObject.ForceLoadImage">
- <summary>
- Forces loading the image from a data column.
- </summary>
- <remarks>
- Call this method in the <b>AfterData</b> event handler to force loading an image
- into the <see cref="P:FastReport.PictureObject.Image"/> property. Normally, the image is stored internally as byte[] array
- and never loaded into the <b>Image</b> property, to save the time. The side effect is that you
- can't analyze the image properties such as width and height. If you need this, call this method
- before you access the <b>Image</b> property. Note that this will significantly slow down the report.
- </remarks>
- </member>
- <member name="M:FastReport.PictureObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PictureObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.Image">
- <summary>
- Gets or sets the image.
- </summary>
- <remarks>
- By default, image that you assign to this property is never disposed - you should
- take care about it. If you want to dispose the image when this <b>PictureObject</b> is disposed,
- set the <see cref="P:FastReport.PictureObject.ShouldDisposeImage"/> property to <b>true</b> right after you assign an image:
- <code>
- myPictureObject.Image = new Bitmap("file.bmp");
- myPictureObject.ShouldDisposeImage = true;
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.PictureObject.SizeMode">
- <summary>
- Gets or sets a value that specifies how an image is positioned within a PictureObject.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.MaxWidth">
- <summary>
- Gets or sets the maximum width of a Picture object, in pixels.
- </summary>
- <remarks>
- Use this property to restrict the object size if the <see cref="P:FastReport.PictureObject.SizeMode"/> property
- is set to <b>AutoSize</b>.
- </remarks>
- </member>
- <member name="P:FastReport.PictureObject.MaxHeight">
- <summary>
- Gets or sets the maximum height of a Picture object, in pixels.
- </summary>
- <remarks>
- Use this property to restrict the object size if the <see cref="P:FastReport.PictureObject.SizeMode"/> property
- is set to <b>AutoSize</b>.
- </remarks>
- </member>
- <member name="P:FastReport.PictureObject.Padding">
- <summary>
- Gets or sets padding within the PictureObject.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.ImageLocation">
- <summary>
- Gets or sets the path for the image to display in the PictureObject.
- </summary>
- <remarks>
- This property may contain the path to the image file as well as external URL.
- </remarks>
- </member>
- <member name="P:FastReport.PictureObject.DataColumn">
- <summary>
- Gets or sets the data column name to get the image from.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.TransparentColor">
- <summary>
- Gets or sets the color of the image that will be treated as transparent.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.Transparency">
- <summary>
- Gets or sets the transparency of the PictureObject.
- </summary>
- <remarks>
- Valid range of values is 0..1. Default value is 0.
- </remarks>
- </member>
- <member name="P:FastReport.PictureObject.ShowErrorImage">
- <summary>
- Gets or sets a value indicating whether the PictureObject should display
- the error indicator if there is no image in it.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.Tile">
- <summary>
- Gets or sets a value indicating that the image should be tiled.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.Angle">
- <summary>
- Gets or sets the image rotation angle, in degrees. Possible values are 0, 90, 180, 270.
- </summary>
- </member>
- <member name="P:FastReport.PictureObject.ShouldDisposeImage">
- <summary>
- Gets or sets a value indicating that the image stored in the <see cref="P:FastReport.PictureObject.Image"/>
- property should be disposed when this object is disposed.
- </summary>
- <remarks>
- By default, image assigned to the <see cref="P:FastReport.PictureObject.Image"/> property is never disposed - you should
- take care about it. If you want to dispose the image when this <b>PictureObject</b> is disposed,
- set this property to <b>true</b> right after you assign an image to the <see cref="P:FastReport.PictureObject.Image"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.PictureObject.Width">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.PictureObject.Height">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.SortOrder">
- <summary>
- Specifies a sort order.
- </summary>
- <remarks>
- This enumeration is used in the group header and in the "Matrix" object.
- </remarks>
- </member>
- <member name="F:FastReport.SortOrder.None">
- <summary>
- Specifies no sort (natural order).
- </summary>
- </member>
- <member name="F:FastReport.SortOrder.Ascending">
- <summary>
- Specifies an ascending sort order.
- </summary>
- </member>
- <member name="F:FastReport.SortOrder.Descending">
- <summary>
- Specifies a descending sort order.
- </summary>
- </member>
- <member name="T:FastReport.GroupHeaderBand">
- <summary>
- Represents a group header band.
- </summary>
- <remarks>
- A simple group consists of one <b>GroupHeaderBand</b> and the <b>DataBand</b> that is set
- to the <see cref="P:FastReport.GroupHeaderBand.Data"/> property. To create the nested groups, use the <see cref="P:FastReport.GroupHeaderBand.NestedGroup"/> property.
- <note type="caution">
- Only the last nested group can have data band.
- </note>
- <para/>Use the <see cref="P:FastReport.GroupHeaderBand.Condition"/> property to set the group condition. The <see cref="P:FastReport.GroupHeaderBand.SortOrder"/>
- property can be used to set the sort order for group's data rows. You can also use the <b>Sort</b>
- property of the group's <b>DataBand</b> to specify additional sort.
- </remarks>
- <example>This example shows how to create nested groups.
- <code>
- ReportPage page = report.Pages[0] as ReportPage;
-
- // create the main group
- GroupHeaderBand mainGroup = new GroupHeaderBand();
- mainGroup.Height = Units.Millimeters * 10;
- mainGroup.Name = "MainGroup";
- mainGroup.Condition = "[Orders.CustomerName]";
- // add a group to the page
- page.Bands.Add(mainGroup);
-
- // create the nested group
- GroupHeaderBand nestedGroup = new GroupHeaderBand();
- nestedGroup.Height = Units.Millimeters * 10;
- nestedGroup.Name = "NestedGroup";
- nestedGroup.Condition = "[Orders.OrderDate]";
- // add it to the main group
- mainGroup.NestedGroup = nestedGroup;
-
- // create a data band
- DataBand dataBand = new DataBand();
- dataBand.Height = Units.Millimeters * 10;
- dataBand.Name = "GroupData";
- dataBand.DataSource = report.GetDataSource("Orders");
- // connect the databand to the nested group
- nestedGroup.Data = dataBand;
- </code>
- </example>
- </member>
- <member name="T:FastReport.HeaderFooterBandBase">
- <summary>
- Base class for headers and footers which support the "Keep With Data" and "Repeat on Every Page" features.
- </summary>
- </member>
- <member name="M:FastReport.HeaderFooterBandBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HeaderFooterBandBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HeaderFooterBandBase.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.HeaderFooterBandBase.KeepWithData">
- <summary>
- Gets or sets a value indicating that the band should be printed together with data band.
- </summary>
- </member>
- <member name="P:FastReport.HeaderFooterBandBase.RepeatOnEveryPage">
- <summary>
- Gets or sets a value that determines whether to repeat this band on every page.
- </summary>
- <remarks>
- When band is repeated, its <see cref="P:FastReport.BandBase.Repeated"/> property is set to <b>true</b>. You can use
- it to show any additional information on the band. To do this,
- use the <see cref="P:FastReport.ReportComponentBase.PrintOn"/> property which
- can be set to "Rpeeated". In that case the object will be printed
- only on the repeated band.
- </remarks>
- </member>
- <member name="M:FastReport.GroupHeaderBand.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GroupHeaderBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.GroupHeaderBand"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.GroupHeaderBand.NestedGroup">
- <summary>
- Gets or sets a nested group.
- </summary>
- <remarks>
- Use this property to create nested groups.
- <note type="caution">
- Only the last nested group can have data band.
- </note>
- </remarks>
- <example>
- This example demonstrates how to create a group with nested group.
- <code>
- ReportPage page;
- GroupHeaderBand group = new GroupHeaderBand();
- group.NestedGroup = new GroupHeaderBand();
- group.NestedGroup.Data = new DataBand();
- page.Bands.Add(group);
- </code>
- </example>
- </member>
- <member name="P:FastReport.GroupHeaderBand.Data">
- <summary>
- Gets or sets the group data band.
- </summary>
- <remarks>
- Use this property to add a data band to a group. Note: only the last nested group can have Data band.
- </remarks>
- <example>
- This example demonstrates how to add a data band to a group.
- <code>
- ReportPage page;
- GroupHeaderBand group = new GroupHeaderBand();
- group.Data = new DataBand();
- page.Bands.Add(group);
- </code>
- </example>
- </member>
- <member name="P:FastReport.GroupHeaderBand.GroupFooter">
- <summary>
- Gets or sets a group footer.
- </summary>
- </member>
- <member name="P:FastReport.GroupHeaderBand.Header">
- <summary>
- Gets or sets a header band.
- </summary>
- </member>
- <member name="P:FastReport.GroupHeaderBand.Footer">
- <summary>
- Gets or sets a footer band.
- </summary>
- <remarks>
- To access a group footer band, use the <see cref="P:FastReport.GroupHeaderBand.GroupFooter"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.GroupHeaderBand.Condition">
- <summary>
- Gets or sets the group condition.
- </summary>
- <remarks>
- This property can contain any valid expression. When running a report, this expression is calculated
- for each data row. When the value of this condition is changed, FastReport starts a new group.
- </remarks>
- </member>
- <member name="P:FastReport.GroupHeaderBand.SortOrder">
- <summary>
- Gets or sets the sort order.
- </summary>
- <remarks>
- FastReport can sort data rows automatically using the <see cref="P:FastReport.GroupHeaderBand.Condition"/> value.
- </remarks>
- </member>
- <member name="P:FastReport.GroupHeaderBand.KeepTogether">
- <summary>
- Gets or sets a value indicating that the group should be printed together on one page.
- </summary>
- </member>
- <member name="P:FastReport.GroupHeaderBand.ResetPageNumber">
- <summary>
- Gets or sets a value that determines whether to reset the page numbers when this group starts print.
- </summary>
- <remarks>
- Typically you should set the <see cref="P:FastReport.BandBase.StartNewPage"/> property to <b>true</b> as well.
- </remarks>
- </member>
- <member name="T:FastReport.Controls.LabelLine">
- <summary>
- Represents the label with line.
- </summary>
- </member>
- <member name="M:FastReport.Controls.LabelLine.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.LabelLine.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.LabelLine"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.ListBoxBaseControl">
- <summary>
- Base class for list box controls such as <b>ListBoxControl</b>, <b>CheckedListBoxControl</b>.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.FillData(FastReport.Data.DataSourceBase,FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.OnSelectedIndexChanged(System.EventArgs)">
- <summary>
- This method fires the <b>SelectedIndexChanged</b> event and the script code connected to the <b>SelectedIndexChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.OnMeasureItem(System.Windows.Forms.MeasureItemEventArgs)">
- <summary>
- This method fires the <b>MeasureItem</b> event and the script code connected to the <b>MeasureItemEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ListBoxBaseControl.OnDrawItem(System.Windows.Forms.DrawItemEventArgs)">
- <summary>
- This method fires the <b>DrawItem</b> event and the script code connected to the <b>DrawItemEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="E:FastReport.Dialog.ListBoxBaseControl.SelectedIndexChanged">
- <summary>
- Occurs when the <b>SelectedIndex</b> property has changed.
- Wraps the <see cref="E:System.Windows.Forms.ListBox.SelectedIndexChanged"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ListBoxBaseControl.MeasureItem">
- <summary>
- Occurs when an owner-drawn ListBox is created and the sizes of the list items are determined.
- Wraps the <see cref="E:System.Windows.Forms.ListBox.MeasureItem"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ListBoxBaseControl.DrawItem">
- <summary>
- Occurs when a visual aspect of an owner-drawn ListBox changes.
- Wraps the <see cref="E:System.Windows.Forms.ListBox.DrawItem"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.ColumnWidth">
- <summary>
- Gets or sets the width of columns in a multicolumn ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.ColumnWidth"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.DrawMode">
- <summary>
- Gets or sets the drawing mode for the control.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.DrawMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.ItemHeight">
- <summary>
- Gets or sets the height of an item in the ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.ItemHeight"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.Items">
- <summary>
- Gets the items of the ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.Items"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.MultiColumn">
- <summary>
- Gets or sets a value indicating whether the ListBox supports multiple columns.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.MultiColumn"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.SelectionMode">
- <summary>
- Gets or sets the method in which items are selected in the ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.SelectionMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.Sorted">
- <summary>
- Gets or sets a value indicating whether the items in the ListBox are sorted alphabetically.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.Sorted"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.UseTabStops">
- <summary>
- Gets or sets a value indicating whether the ListBox can recognize and expand tab characters when drawing its strings.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.UseTabStops"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.ItemsText">
- <summary>
- Gets or sets the string that contains all items text.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.SelectedIndex">
- <summary>
- Gets or sets the zero-based index of the currently selected item in a ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.SelectedIndex"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.SelectedIndices">
- <summary>
- Gets a collection that contains the zero-based indexes of all currently selected items in the ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.SelectedIndices"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.SelectedItem">
- <summary>
- Gets or sets the currently selected item in the ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.SelectedItem"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.SelectedItems">
- <summary>
- Gets a collection containing the currently selected items in the ListBox.
- Wraps the <see cref="P:System.Windows.Forms.ListBox.SelectedItems"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.SelectedIndexChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ListBoxBaseControl.SelectedIndexChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.MeasureItemEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ListBoxBaseControl.MeasureItem"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.DrawItemEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ListBoxBaseControl.DrawItem"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxBaseControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Data.ColumnCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.Column"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Data.ColumnCollection.FindByName(System.String)">
- <summary>
- Finds a column by its name.
- </summary>
- <param name="name">The name of a column.</param>
- <returns>The <see cref="T:FastReport.Data.Column"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.ColumnCollection.FindByAlias(System.String)">
- <summary>
- Finds a column by its alias.
- </summary>
- <param name="alias">The alias of a column.</param>
- <returns>The <see cref="T:FastReport.Data.Column"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.ColumnCollection.CreateUniqueName(System.String)">
- <summary>
- Returns an unique column name based on given name.
- </summary>
- <param name="name">The base name.</param>
- <returns>The unique name.</returns>
- </member>
- <member name="M:FastReport.Data.ColumnCollection.CreateUniqueAlias(System.String)">
- <summary>
- Returns an unique column alias based on given alias.
- </summary>
- <param name="alias">The base alias.</param>
- <returns>The unique alias.</returns>
- </member>
- <member name="M:FastReport.Data.ColumnCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.ColumnCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.ColumnCollection.Item(System.Int32)">
- <summary>
- Gets or sets a column.
- </summary>
- <param name="index">The index of a column in this collection.</param>
- <returns>The column with specified index.</returns>
- </member>
- <member name="T:FastReport.Data.RelationCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.Relation"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Data.RelationCollection.FindByName(System.String)">
- <summary>
- Finds a relation by its name.
- </summary>
- <param name="name">The name of a relation.</param>
- <returns>The <see cref="T:FastReport.Data.Relation"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.RelationCollection.FindByAlias(System.String)">
- <summary>
- Finds a relation by its alias.
- </summary>
- <param name="alias">The alias of a relation.</param>
- <returns>The <see cref="T:FastReport.Data.Relation"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.RelationCollection.FindEqual(FastReport.Data.Relation)">
- <summary>
- Finds a relation that is equal to specified one.
- </summary>
- <param name="rel">Another relation to compare with.</param>
- <returns>The <see cref="T:FastReport.Data.Relation"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.RelationCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.RelationCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.RelationCollection.Item(System.Int32)">
- <summary>
- Gets or sets a relation.
- </summary>
- <param name="index">The index of a relation in this collection.</param>
- <returns>The relation with specified index.</returns>
- </member>
- <member name="T:FastReport.Data.CommandParameterCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.CommandParameter"/> objects.
- </summary>
- <remarks>
- This class is used to store the list of parameters defined in the datasource. See the
- <see cref="P:FastReport.Data.TableDataSource.Parameters"/> property for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Data.CommandParameterCollection.FindByName(System.String)">
- <summary>
- Finds a parameter by its name.
- </summary>
- <param name="name">The name of a parameter.</param>
- <returns>The <see cref="T:FastReport.Data.CommandParameter"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.CommandParameterCollection.CreateUniqueName(System.String)">
- <summary>
- Returns an unique parameter name based on given name.
- </summary>
- <param name="name">The base name.</param>
- <returns>The unique name.</returns>
- </member>
- <member name="M:FastReport.Data.CommandParameterCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.CommandParameterCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.CommandParameterCollection.Item(System.Int32)">
- <summary>
- Gets or sets a parameter.
- </summary>
- <param name="index">The index of a parameter in this collection.</param>
- <returns>The parameter with specified index.</returns>
- </member>
- <member name="T:FastReport.Dialog.ListViewControl">
- <summary>
- Represents a Windows list view control, which displays a collection of items that can be displayed using one of four different views.
- Wraps the <see cref="T:System.Windows.Forms.ListView"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.OnItemChecked(System.Windows.Forms.ItemCheckedEventArgs)">
- <summary>
- This method fires the <b>ItemChecked</b> event and the script code connected to the <b>ItemCheckedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.OnSelectedIndexChanged(System.EventArgs)">
- <summary>
- This method fires the <b>SelectedIndexChanged</b> event and the script code connected to the <b>SelectedIndexChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ListViewControl.#ctor">
- <summary>
- Initializes a new instance of the <b>ListViewControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ListViewControl.ItemChecked">
- <summary>
- Occurs when the checked state of an item changes.
- Wraps the <see cref="E:System.Windows.Forms.ListView.ItemChecked"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ListViewControl.SelectedIndexChanged">
- <summary>
- Occurs when the index of the selected item in the list view control changes.
- Wraps the <see cref="E:System.Windows.Forms.ListView.SelectedIndexChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.ListView">
- <summary>
- Gets an internal <b>ListView</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.CheckBoxes">
- <summary>
- Gets or sets a value indicating whether a check box appears next to each item in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.CheckBoxes"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.MultiSelect">
- <summary>
- Gets or sets a value indicating whether multiple items can be selected.
- Wraps the <see cref="P:System.Windows.Forms.ListView.MultiSelect"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.ShowGroups">
- <summary>
- Gets or sets a value indicating whether items are displayed in groups.
- Wraps the <see cref="P:System.Windows.Forms.ListView.ShowGroups"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.View">
- <summary>
- Gets or sets how items are displayed in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.View"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.ItemCheckedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ListViewControl.ItemChecked"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.SelectedIndexChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ListViewControl.SelectedIndexChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.CheckedIndices">
- <summary>
- Gets the indexes of the currently checked items in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.CheckedIndices"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.CheckedItems">
- <summary>
- Gets the currently checked items in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.CheckedItems"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.Columns">
- <summary>
- Gets the collection of all column headers that appear in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.Columns"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.Groups">
- <summary>
- Gets the collection of ListViewGroup objects assigned to the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.Groups"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.Items">
- <summary>
- Gets a collection containing all items in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.Items"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.LargeImageList">
- <summary>
- Gets or sets the ImageList to use when displaying items as large icons in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.LargeImageList"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.SelectedIndices">
- <summary>
- Gets the indexes of the selected items in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.SelectedIndices"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.SelectedItems">
- <summary>
- Gets the items that are selected in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.SelectedItems"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.SmallImageList">
- <summary>
- Gets or sets the ImageList to use when displaying items as small icons in the control.
- Wraps the <see cref="P:System.Windows.Forms.ListView.SmallImageList"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListViewControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Wizards.InheritedReportWizard">
- <summary>
- Represents the "Inherited Report" wizard.
- </summary>
- </member>
- <member name="M:FastReport.Wizards.InheritedReportWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TextObjectBaseMenu">
- <summary>
- The class introduces some menu items specific to the <b>TextObjectBase</b>.
- </summary>
- </member>
- <member name="F:FastReport.TextObjectBaseMenu.miFormat">
- <summary>
- The "Format" menu item.
- </summary>
- </member>
- <member name="F:FastReport.TextObjectBaseMenu.miAllowExpressions">
- <summary>
- The "Allow Expressions" menu item.
- </summary>
- </member>
- <member name="M:FastReport.TextObjectBaseMenu.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <b>TextObjectBaseMenu</b>
- class with default settings.
- </summary>
- <param name="designer">The reference to a report designer.</param>
- </member>
- <member name="T:FastReport.Forms.ExceptionForm">
- <summary>
- Represents the FastReport exception form.
- </summary>
- </member>
- <member name="F:FastReport.Forms.ExceptionForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ExceptionForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ExceptionForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ExceptionForm.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Forms.ExceptionForm.#ctor(System.Exception)">
- <summary>
- Creates a new instance ofthe form.
- </summary>
- <param name="ex">The exception object which data to display in the form.</param>
- </member>
- <member name="T:FastReport.Export.OoXML.Word2007Export">
- <summary>
- MS Word 2007 export class
- </summary>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Word2007Export.#ctor">
- <summary>
- Initializes a new instance of the Word2007Export class.
- </summary>
- </member>
- <member name="P:FastReport.Export.OoXML.Word2007Export.MatrixBased">
- <summary>
- Enable or disable matrix view of document
- </summary>
- </member>
- <member name="P:FastReport.Export.OoXML.Word2007Export.Wysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting Excel file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient">
- <summary>
- SkyDrive cloud storage client.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.#ctor(FastReport.Cloud.StorageClient.SkyDrive.ClientInfo)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient"/> class.
- </summary>
- <param name="clientInfo">The client info.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.GetAuthorizationUrl">
- <summary>
- Gets the authorization URL.
- </summary>
- <returns>The authorization URL string.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.GetAccessToken">
- <summary>
- Gets the access token.
- </summary>
- <returns>The access token value.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.SaveReport(FastReport.Report,FastReport.Export.ExportBase)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.ClientInfo">
- <summary>
- Gets or sets the client info.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.AuthCode">
- <summary>
- Gets or sets the authorization code.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient.AccessToken">
- <summary>
- Gets or sets the access token.
- </summary>
- </member>
- <member name="T:FastReport.ZipCodeObject">
- <summary>
- Represents a zip code object.
- </summary>
- <remarks>
- This object is mainly used in Russia to print postal index on envelopes. It complies with the
- GOST R 51506-99.
- </remarks>
- </member>
- <member name="M:FastReport.ZipCodeObject.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.OnAfterInsert(FastReport.InsertFrom)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ZipCodeObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ZipCodeObject"/> with the default settings.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.SegmentWidth">
- <summary>
- Gets or sets the width of a single zipcode segment, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.SegmentHeight">
- <summary>
- Gets or sets the height of a single zipcode segment, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.Spacing">
- <summary>
- Gets or sets the spacing between origins of segments, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.SegmentCount">
- <summary>
- Gets or sets the number of segments in zipcode.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.ShowMarkers">
- <summary>
- Gets or sets a value indicating whether the reference markers should be drawn.
- </summary>
- <remarks>
- Reference markers are used by postal service to automatically read the zipcode.
- </remarks>
- </member>
- <member name="P:FastReport.ZipCodeObject.ShowGrid">
- <summary>
- Gets or sets a value indicating whether the segment grid should be drawn.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.DataColumn">
- <summary>
- Gets or sets a data column name bound to this control.
- </summary>
- <remarks>
- Value must be in the form "Datasource.Column".
- </remarks>
- </member>
- <member name="P:FastReport.ZipCodeObject.Expression">
- <summary>
- Gets or sets an expression that contains the zip code.
- </summary>
- </member>
- <member name="P:FastReport.ZipCodeObject.Text">
- <summary>
- Gets or sets the zip code.
- </summary>
- </member>
- <member name="T:FastReport.Utils.SerializeTo">
- <summary>
- Specifies the target for the serialize operation.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SerializeTo.Report">
- <summary>
- Serialize to the report file.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SerializeTo.Preview">
- <summary>
- Serialize to the preview pages.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SerializeTo.SourcePages">
- <summary>
- Serialize to the source pages of a preview.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SerializeTo.Clipboard">
- <summary>
- Serialize to the designer's clipboard.
- </summary>
- </member>
- <member name="F:FastReport.Utils.SerializeTo.Undo">
- <summary>
- Serialize to the designer's undo/redo buffer.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FRWriter">
- <summary>
- The writer used to serialize object's properties to a report file.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRWriter.Write(FastReport.IFRSerializable)">
- <summary>
- Serializes the specified object.
- </summary>
- <param name="obj">The object to serialize.</param>
- <remarks>
- The object must implement the <see cref="T:FastReport.IFRSerializable"/> interface. This method
- invokes the <b>Serialize</b> method of the object.
- </remarks>
- <example>This example demonstrates the use of writer.
- <code>
- public void Serialize(FRWriter writer)
- {
- // get the etalon object. It will be used to write changed properties only.
- Base c = writer.DiffObject as Base;
-
- // write the type name
- writer.ItemName = ClassName;
-
- // write properties
- if (Name != "")
- writer.WriteStr("Name", Name);
- if (Restrictions != c.Restrictions)
- writer.WriteValue("Restrictions", Restrictions);
-
- // write child objects if allowed
- if (writer.SaveChildren)
- {
- foreach (Base child in ChildObjects)
- {
- writer.Write(child);
- }
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.FRWriter.Write(FastReport.IFRSerializable,System.Object)">
- <summary>
- Serializes the object using specified etalon.
- </summary>
- <param name="obj">The object to serialize.</param>
- <param name="diff">The etalon object.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteStr(System.String,System.String)">
- <summary>
- Writes a string property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteBool(System.String,System.Boolean)">
- <summary>
- Writes a boolean property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteInt(System.String,System.Int32)">
- <summary>
- Writes an integer property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteFloat(System.String,System.Single)">
- <summary>
- Writes a float property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteDouble(System.String,System.Double)">
- <summary>
- Writes a double property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteValue(System.String,System.Object)">
- <summary>
- Writes an enumeration property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WriteRef(System.String,FastReport.Base)">
- <summary>
- Writes an object reference property.
- </summary>
- <param name="name">Property name.</param>
- <param name="value">Property value.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.WritePropertyValue(System.String,System.String)">
- <summary>
- Writes a standalone property value.
- </summary>
- <param name="name">Name of property.</param>
- <param name="value">Property value.</param>
- <remarks>
- This method produces the following output:
- <PropertyName>PropertyValue</PropertyName>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.FRWriter.AreEqual(System.Object,System.Object)">
- <summary>
- Determines if two objects are equal.
- </summary>
- <param name="obj1">The first object.</param>
- <param name="obj2">The second object.</param>
- <returns><b>true</b> if objects will be serialized to the same value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRWriter.Dispose">
- <summary>
- Disposes the writer.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRWriter.Save(System.IO.Stream)">
- <summary>
- Saves the writer output to a stream.
- </summary>
- <param name="stream">Stream to save to.</param>
- </member>
- <member name="M:FastReport.Utils.FRWriter.#ctor">
- <summary>
- Initializes a new instance of the <b>FRWriter</b> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRWriter.#ctor(FastReport.Utils.XmlItem)">
- <summary>
- Initializes a new instance of the <b>FRWriter</b> class with specified xml item that will
- receive writer's output.
- </summary>
- <param name="root">The xml item that will receive writer's output.</param>
- </member>
- <member name="P:FastReport.Utils.FRWriter.ItemName">
- <summary>
- Gets or sets current xml item name.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRWriter.SerializeTo">
- <summary>
- Gets or sets target of serialization.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRWriter.DiffObject">
- <summary>
- Gets the ethalon object to compare with.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRWriter.SaveChildren">
- <summary>
- Gets or sets a value that determines whether is necessary to serialize child objects.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FRReader">
- <summary>
- The reader used to deserialize object's properties from a report file.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRReader.Read(FastReport.IFRSerializable)">
- <summary>
- Reads the specified object.
- </summary>
- <param name="obj">The object to read.</param>
- <remarks>
- The object must implement the <see cref="T:FastReport.IFRSerializable"/> interface. This method
- invokes the <b>Deserialize</b> method of the object.
- </remarks>
- <example>This example demonstrates the use of <b>ReadProperties</b>, <b>ReadChildren</b>,
- <b>NextItem</b>, <b>Read</b> methods.
- <code>
- public void Deserialize(FRReader reader)
- {
- // read simple properties like "Text", complex properties like "Border.Lines"
- reader.ReadProperties(this);
-
- // moves the current reader item
- while (reader.NextItem())
- {
- // read the "Styles" collection
- if (String.Compare(reader.ItemName, "Styles", true) == 0)
- reader.Read(Styles);
- else if (reader.ReadChildren)
- {
- // if read of children is enabled, read them
- Base obj = reader.Read();
- if (obj != null)
- obj.Parent = this;
- }
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.FRReader.Read">
- <summary>
- Reads an object from current xml node.
- </summary>
- <returns>The object.</returns>
- <remarks>
- This method creates an instance of object described by the current xml node, then invokes
- its <b>Deserialize</b> method.
- </remarks>
- <example>This example demonstrates the use of <b>ReadProperties</b>, <b>ReadChildren</b>,
- <b>NextItem</b>, <b>Read</b> methods.
- <code>
- public void Deserialize(FRReader reader)
- {
- // read simple properties like "Text", complex properties like "Border.Lines"
- reader.ReadProperties(this);
-
- // moves the current reader item
- while (reader.NextItem())
- {
- // read the "Styles" collection
- if (String.Compare(reader.ItemName, "Styles", true) == 0)
- reader.Read(Styles);
- else if (reader.ReadChildren)
- {
- // if read of children is enabled, read them
- Base obj = reader.Read();
- if (obj != null)
- obj.Parent = this;
- }
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadProperties(System.Object)">
- <summary>
- Reads properties of specified object.
- </summary>
- <param name="obj">The object to read.</param>
- <remarks>
- This method reads simple properties like "Text", "Border.Lines" etc. for specified object.
- To read nested properties like collections, you should override the <see cref="M:FastReport.Base.DeserializeSubItems(FastReport.Utils.FRReader)"/>
- method of an object.
- </remarks>
- <example>This example demonstrates the use of <b>ReadProperties</b>, <b>ReadChildren</b>,
- <b>NextItem</b>, <b>Read</b> methods.
- <code>
- public void Deserialize(FRReader reader)
- {
- // read simple properties like "Text", complex properties like "Border.Lines"
- reader.ReadProperties(this);
-
- // moves the current reader item
- while (reader.NextItem())
- {
- // read the "Styles" collection
- if (String.Compare(reader.ItemName, "Styles", true) == 0)
- reader.Read(Styles);
- else if (reader.ReadChildren)
- {
- // if read of children is enabled, read them
- Base obj = reader.Read();
- if (obj != null)
- obj.Parent = this;
- }
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.FRReader.NextItem">
- <summary>
- Moves the current xml item.
- </summary>
- <returns><b>false</b> if there is no more items to move on; <b>true</b> otherwise.</returns>
- <remarks>
- This method is used to read child objects.
- </remarks>
- <example>This example demonstrates the use of <b>ReadProperties</b>, <b>ReadChildren</b>,
- <b>NextItem</b>, <b>Read</b> methods.
- <code>
- public void Deserialize(FRReader reader)
- {
- // read simple properties like "Text", complex properties like "Border.Lines"
- reader.ReadProperties(this);
-
- // moves the current reader item
- while (reader.NextItem())
- {
- // read the "Styles" collection
- if (String.Compare(reader.ItemName, "Styles", true) == 0)
- reader.Read(Styles);
- else if (reader.ReadChildren)
- {
- // if read of children is enabled, read them
- Base obj = reader.Read();
- if (obj != null)
- obj.Parent = this;
- }
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.FRReader.HasProperty(System.String)">
- <summary>
- Checks if current item has specified property.
- </summary>
- <param name="name">The property name to check.</param>
- <returns><b>true</b> if current item has specified property.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadStr(System.String)">
- <summary>
- Reads the string property.
- </summary>
- <param name="name">Name of property.</param>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadBool(System.String)">
- <summary>
- Reads the boolean property.
- </summary>
- <param name="name">Name of property.</param>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadInt(System.String)">
- <summary>
- Reads the integer property.
- </summary>
- <param name="name">Name of property.</param>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadFloat(System.String)">
- <summary>
- Reads the float property.
- </summary>
- <param name="name">Name of property.</param>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadDouble(System.String)">
- <summary>
- Reads the double property.
- </summary>
- <param name="name">Name of property.</param>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadValue(System.String,System.Type)">
- <summary>
- Reads the enum property.
- </summary>
- <param name="name">Name of property.</param>
- <param name="typ">Type of property.</param>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.ReadPropertyValue">
- <summary>
- Reads the standalone property value.
- </summary>
- <returns>Property value.</returns>
- </member>
- <member name="M:FastReport.Utils.FRReader.Dispose">
- <summary>
- Disposes the reader, fixups the property references.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRReader.Load(System.IO.Stream)">
- <summary>
- Loads the xml items from a stream.
- </summary>
- <param name="stream">The stream to load from.</param>
- </member>
- <member name="M:FastReport.Utils.FRReader.#ctor(FastReport.Report)">
- <summary>
- Initializes a new instance of the <b>FRReader</b> class with specified report.
- </summary>
- <param name="report">Reference to a report.</param>
- </member>
- <member name="M:FastReport.Utils.FRReader.#ctor(FastReport.Report,FastReport.Utils.XmlItem)">
- <summary>
- Initializes a new instance of the <b>FRReader</b> class with specified report and xml item with
- contents to read.
- </summary>
- <param name="report">Reference to a report.</param>
- <param name="root">Xml item with contents to read.</param>
- </member>
- <member name="P:FastReport.Utils.FRReader.Errors">
- <summary>
- Gets a string that contains errors occured during the load.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRReader.ItemName">
- <summary>
- Gets the current item name.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRReader.ReadChildren">
- <summary>
- Gets or sets a value indicating whther is necessary to read the object's children.
- </summary>
- </member>
- <member name="T:FastReport.Utils.Converter">
- <summary>
- Contains methods that peform string to object and vice versa conversions.
- </summary>
- </member>
- <member name="M:FastReport.Utils.Converter.ToString(System.Object)">
- <summary>
- Converts an object to a string.
- </summary>
- <param name="value">The object to convert.</param>
- <returns>The string that contains the converted value.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.ToString(System.Object,System.Type)">
- <summary>
- Converts a value to a string using the specified converter.
- </summary>
- <param name="value">The object to convert.</param>
- <param name="converterType">The type of converter.</param>
- <returns>The string that contains the converted value.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.FromString(System.Type,System.String)">
- <summary>
- Converts a string value to the specified data type.
- </summary>
- <param name="type">The data type to convert to.</param>
- <param name="value">The string to convert from.</param>
- <returns>The object of type specified in the <b>type</b> parameter that contains
- a converted value.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.FromString(System.String,System.Type)">
- <summary>
- Converts a string to an object using the specified converter.
- </summary>
- <param name="value">The string to convert.</param>
- <param name="converterType">The type of converter.</param>
- <returns>The object that contains the converted value.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.ToXml(System.String)">
- <summary>
- Converts a string containing special symbols to the xml-compatible string.
- </summary>
- <param name="s">The string to convert.</param>
- <returns>The result string.</returns>
- <remarks>
- This method replaces some special symbols like <, > into xml-compatible
- form: &lt;, &gt;. To convert such string back to original form, use the
- <see cref="M:FastReport.Utils.Converter.FromXml(System.String)"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Converter.ToXml(System.String,System.Boolean)">
- <summary>
- Converts a string containing special symbols to the xml-compatible string.
- </summary>
- <param name="s">The string to convert.</param>
- <param name="convertCrlf">Determines whether it is necessary to convert cr-lf symbols to xml form.</param>
- <returns>The result string.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.ToXml(System.Object)">
- <summary>
- Converts a value to xml-compatible string.
- </summary>
- <param name="value">The value to convert.</param>
- <returns>The result string.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.FromXml(System.String)">
- <summary>
- Convert the xml-compatible string to the regular one.
- </summary>
- <param name="s">The string to convert.</param>
- <returns>The result string.</returns>
- <remarks>
- This is counterpart to the <see cref="M:FastReport.Utils.Converter.ToXml(System.String)"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Converter.DecreasePrecision(System.Single,System.Int32)">
- <summary>
- Decreases the precision of floating-point value.
- </summary>
- <param name="value">The initial value.</param>
- <param name="precision">The number of decimal digits in the fraction.</param>
- <returns>The value with lesser precision.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.StringToFloat(System.String)">
- <summary>
- Converts a string value to the float.
- </summary>
- <param name="value">The string value to convert.</param>
- <returns>The float value.</returns>
- <remarks>
- Both "." or "," decimal separators are allowed.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Converter.StringToFloat(System.String,System.Boolean)">
- <summary>
- Converts a string value to the float.
- </summary>
- <param name="value">The string value to convert.</param>
- <param name="removeNonDigit">Indicates whether to ignore non-digit symbols.</param>
- <returns>The float value.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.StringToIList(System.String,System.Collections.IList)">
- <summary>
- Converts the string containing several text lines to a collection of strings.
- </summary>
- <param name="text">The string to convert.</param>
- <param name="list">The collection instance.</param>
- </member>
- <member name="M:FastReport.Utils.Converter.IListToString(System.Collections.IList)">
- <summary>
- Converts a collection of strings to a string.
- </summary>
- <param name="list">The collection to convert.</param>
- <returns>The string that contains all lines from the collection.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.ConvertNull(System.Type)">
- <summary>
- Converts <b>null</b> value to 0, false, empty string, depending on <b>type</b>.
- </summary>
- <param name="type">The data type.</param>
- <returns>The value of the <b>type</b> data type.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.StringToByteArray(System.String)">
- <summary>
- Converts <b>string</b> value to <b>byte[]</b>.
- </summary>
- <param name="Str">The string to convert</param>
- <returns>The value of the <b>byte[]</b> data type.</returns>
- </member>
- <member name="M:FastReport.Utils.Converter.StringToNameValueCollection(System.String)">
- <summary>
- Converts a string to NameValueCollection.
- </summary>
- <param name="text">The string to convert.</param>
- <returns>The NameValueCollection that contains the name/value pairs.</returns>
- </member>
- <member name="T:FastReport.Design.ToolWindows.PropertiesWindow">
- <summary>
- Represents the "Properties" window.
- </summary>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.PropertiesWindow.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ToolWindows.PropertiesWindow"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="T:FastReport.TypeEditors.ItemsEditor">
- <summary>
- Provides a user interface for editing a string collection.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.ItemsEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.ItemsEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TextObjectMenu">
- <summary>
- The class introduces some menu items specific to the <b>TextObject</b>.
- </summary>
- </member>
- <member name="F:FastReport.TextObjectMenu.miClear">
- <summary>
- The "Clear" menu item.
- </summary>
- </member>
- <member name="F:FastReport.TextObjectMenu.miAutoWidth">
- <summary>
- The "Auto Width" menu item.
- </summary>
- </member>
- <member name="F:FastReport.TextObjectMenu.miWordWrap">
- <summary>
- The "Word Wrap" menu item.
- </summary>
- </member>
- <member name="M:FastReport.TextObjectMenu.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <b>TextObjectMenu</b>
- class with default settings.
- </summary>
- <param name="designer">The reference to a report designer.</param>
- </member>
- <member name="T:FastReport.SelectedTextObjects">
- <summary>
- Holds the list of <see cref="T:FastReport.TextObject"/> objects currently selected in the designer.
- </summary>
- <remarks>
- This class is used by the "Text" toolbar. Use methods of this class to perform some
- operations on the selected objects.
- <para/>Note: after calling any method in this class, call the
- <see cref="M:FastReport.Design.Designer.SetModified">Designer.SetModified</see> method to reflect changes.
- <para/>Note: this list contains only objects of <see cref="T:FastReport.TextObject"/> type. If you want to access all
- selected objects, use the <see cref="P:FastReport.Design.Designer.SelectedObjects"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetFontName(System.String)">
- <summary>
- Sets the font name for the selected objects.
- </summary>
- <param name="name">Font name.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetFontSize(System.Single)">
- <summary>
- Sets the font size for the selected objects.
- </summary>
- <param name="size">Font size.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.ToggleFontStyle(System.Drawing.FontStyle,System.Boolean)">
- <summary>
- Toggles the specified font style for the selected objects.
- </summary>
- <param name="style">Font style.</param>
- <param name="toggle">Toggle value.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetHAlign(FastReport.HorzAlign)">
- <summary>
- Sets the horizontal text alignment for tthe selected objects.
- </summary>
- <param name="align">Alignment to set.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetVAlign(FastReport.VertAlign)">
- <summary>
- Sets the vertical text alignment for tthe selected objects.
- </summary>
- <param name="align">Alignment to set.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetTextColor(System.Drawing.Color)">
- <summary>
- Sets the text color for the selected objects.
- </summary>
- <param name="color">Text color.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetAngle(System.Int32)">
- <summary>
- Sets the angle for the selected objects.
- </summary>
- <param name="angle">Angle to set.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetAutoWidth(System.Boolean)">
- <summary>
- Sets the AutoWidth property value for the selected objects.
- </summary>
- <param name="value">Value to set.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetWordWrap(System.Boolean)">
- <summary>
- Sets the WordWrap property value for the selected objects.
- </summary>
- <param name="value">Value to set.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.SetConditions(FastReport.ConditionCollection)">
- <summary>
- Sets the highlight conditions for the selected objects.
- </summary>
- <param name="value">Highlight conditions.</param>
- </member>
- <member name="M:FastReport.SelectedTextObjects.ClearText">
- <summary>
- Clears the text of the selected objects.
- </summary>
- </member>
- <member name="M:FastReport.SelectedTextObjects.InvokeHighlightEditor">
- <summary>
- Invokes the highlight editor for the selected objects.
- </summary>
- <returns><b>true</b> if editor was closed with the OK button.</returns>
- </member>
- <member name="P:FastReport.SelectedTextObjects.First">
- <summary>
- Gets the first selected object.
- </summary>
- </member>
- <member name="P:FastReport.SelectedTextObjects.Count">
- <summary>
- Gets the number of selected objects.
- </summary>
- </member>
- <member name="P:FastReport.SelectedTextObjects.Enabled">
- <summary>
- Gets a value indicating whether the operations are enabled.
- </summary>
- </member>
- <member name="T:FastReport.MarkerStyle">
- <summary>
- The style of the report object markers.
- </summary>
- </member>
- <member name="F:FastReport.MarkerStyle.Rectangle">
- <summary>
- Rectangle marker.
- </summary>
- </member>
- <member name="F:FastReport.MarkerStyle.Corners">
- <summary>
- Small markers at the object's corners.
- </summary>
- </member>
- <member name="T:FastReport.ShiftMode">
- <summary>
- The automatic shift mode.
- </summary>
- </member>
- <member name="F:FastReport.ShiftMode.Never">
- <summary>
- Do not shift the object.
- </summary>
- </member>
- <member name="F:FastReport.ShiftMode.Always">
- <summary>
- Shift the object up or down if any object above it shrinks or grows.
- </summary>
- </member>
- <member name="F:FastReport.ShiftMode.WhenOverlapped">
- <summary>
- Shift the object up or down if any object above it shrinks or grows.
- Objects must have overlapped x-coordinates.
- </summary>
- </member>
- <member name="T:FastReport.PrintOn">
- <summary>
- Specifies where to print an object.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.None">
- <summary>
- Do not print the object.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.FirstPage">
- <summary>
- Print the object on the first page. If this flag is not set, the object will not
- be printed on the first page.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.LastPage">
- <summary>
- Print the object on the last page. If this flag is not set, the object will not
- be printed on the last page. You should set the report's double pass option to make
- it work correctly.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.OddPages">
- <summary>
- Print the object on odd pages only.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.EvenPages">
- <summary>
- Print the object on even pages only.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.RepeatedBand">
- <summary>
- Print the object on band with "Repeat on Every Page" flag when that band is repeated.
- </summary>
- </member>
- <member name="F:FastReport.PrintOn.SinglePage">
- <summary>
- Print the object if the report has single page only.
- </summary>
- </member>
- <member name="T:FastReport.StylePriority">
- <summary>
- Specifies the style properties to use when style is applied.
- </summary>
- </member>
- <member name="F:FastReport.StylePriority.UseFill">
- <summary>
- Use the fill property of the style.
- </summary>
- </member>
- <member name="F:FastReport.StylePriority.UseAll">
- <summary>
- Use all style properties.
- </summary>
- </member>
- <member name="T:FastReport.OverlayBand">
- <summary>
- Represents an overlay band.
- </summary>
- </member>
- <member name="M:FastReport.OverlayBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.OverlayBand"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.OverlayBand.StartNewPage">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.OverlayBand.PrintOnBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.ConfigureBandsForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ConfigureBandsForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ConfigureBandsForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.ComboBoxControl">
- <summary>
- Represents a Windows combo box control.
- Wraps the <see cref="T:System.Windows.Forms.ComboBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.FillData(FastReport.Data.DataSourceBase,FastReport.Data.Column)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.OnLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.OnSelectedIndexChanged(System.EventArgs)">
- <summary>
- This method fires the <b>SelectedIndexChanged</b> event and the script code connected to the <b>SelectedIndexChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.OnMeasureItem(System.Windows.Forms.MeasureItemEventArgs)">
- <summary>
- This method fires the <b>MeasureItem</b> event and the script code connected to the <b>MeasureItemEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.OnDrawItem(System.Windows.Forms.DrawItemEventArgs)">
- <summary>
- This method fires the <b>DrawItem</b> event and the script code connected to the <b>DrawItemEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.ComboBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>ComboBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ComboBoxControl.SelectedIndexChanged">
- <summary>
- Occurs after the selection has been changed.
- Wraps the <see cref="E:System.Windows.Forms.ComboBox.SelectedIndexChanged"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ComboBoxControl.MeasureItem">
- <summary>
- Occurs each time an owner-drawn <b>ComboBox</b> item needs to be drawn and
- when the sizes of the list items are determined.
- Wraps the <see cref="E:System.Windows.Forms.ComboBox.MeasureItem"/> event.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.ComboBoxControl.DrawItem">
- <summary>
- Occurs when a visual aspect of an owner-drawn <b>ComboBox</b> changes.
- Wraps the <see cref="E:System.Windows.Forms.ComboBox.DrawItem"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.ComboBox">
- <summary>
- Gets an internal <b>ComboBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.DrawMode">
- <summary>
- Gets or sets a value indicating whether your code or the operating system will handle drawing of elements in the list.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.DrawMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.DropDownStyle">
- <summary>
- Gets or sets a value specifying the style of the combo box.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.DropDownStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.DropDownWidth">
- <summary>
- Gets or sets the width of the of the drop-down portion of a combo box.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.DropDownWidth"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.DropDownHeight">
- <summary>
- Gets or sets the height in pixels of the drop-down portion of the ComboBox.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.DropDownHeight"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.ItemHeight">
- <summary>
- Gets or sets the height of an item in the combo box.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.ItemHeight"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.Items">
- <summary>
- Gets a collection of the items contained in this ComboBox.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.Items"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.MaxDropDownItems">
- <summary>
- Gets or sets the maximum number of items to be shown in the drop-down portion of the ComboBox.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.MaxDropDownItems"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.Sorted">
- <summary>
- Gets or sets a value indicating whether the items in the combo box are sorted.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.Sorted"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.ItemsText">
- <summary>
- Gets or sets the string that contains all items text.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.SelectedIndex">
- <summary>
- Gets or sets the index specifying the currently selected item.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.SelectedIndex"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.SelectedItem">
- <summary>
- Gets or sets currently selected item in the ComboBox.
- Wraps the <see cref="P:System.Windows.Forms.ComboBox.SelectedItem"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.SelectedIndexChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ComboBoxControl.SelectedIndexChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.MeasureItemEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ComboBoxControl.MeasureItem"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ComboBoxControl.DrawItemEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.ComboBoxControl.DrawItem"/> event.
- </summary>
- </member>
- <member name="F:FastReport.Forms.RelationEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.RelationEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.RelationEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Format.DateFormat">
- <summary>
- Defines how date values are formatted and displayed.
- </summary>
- </member>
- <member name="M:FastReport.Format.DateFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.DateFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>DateFormat</b> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.TypeEditors.FlagsEditor">
- <summary>
- Provides a user interface for editing a flags enumeration.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.FlagsEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.FlagsEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Forms.TotalEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.TotalEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.TotalEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Duplicates">
- <summary>
- Specifies how to display the duplicate values.
- </summary>
- </member>
- <member name="F:FastReport.Duplicates.Show">
- <summary>
- The <b>TextObject</b> can show duplicate values.
- </summary>
- </member>
- <member name="F:FastReport.Duplicates.Hide">
- <summary>
- The <b>TextObject</b> with duplicate value will be hidden.
- </summary>
- </member>
- <member name="F:FastReport.Duplicates.Clear">
- <summary>
- The <b>TextObject</b> with duplicate value will be shown but with no text.
- </summary>
- </member>
- <member name="F:FastReport.Duplicates.Merge">
- <summary>
- Several <b>TextObject</b> objects with the same value will be merged into one <b>TextObject</b> object.
- </summary>
- </member>
- <member name="T:FastReport.ProcessAt">
- <summary>
- Specifies how the report engine processes the text objects.
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.Default">
- <summary>
- Specifies the default process mode. The text object is processed just-in-time.
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.ReportFinished">
- <summary>
- Specifies that the text object must be processed when the entire report is finished. This mode
- can be used to print grand total value (which is normally calculated at the end of report) in the
- report title band.
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.ReportPageFinished">
- <summary>
- Specifies that the text object must be processed when the entire report page is finished. This mode
- can be used if the report template consists of several report pages.
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.PageFinished">
- <summary>
- Specifies that the text object must be processed when any report page is finished. This mode
- can be used to print the page total (which is normally calculated at the page footer) in the
- page header band.
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.ColumnFinished">
- <summary>
- Specifies that the text object must be processed when the column is finished. This mode
- can be used to print the column total (which is normally calculated at the column footer) in the
- column header band.
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.DataFinished">
- <summary>
- Specifies that the text object must be processed when the data block is finished. This mode can be
- used to print a total value in the data header (which is normally available
- in the data footer only).
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.GroupFinished">
- <summary>
- Specifies that the text object must be processed when the group is finished. This mode can be
- used to print a total value in the group header (which is normally available
- in the group footer only).
- </summary>
- </member>
- <member name="F:FastReport.ProcessAt.Custom">
- <summary>
- Specifies that the text object is processed manually when you call the <b>Engine.ProcessObject</b>
- method in the report script.
- </summary>
- </member>
- <member name="T:FastReport.Data.TotalCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.Total"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Data.TotalCollection.FindByName(System.String)">
- <summary>
- Finds a total by its name.
- </summary>
- <param name="name">The name of a total.</param>
- <returns>The <see cref="T:FastReport.Data.Total"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.TotalCollection.CreateUniqueName(System.String)">
- <summary>
- Returns an unique total name based on given name.
- </summary>
- <param name="name">The base name.</param>
- <returns>The unique name.</returns>
- </member>
- <member name="M:FastReport.Data.TotalCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.TotalCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.TotalCollection.Item(System.Int32)">
- <summary>
- Gets or sets a total.
- </summary>
- <param name="index">The index of a total in this collection.</param>
- <returns>The total with specified index.</returns>
- </member>
- <member name="T:FastReport.Data.FilterOperation">
- <summary>
- Determines how to filter the data value.
- </summary>
- <remarks>
- The "Data value" is a value contained in the datasource which you filter.
- The "Selected value" is a value you have entered or selected in the dialog control.
- </remarks>
- </member>
- <member name="F:FastReport.Data.FilterOperation.Equal">
- <summary>
- Data value is equal to selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.NotEqual">
- <summary>
- Data value is not equal to selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.LessThan">
- <summary>
- Data value is less than selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.LessThanOrEqual">
- <summary>
- Data value is less than or equal to selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.GreaterThan">
- <summary>
- Data value is greater than selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.GreaterThanOrEqual">
- <summary>
- Data value is greater than or equal to selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.Contains">
- <summary>
- Data string contains selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.NotContains">
- <summary>
- Data string does not contain selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.StartsWith">
- <summary>
- Data string starts with selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.NotStartsWith">
- <summary>
- Data string does not start with selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.EndsWith">
- <summary>
- Data string ends with selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.FilterOperation.NotEndsWith">
- <summary>
- Data string does not end with selected value.
- </summary>
- </member>
- <member name="F:FastReport.Data.ConnectionEditors.MsAccessConnectionEditor.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.MsAccessConnectionEditor.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.MsAccessConnectionEditor.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Controls.DataColumnComboBox">
- <summary>
- Represents the combobox used to select a data column.
- </summary>
- </member>
- <member name="M:FastReport.Controls.DataColumnComboBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.DataColumnComboBox.SetBoundsCore(System.Int32,System.Int32,System.Int32,System.Int32,System.Windows.Forms.BoundsSpecified)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.DataColumnComboBox.OnLayout(System.Windows.Forms.LayoutEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.DataColumnComboBox.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.DataColumnComboBox.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.DataColumnComboBox"/> class.
- </summary>
- </member>
- <member name="E:FastReport.Controls.DataColumnComboBox.TextChanged">
- <summary>
- Occurs when the text portion of the combobox is changed.
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataColumnComboBox.Text">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Controls.DataColumnComboBox.DataSource">
- <summary>
- Gets or sets the data source.
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataColumnComboBox.Report">
- <summary>
- Gets or sets the Report.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeObject">
- <summary>
- Represents a barcode object.
- </summary>
- <remarks>
- The instance of this class represents a barcode. Here are some common
- actions that can be performed with this object:
- <list type="bullet">
- <item>
- <description>To select the type of barcode, use the <see cref="P:FastReport.Barcode.BarcodeObject.Barcode"/> property.
- </description>
- </item>
- <item>
- <description>To specify a static barcode data, use the <see cref="P:FastReport.Barcode.BarcodeObject.Text"/> property.
- You also may use the <see cref="P:FastReport.Barcode.BarcodeObject.DataColumn"/> or <see cref="P:FastReport.Barcode.BarcodeObject.Expression"/> properties
- to specify dynamic value for a barcode.
- </description>
- </item>
- <item>
- <description>To set a barcode orientation, use the <see cref="P:FastReport.Barcode.BarcodeObject.Angle"/> property.
- </description>
- </item>
- <item>
- <description>To specify the size of barcode, set the <see cref="P:FastReport.Barcode.BarcodeObject.AutoSize"/> property
- to <b>true</b> and use the <see cref="P:FastReport.Barcode.BarcodeObject.Zoom"/> property to zoom the barcode.
- If <see cref="P:FastReport.Barcode.BarcodeObject.AutoSize"/> property is set to <b>false</b>, you need to specify the
- size using the <see cref="P:FastReport.ComponentBase.Width">Width</see> and
- <see cref="P:FastReport.ComponentBase.Height">Height</see> properties.
- </description>
- </item>
- </list>
- </remarks>
- <example>This example shows how to configure the BarcodeObject to display PDF417 barcode.
- <code>
- BarcodeObject barcode;
- ...
- barcode.Barcode = new BarcodePDF417();
- (barcode.Barcode as BarcodePDF417).CompactionMode = CompactionMode.Text;
- </code>
- </example>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.Barcode">
- <summary>
- Gets or sets the barcode type.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.SymbologyName">
- <summary>
- Gets or sets the symbology name.
- </summary>
- <remarks>
- The following symbology names are supported:
- <list type="bullet">
- <item><description>"2/5 Interleaved"</description></item>
- <item><description>"2/5 Industrial"</description></item>
- <item><description>"2/5 Matrix"</description></item>
- <item><description>"Codabar"</description></item>
- <item><description>"Code128"</description></item>
- <item><description>"Code39"</description></item>
- <item><description>"Code39 Extended"</description></item>
- <item><description>"Code93"</description></item>
- <item><description>"Code93 Extended"</description></item>
- <item><description>"EAN8"</description></item>
- <item><description>"EAN13"</description></item>
- <item><description>"MSI"</description></item>
- <item><description>"PostNet"</description></item>
- <item><description>"UPC-A"</description></item>
- <item><description>"UPC-E0"</description></item>
- <item><description>"UPC-E1"</description></item>
- <item><description>"Supplement 2"</description></item>
- <item><description>"Supplement 5"</description></item>
- <item><description>"PDF417"</description></item>
- <item><description>"Datamatrix"</description></item>
- <item><description>"QRCode"</description></item>
- </list>
- </remarks>
- <example>
- <code>
- barcode.SymbologyName = "PDF417";
- (barcode.Barcode as BarcodePDF417).CompactionMode = CompactionMode.Text;
- </code>
- </example>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.Angle">
- <summary>
- Gets or sets the angle of barcode, in degrees.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.AutoSize">
- <summary>
- Gets or sets a value that determines whether the barcode should handle its width automatically.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.DataColumn">
- <summary>
- Gets or sets a data column name bound to this control.
- </summary>
- <remarks>
- Value must be in the form "Datasource.Column".
- </remarks>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.Expression">
- <summary>
- Gets or sets an expression that contains the barcode data.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.ShowText">
- <summary>
- Gets or sets a value that indicates if the barcode should display a human-readable text.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.Text">
- <summary>
- Gets or sets the barcode data.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.Padding">
- <summary>
- Gets or sets padding within the BarcodeObject.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.Zoom">
- <summary>
- Gets or sets a zoom of the barcode.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.HideIfNoData">
- <summary>
- Gets or sets a value that determines whether it is necessary to hide the object if the
- barcode data is empty.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeObject.NoDataText">
- <summary>
- Gets or sets the text that will be displayed if the barcode data is empty.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeMSI">
- <summary>
- Generates the MSI barcode.
- </summary>
- </member>
- <member name="T:FastReport.AssemblyInitializer">
- <summary>
- The FastReport.dll assembly initializer.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AssemblyInitializerBase">
- <summary>
- Base class for plugin's assembly initializer.
- </summary>
- <remarks>
- FastReport has an open architecture. That means you can extend it with own classes
- such as report objects, wizards, export filters. Usually such classes are
- placed in separate dlls (plugins). FastReport has mechanism to load plugin dlls. You can specify
- which plugins to load at first start, in the FastReport configuration file (by default it is located in the
- C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\FastReport.config file).
- To do this, add an xml item with your plugin name inside the <Plugins> item:
- <code>
- <?xml version="1.0" encoding="utf-8"?>
- <Config>
- <Plugins>
- <Plugin Name="c:\Program Files\MyProgram\MyPlugin.dll"/>
- </Plugins>
- </Config>
- </code>
- When you run your application and use the <b>Report</b> object first time, all plugins will be loaded.
- To register objects contained in a plugin, FastReport searches for classes of type
- <b>AssemblyInitializerBase</b> and instantiates them.
- <para>Use this class to register custom report objects, controls, wizards, exports that
- are contained in the assembly. To do this, make your own class of the <b>AssemblyInitializerBase</b>
- type and override its default constructor. In the constructor, call <b>RegisteredObjects.Add</b>
- methods to register all necessary items.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.AssemblyInitializerBase.#ctor">
- <summary>
- Registers plugins contained in this assembly.
- </summary>
- <remarks>
- This constructor is called automatically when the assembly is loaded.
- </remarks>
- <example>This example show how to create own assembly initializer to register own items.
- <code>
- public class MyAssemblyInitializer : AssemblyInitializerBase
- {
- public MyAssemblyInitializer()
- {
- // register own wizard
- RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true);
- // register own export filter
- RegisteredObjects.AddExport(typeof(MyExport), "My Export");
- // register own report object
- RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object");
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.AssemblyInitializer.#ctor">
- <summary>
- Registers all standard objects, wizards, export filters.
- </summary>
- </member>
- <member name="T:FastReport.Map.ShapeBase">
- <summary>
- The base class for shape objects such as <see cref="T:FastReport.Map.ShapePoint"/>, <see cref="T:FastReport.Map.ShapePolyLine"/> and <see cref="T:FastReport.Map.ShapePolygon"/>.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeBase.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.Draw(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the shape.
- </summary>
- <param name="e">Object that provides a data for paint event.</param>
- </member>
- <member name="M:FastReport.Map.ShapeBase.DrawLabel(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the label.
- </summary>
- <param name="e">Object that provides a data for paint event.</param>
- </member>
- <member name="M:FastReport.Map.ShapeBase.HitTest(System.Drawing.PointF)">
- <summary>
- Checks if the shape is under cursor.
- </summary>
- <param name="point">The cursor coordinates.</param>
- <returns><b>true</b> if the cursor is over the shape.</returns>
- </member>
- <member name="M:FastReport.Map.ShapeBase.Simplify(System.Double)">
- <summary>
- Reduces the number of points in the shape.
- </summary>
- <param name="accuracy">The accuracy value.</param>
- </member>
- <member name="M:FastReport.Map.ShapeBase.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.InitializeComponent">
- <summary>
- Initializes a component before running a report.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeBase.FinalizeComponent">
- <summary>
- Finalizes a component before running a report.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeBase.SaveState">
- <summary>
- Saves the state of this component.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeBase.RestoreState">
- <summary>
- Restores the state of this component.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetProperties">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetProperties(System.Attribute[])">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetClassName">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetAttributes">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetComponentName">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetConverter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetDefaultEvent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetDefaultProperty">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetEditor(System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetEvents(System.Attribute[])">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.GetPropertyOwner(System.ComponentModel.PropertyDescriptor)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapeBase.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapeBase"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeBase.Visible">
- <summary>
- Gets or sets the shape visibility.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeBase.UseCustomStyle">
- <summary>
- Gets or sets a value indicating that custom shape style is used.
- </summary>
- <remarks>
- If this property is <b>false</b>, the layer's DefaultShapeStyle is used.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.CustomStyle">
- <summary>
- Gets a custom shape style.
- </summary>
- <remarks>
- To use this property, first set the <see cref="P:FastReport.Map.ShapeBase.UseCustomStyle"/> property to <b>true</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.CenterOffsetX">
- <summary>
- Gets or sets the center point X offset.
- </summary>
- <remarks>
- Use this property to adjust the label's position.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.CenterOffsetY">
- <summary>
- Gets or sets the center point Y offset.
- </summary>
- <remarks>
- Use this property to adjust the label's position.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.ShapeOffsetX">
- <summary>
- Gets or sets the shape X offset.
- </summary>
- <remarks>
- Use this property to adjust the shape position.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.ShapeOffsetY">
- <summary>
- Gets or sets the shape Y offset.
- </summary>
- <remarks>
- Use this property to adjust the shape position.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.ShapeScale">
- <summary>
- Gets or sets the scale factor for this shape.
- </summary>
- <remarks>
- Use this property to adjust the shape size.
- </remarks>
- </member>
- <member name="P:FastReport.Map.ShapeBase.SpatialData">
- <summary>
- Gets or sets the spatial data associated with this shape.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeBase.Value">
- <summary>
- Gets or sets the value.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeBase.Map">
- <summary>
- Gets a reference to the parent Map object.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeBase.Layer">
- <summary>
- Gets a reference to the parent Layer object.
- </summary>
- </member>
- <member name="T:FastReport.Map.ColorRanges">
- <summary>
- Represents a set of color ranges used to highlight polygons based on analytical value.
- </summary>
- </member>
- <member name="M:FastReport.Map.ColorRanges.Assign(FastReport.Map.ColorRanges)">
- <summary>
- Copies the contents of another ColorRanges.
- </summary>
- <param name="src">The ColorRanges instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Map.ColorRanges.GetColor(System.Double)">
- <summary>
- Gets a color associated with given analytical value.
- </summary>
- <param name="value">The analytical value.</param>
- <returns>The color associated with this value, or <b>Color.Transparent</b> if no association found.</returns>
- </member>
- <member name="M:FastReport.Map.ColorRanges.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ColorRanges"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.Ranges">
- <summary>
- Gets the list of ranges.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.RangeCount">
- <summary>
- Gets or sets the number of ranges.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.StartColor">
- <summary>
- Gets or sets the start color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.MiddleColor">
- <summary>
- Gets or sets the middle color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.EndColor">
- <summary>
- Gets or sets the end color.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.ShowInColorScale">
- <summary>
- Gets or sets a value indicating that the map's color scale must display data from this color ranges.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRanges.RangesAsString">
- <summary>
- Gets or sets ranges as a string.
- </summary>
- </member>
- <member name="T:FastReport.Map.ColorRange">
- <summary>
- Represents a single color range.
- </summary>
- </member>
- <member name="M:FastReport.Map.ColorRange.Assign(FastReport.Map.ColorRange)">
- <summary>
- Copies the contents of another ColorRange.
- </summary>
- <param name="src">The ColorRange instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Map.ColorRange.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ColorRange"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Map.ColorRange.#ctor(System.Drawing.Color,System.Double,System.Double)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ColorRange"/> class with a specified parameters.
- </summary>
- <param name="color">The color of the range.</param>
- <param name="startValue">The start value of the range.</param>
- <param name="endValue">The end value of the range.</param>
- </member>
- <member name="P:FastReport.Map.ColorRange.Color">
- <summary>
- Gets or sets color of the range.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRange.StartValue">
- <summary>
- Gets or sets start value of the range.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorRange.EndValue">
- <summary>
- Gets or sets end value of the range.
- </summary>
- </member>
- <member name="F:FastReport.Map.Forms.MapEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Map.Forms.MapEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing"><b>true</b> if managed resources should be disposed. Otherwise, <b>false</b>.</param>
- </member>
- <member name="T:FastReport.Gauge.GaugeObject">
- <summary>
- Represents a gauge object.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.GaugeObject"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.#ctor(System.Double,System.Double,System.Double)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.GaugeObject"/> class.
- </summary>
- <param name="minimum">Minimum value of gauge.</param>
- <param name="maximum">Maximum value of gauge.</param>
- <param name="value">Current value of gauge.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.#ctor(System.Double,System.Double,System.Double,FastReport.Gauge.GaugeScale,FastReport.Gauge.GaugePointer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.GaugeObject"/> class.
- </summary>
- <param name="minimum">Minimum value of gauge.</param>
- <param name="maximum">Maximum value of gauge.</param>
- <param name="value">Current value of gauge.</param>
- <param name="scale">Scale of gauge.</param>
- <param name="pointer">Pointer of gauge.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the gauge.
- </summary>
- <param name="e">Draw event arguments.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugeObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Gauge.GaugeObject.Minimum">
- <summary>
- Gets or sets the minimal value of gauge.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugeObject.Maximum">
- <summary>
- Gets or sets the maximal value of gauge.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugeObject.Value">
- <summary>
- Gets or sets the currenta value of gauge.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugeObject.Scale">
- <summary>
- Gets or sets scale of gauge.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugeObject.Pointer">
- <summary>
- Gets or sets pointer of gauge.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugeObject.Expression">
- <summary>
- Gets or sets an expression that determines the value of gauge object.
- </summary>
- </member>
- <member name="F:FastReport.Forms.SVGExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.SVGExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.SVGExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.XAML.XamlImageFormat">
- <summary>
- Specifies the image format in XAML export.
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.XamlImageFormat.Png">
- <summary>
- Specifies the .png format.
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.XamlImageFormat.Jpeg">
- <summary>
- Specifies the .jpg format.
- </summary>
- </member>
- <member name="T:FastReport.Export.XAML.XAMLExport">
- <summary>
- Represents the XAML export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.AddTextObject(FastReport.Export.XAML.XAMLDocument,FastReport.TextObject,System.Boolean)">
- <summary>
- Add TextObject.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.AddBandObject(FastReport.Export.XAML.XAMLDocument,FastReport.BandBase)">
- <summary>
- Add BandObject.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.AddLine(FastReport.Export.XAML.XAMLDocument,FastReport.LineObject)">
- <summary>
- Add Line.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.AddShape(FastReport.Export.XAML.XAMLDocument,FastReport.ShapeObject)">
- <summary>
- Add Shape.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.ToARGB(System.Int32,System.Int32,System.Int32,System.Int32)">
- <summary>
- Convert To ARG.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.XAML.XAMLExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.XAML.XAMLExport.WPFClassName">
- <summary>
- Gets or sets the class name of XAML documentne
- </summary>
- </member>
- <member name="P:FastReport.Export.XAML.XAMLExport.Pictures">
- <summary>
- Enable or disable the pictures in XAML export
- </summary>
- </member>
- <member name="P:FastReport.Export.XAML.XAMLExport.GeneratedStreams">
- <summary>
- Gets list of generated streams
- </summary>
- </member>
- <member name="P:FastReport.Export.XAML.XAMLExport.ImageFormat">
- <summary>
- Gets or sets the image format used when exporting.
- </summary>
- </member>
- <member name="T:FastReport.Export.Text.TextExport">
- <summary>
- Represents the text export.
- </summary>
- </member>
- <member name="M:FastReport.Export.Text.TextExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Text.TextExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Text.TextExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Text.TextExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Text.TextExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Text.TextExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Text.TextExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.AvoidDataLoss">
- <summary>
- Enable or disable the Data loss avoiding.
- Auto calculation of ScaleX and ScaleY will be launched when dialogue window will be off.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.Copies">
- <summary>
- Gets or sets the count of copies for printing of results.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.PrinterName">
- <summary>
- Gets or sets the printer name for printing of results.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.PrintAfterExport">
- <summary>
- Enable or disable the printing results after export.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.PrinterType">
- <summary>
- Gets or sets the active index of registered printer type.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.PrinterTypes">
- <summary>
- Gets or sets the list of printer types. <see cref="T:FastReport.Export.Text.TextExportPrinterType"/>
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.ScaleX">
- <summary>
- Gets or sets the scale by X axis for correct text objects placement.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.ScaleY">
- <summary>
- Gets or sets the scale by Y axis for correct text objects placement.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.Encoding">
- <summary>
- Gets or sets the encoding of resulting document.
- </summary>
- <example>
- Windows ANSI encoding
- <code>TextExport.Encoding = Encoding.Default;</code>
- Unicode UTF-8 encoding
- <code>TextExport.Encoding = Encoding.UTF8;</code>
- OEM encoding for current system locale sessings
- <code>TextExport.Encoding = Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage);</code>
- </example>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.DataOnly">
- <summary>
- Enable or disable the data only output without any headers. Default value is false.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.PageBreaks">
- <summary>
- Enable or disable the breaks of pages in resulting document. Default value is true.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.Frames">
- <summary>
- Enable or disable frames in resulting document. Default value is true.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.TextFrames">
- <summary>
- Enable or disable the text (non graphic) frames in resulting document. Default value is false.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExport.EmptyLines">
- <summary>
- Enable or disable the output of empty lines in resulting document. Default value is false.
- </summary>
- </member>
- <member name="T:FastReport.Export.Text.TextExportPrinterCommand">
- <summary>
- Represents the printer command class
- </summary>
- </member>
- <member name="M:FastReport.Export.Text.TextExportPrinterCommand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Text.TextExportPrinterCommand"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExportPrinterCommand.Active">
- <summary>
- Gets or sets the active state of command. Default value is false.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExportPrinterCommand.Name">
- <summary>
- Gets or sets the command name.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExportPrinterCommand.SequenceOn">
- <summary>
- Gets or sets the list of "on sequence".
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExportPrinterCommand.SequenceOff">
- <summary>
- Gets or sets the list of "off sequence".
- </summary>
- </member>
- <member name="T:FastReport.Export.Text.TextExportPrinterType">
- <summary>
- Represents of the printer type class.
- </summary>
- </member>
- <member name="M:FastReport.Export.Text.TextExportPrinterType.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Text.TextExportPrinterType"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExportPrinterType.Name">
- <summary>
- Gets or sets the printer name.
- </summary>
- </member>
- <member name="P:FastReport.Export.Text.TextExportPrinterType.Commands">
- <summary>
- Gets or sets the list of printer commands. <see cref="T:FastReport.Export.Text.TextExportPrinterCommand"/>
- </summary>
- </member>
- <member name="T:FastReport.Export.Email.MAPI">
- <summary>
- Allows to send message using MAPI interface.
- </summary>
- </member>
- <member name="M:FastReport.Export.Email.MAPI.SendMail(System.IntPtr,System.String[],System.String,System.String,System.String[],System.String[])">
- <summary>
- Sends a message.
- </summary>
- <param name="handle">Parent window handle.</param>
- <param name="files">Files to attach.</param>
- <param name="mailSubject">Email subject.</param>
- <param name="mailBody">Email body.</param>
- <param name="recipentName">Recipient names.</param>
- <param name="recipientAddress">Recipient addresses.</param>
- <returns>Error code. <b>0</b> if operation was completed succesfully.</returns>
- </member>
- <member name="M:FastReport.Export.Email.MAPI.GetErrorText(System.Int32)">
- <summary>
- Returns a text describing an error.
- </summary>
- <param name="error">The error code.</param>
- <returns>The text describing an error.</returns>
- </member>
- <member name="T:FastReport.Export.Email.EmailExport">
- <summary>
- Represents the email export.
- </summary>
- <remarks>
- In order to use this class, you need to set up at least the following properties:
- <see cref="P:FastReport.Export.Email.EmailExport.Address"/>, <see cref="P:FastReport.Export.Email.EmailExport.Subject"/>, <see cref="P:FastReport.Export.Email.EmailExport.Account"/>. Use the <see cref="P:FastReport.Export.Email.EmailExport.Export"/>
- property to choose the format of an attachment. If you leave it empty, the attachment will be
- in the .FRP format (FastReport prepared report). When you done with settings, call the
- <see cref="M:FastReport.Export.Email.EmailExport.SendEmail(FastReport.Report)"/> method to send an email.
- </remarks>
- <example>
- This example demonstrates the bare minimum required to send an email.
- <code>
- EmailExport export = new EmailExport();
- export.Account.Address = "my@address.net";
- export.Account.Host = "myhost";
- export.Address = "recipient@address.net";
- export.Subject = "Re: analysis report";
- // the report1 report must be prepared at this moment
- export.SendEmail(report1);
- </code>
- </example>
- </member>
- <member name="M:FastReport.Export.Email.EmailExport.ShowDialog">
- <summary>
- Displays the dialog box in which you can set up all parameters.
- </summary>
- <returns><b>true</b> if user pressed OK button in the dialog.</returns>
- </member>
- <member name="M:FastReport.Export.Email.EmailExport.SendEmail(FastReport.Report)">
- <summary>
- Sends an email.
- </summary>
- <param name="report">Report that will be sent as an attachment.</param>
- <remarks>
- Before using this method, set up the following properties (it's a bare minimum):
- <see cref="P:FastReport.Export.Email.EmailExport.Address"/>, <see cref="P:FastReport.Export.Email.EmailExport.Subject"/>, <see cref="P:FastReport.Export.Email.EmailExport.Account"/>.
- <para/>The report that you pass in this method must be prepared using the <b>Prepare</b> method.
- </remarks>
- </member>
- <member name="M:FastReport.Export.Email.EmailExport.#ctor(FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Email.EmailExport"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Export.Email.EmailExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Email.EmailExport"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.Address">
- <summary>
- Gets or sets the recipient's address.
- </summary>
- <remarks>
- This property must contain value in form "john@url.com".
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.CC">
- <summary>
- Gets or sets the carbon copy adresses.
- </summary>
- <remarks>
- This property must contain an array of values in form "john@url.com".
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.Subject">
- <summary>
- Gets or sets the subject of the message.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.MessageBody">
- <summary>
- Gets or sets the message body.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.Export">
- <summary>
- Gets or sets the export filter which will be used to export a report.
- </summary>
- <remarks>
- Set this property to instance of any export filter. When you send the email, the report
- will be exported using that export filter.
- <para/>By default, this property is set to <b>null</b>. In this case the report will be send
- in .FRP format.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.Account">
- <summary>
- Gets the email account settings such as host, user name, password.
- </summary>
- </member>
- <member name="P:FastReport.Export.Email.EmailExport.Report">
- <summary>
- Gets the parent Report object
- </summary>
- </member>
- <member name="T:FastReport.Data.OdbcDataConnection">
- <summary>
- Represents a connection to any database through ODBC.
- </summary>
- <example>This example shows how to add a new connection to the report.
- <code>
- Report report1;
- OdbcDataConnection conn = new OdbcDataConnection();
- conn.ConnectionString = "your_connection_string";
- report1.Dictionary.Connections.Add(conn);
- conn.CreateAllTables();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetTableNames">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetConnectionStringWithLoginInfo(System.String,System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.QuoteIdentifier(System.String,System.Data.Common.DbConnection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetConnectionType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetDefaultParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OdbcDataConnection.GetConnectionId">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.HttpMethod">
- <summary>
- Represents an HTTP request method.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.HttpMethod.Get">
- <summary>
- GET request method.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.HttpMethod.Post">
- <summary>
- POST request method.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.HttpMethod.Put">
- <summary>
- PUT request method.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Box.WebBrowserForm">
- <summary>
- Represents form of the web browser.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.WebBrowserForm.#ctor(System.String)">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Box.WebBrowserForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.WebBrowserForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Box.WebBrowserForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Box.WebBrowserForm.AuthCode">
- <summary>
- Gets obtained authorization code.
- </summary>
- </member>
- <member name="T:FastReport.Utils.XmlItem">
- <summary>
- Represents a xml node.
- </summary>
- </member>
- <member name="M:FastReport.Utils.XmlItem.Clear">
- <summary>
- Clears the child nodes of this node.
- </summary>
- </member>
- <member name="M:FastReport.Utils.XmlItem.Add">
- <summary>
- Adds a new child node to this node.
- </summary>
- <returns>The new child node.</returns>
- </member>
- <member name="M:FastReport.Utils.XmlItem.AddItem(FastReport.Utils.XmlItem)">
- <summary>
- Adds a specified node to this node.
- </summary>
- <param name="item">The node to add.</param>
- </member>
- <member name="M:FastReport.Utils.XmlItem.InsertItem(System.Int32,FastReport.Utils.XmlItem)">
- <summary>
- Inserts a specified node to this node.
- </summary>
- <param name="index">Position to insert.</param>
- <param name="item">Node to insert.</param>
- </member>
- <member name="M:FastReport.Utils.XmlItem.Find(System.String)">
- <summary>
- Finds the node with specified name.
- </summary>
- <param name="name">The name of node to find.</param>
- <returns>The node with specified name, if found; <b>null</b> otherwise.</returns>
- </member>
- <member name="M:FastReport.Utils.XmlItem.FindItem(System.String)">
- <summary>
- Finds the node with specified name.
- </summary>
- <param name="name">The name of node to find.</param>
- <returns>The node with specified name, if found; the new node otherwise.</returns>
- <remarks>
- This method adds the node with specified name to the child nodes if it cannot find the node.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.XmlItem.IndexOf(FastReport.Utils.XmlItem)">
- <summary>
- Gets the index of specified node in the child nodes list.
- </summary>
- <param name="item">The node to find.</param>
- <returns>Zero-based index of node, if found; <b>-1</b> otherwise.</returns>
- </member>
- <member name="M:FastReport.Utils.XmlItem.GetProp(System.String)">
- <summary>
- Gets a property with specified name.
- </summary>
- <param name="index">The property name.</param>
- <returns>The value of property, if found; empty string otherwise.</returns>
- <remarks>
- This property will return "0" when you request the "Left" property for a node
- like <c><Node Text="" Left="0"/></c>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.XmlItem.SetProp(System.String,System.String)">
- <summary>
- Sets the value for a specified property.
- </summary>
- <param name="index">The property name.</param>
- <param name="value">Value to set.</param>
- <remarks>
- For example, you have a node like <c><Node Text="" Left="0"/></c>. When you set the
- "Text" property to "test", the node will be <c><Node Text="test" Left="0"/></c>.
- If property with specified name is not exist, it will be added.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.XmlItem.Dispose">
- <summary>
- Disposes the node and all its children.
- </summary>
- </member>
- <member name="M:FastReport.Utils.XmlItem.#ctor">
- <summary>
- Initializes a new instance of the <b>XmlItem</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Count">
- <summary>
- Gets a number of children in this node.
- </summary>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Items">
- <summary>
- Gets a list of children in this node.
- </summary>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Item(System.Int32)">
- <summary>
- Gets a child node with specified index.
- </summary>
- <param name="index">Index of node.</param>
- <returns>The node with specified index.</returns>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Name">
- <summary>
- Gets or sets the node name.
- </summary>
- <remarks>
- This property will return "Node" for a node like <c><Node Text="" Left="0"/></c>
- </remarks>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Parent">
- <summary>
- Gets or sets the parent for this node.
- </summary>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Text">
- <summary>
- Gets or sets the node text.
- </summary>
- <remarks>
- This property will return "Text="" Left="0"" for a node like <c><Node Text="" Left="0"/></c>
- </remarks>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Value">
- <summary>
- Gets or sets the node value.
- </summary>
- <remarks>
- This property will return "ABC" for a node like <c><Node>ABC</Node></c>
- </remarks>
- </member>
- <member name="P:FastReport.Utils.XmlItem.Root">
- <summary>
- Gets the root node which owns this node.
- </summary>
- </member>
- <member name="T:FastReport.Utils.XmlDocument">
- <summary>
- Represents a xml document that contains the root xml node.
- </summary>
- <remarks>
- Use <b>Load</b> and <b>Save</b> methods to load/save the document. To access the root node
- of the document, use the <see cref="P:FastReport.Utils.XmlDocument.Root"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.Clear">
- <summary>
- Clears the document.
- </summary>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.Save(System.IO.Stream)">
- <summary>
- Saves the document to a stream.
- </summary>
- <param name="stream">Stream to save to.</param>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.Load(System.IO.Stream)">
- <summary>
- Loads the document from a stream.
- </summary>
- <param name="stream">Stream to load from.</param>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.Save(System.String)">
- <summary>
- Saves the document to a file.
- </summary>
- <param name="fileName">The name of file to save to.</param>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.Load(System.String)">
- <summary>
- Loads the document from a file.
- </summary>
- <param name="fileName">The name of file to load from.</param>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.Dispose">
- <summary>
- Disposes resources used by the document.
- </summary>
- </member>
- <member name="M:FastReport.Utils.XmlDocument.#ctor">
- <summary>
- Initializes a new instance of the <b>XmlDocument</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Utils.XmlDocument.AutoIndent">
- <summary>
- Gets or sets a value indicating whether is necessary to indent the document
- when saving it to a file/stream.
- </summary>
- </member>
- <member name="P:FastReport.Utils.XmlDocument.Root">
- <summary>
- Gets the root node of the document.
- </summary>
- </member>
- <member name="T:FastReport.Variant">
- <summary>
- A strongly typed object that readily casts an intrinsic
- object to the other intrinsic types when possible.
- </summary>
- <remarks>
- <para>The Variant class is an intrinsic object container structure
- inspired by Visual Basic 6.0's Variant. The key features
- of a Variant class include the ability to perform typecasts and
- arithmetic between types that are not normally considered compatible.
- For example, if a Variant class contains a string describing a
- number, such as "1.1", then floating point arithmetic can be
- performed on it.</para>
- <para>Variants are normally considered dangerous because they
- strip away the effectiveness of type safety, which is the
- reason why the Visual Basic 6.0 Variant was left out of
- Visual Basic .NET. However, this implementation restores the
- Variant structure, both as a proof of concept and as a
- restoration of the utility and positive merits of the Variant
- where it can be used responsibly.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Variant.#ctor(System.Object)">
- <summary>
- Creates a strongly typed object that readily casts a primitive
- object to the other primitive types when possible.
- </summary>
- </member>
- <member name="M:FastReport.Variant.GetTypeCode">
- <summary>
- Returns the <see cref="T:System.TypeCode"/> for this instance.
- </summary>
- <returns>The enumerated constant that is the <see cref="T:System.TypeCode"/>
- of the class or value type that implements this interface.</returns>
- </member>
- <member name="M:FastReport.Variant.ToType(System.Type)">
- <summary>
- Attempts to convert or typecast to the specified type.
- </summary>
- <param name="type">The type to convert or cast to.</param>
- <returns>The object after typecasting.</returns>
- </member>
- <member name="M:FastReport.Variant.ToType(System.Type,System.IFormatProvider)">
- <summary>
- Attempts to convert or typecast to the specified type.
- </summary>
- <param name="type">The type to convert or cast to.</param>
- <param name="provider">An <see cref="T:System.IFormatProvider"/>
- interface implementation that supplies culture-specific formatting information.</param>
- <returns>The object after typecasting.</returns>
- </member>
- <member name="M:FastReport.Variant.ToBoolean">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Boolean"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent <see cref="T:System.Boolean"/> value.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToBoolean(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Boolean"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent <see cref="T:System.Boolean"/> value using the specified culture-specific
- formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToByte">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Byte"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 8-bit unsigned integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToByte(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Byte"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 8-bit unsigned integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToInt16">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Int16"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 16-bit signed integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToInt16(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Boolean"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent 16-bit signed integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToInt32">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Int32"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 32-bit signed integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToInt32(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Int32"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 32-bit signed integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToInt64">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Int64"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 64-bit signed integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToInt64(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Int64"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 64-bit signed integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToDouble">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Double"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent double-precision floating-point number.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToDouble(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Double"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent double-precision floating-point number using the
- specified culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToSingle">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Single"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent single-precision floating-point number.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToSingle(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Single"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent single-precision floating-point number using the
- specified culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToDecimal">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Decimal"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent Decimal number.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToDecimal(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Decimal"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent Decimal number using the specified culture-specific
- formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToSByte">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.SByte"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 8-bit signed integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToSByte(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.SByte"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 8-bit signed integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToUInt16">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.UInt16"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 16-bit unsigned integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToUInt16(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.UInt16"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 16-bit unsigned integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToUInt32">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.UInt32"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 32-bit unsigned integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToUInt32(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.UInt32"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 32-bit unsigned integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToUInt64">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.UInt64"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 64-bit unsigned integer.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToUInt64(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.UInt64"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent 64-bit unsigned integer using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToDateTime">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.DateTime"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent DateTime.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToDateTime(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.DateTime"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent DateTime using the specified culture-specific
- formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToTimeSpan">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.TimeSpan"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent TimeSpan.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToTimeSpan(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.TimeSpan"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance to
- an equivalent TimeSpan using the specified culture-specific
- formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.ToChar">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Char"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent Unicode character.
- </summary>
- </member>
- <member name="M:FastReport.Variant.ToChar(System.IFormatProvider)">
- <summary>
- If <see cref="P:FastReport.Variant.Value"/> is a <see cref="T:System.Char"/>, returns
- as-is. Otherwise, attempts to convert the value of this instance
- to an equivalent Unicode character using the specified
- culture-specific formatting information.
- </summary>
- <param name="formatProvider">The culture-specific formatting information.</param>
- </member>
- <member name="M:FastReport.Variant.op_Addition(FastReport.Variant,System.Object)">
- <summary>
- Addition operator.
- </summary>
- <remarks>
- If the value on the right is a <see cref="T:System.String"/>
- or a <see cref="T:System.Char"/>,
- the Variant is converted to a string and appended.
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_Subtraction(FastReport.Variant,System.Object)">
- <summary>
- Subtraction operator.
- </summary>
- <remarks>
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_UnaryNegation(FastReport.Variant)">
- <summary>
- Unary minus operator.
- </summary>
- </member>
- <member name="M:FastReport.Variant.op_GreaterThan(FastReport.Variant,System.Object)">
- <summary>
- Greater than operator.
- </summary>
- </member>
- <member name="M:FastReport.Variant.op_GreaterThanOrEqual(FastReport.Variant,System.Object)">
- <summary>
- Greater than or equal operator.
- </summary>
- </member>
- <member name="M:FastReport.Variant.op_LessThan(FastReport.Variant,System.Object)">
- <summary>
- Less than operator.
- </summary>
- </member>
- <member name="M:FastReport.Variant.op_LessThanOrEqual(FastReport.Variant,System.Object)">
- <summary>
- Less than or equal operator.
- </summary>
- </member>
- <member name="M:FastReport.Variant.op_Multiply(FastReport.Variant,System.Object)">
- <summary>
- Multiplication operator.
- </summary>
- <remarks>
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_Division(FastReport.Variant,System.Object)">
- <summary>
- Division operator.
- </summary>
- <remarks>
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_Modulus(FastReport.Variant,System.Object)">
- <summary>
- Modulus operator.
- </summary>
- <remarks>
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_BitwiseAnd(FastReport.Variant,System.Object)">
- <summary>
- Bitwise And operator.
- </summary>
- <remarks>
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_BitwiseOr(FastReport.Variant,System.Object)">
- <summary>
- Bitwise Or operator.
- </summary>
- <remarks>
- If the value on the right or the Variant
- is a <see cref="T:System.DateTime"/>, arithmetic
- is performed on the <see cref="P:System.DateTime.Ticks"/> property and the
- resulting value is set to the DateTime type.
- Otherwise, if the value on the right is a number, both
- the Variant and the value on the right are
- converted to a <see cref="T:System.Double"/>, the arithmetic
- is performed, and the resulting value is converted back to the
- original type that the Variant previously represented.
- If the type that the Variant previously represented
- cannot contain the resulting value--such as if the type is a
- <see cref="T:System.UInt32"/> and the value is <c>-12</c>--then the
- type will be converted to a type that can contain
- the value, such as <see cref="T:System.Int32"/>.
- </remarks>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>A new <see cref="T:FastReport.Variant"/> containing the resulting value.</returns>
- </member>
- <member name="M:FastReport.Variant.op_Inequality(FastReport.Variant,System.Object)">
- <summary>
- Inequality operator.
- </summary>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns>
- The opposite of ==
- </returns>
- </member>
- <member name="M:FastReport.Variant.op_Equality(FastReport.Variant,System.Object)">
- <summary>
- <para>Equality operator.</para>
- <para>First attempts to compare the left value after
- temporarily converting it to the type of the right value.
- If the conversion cannot occur, such as if the value is not an
- intrinsic value type, the comparison occurs at the <see cref="T:System.Object"/>
- level using <b>Object.Equals</b>.</para>
- </summary>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.op_Equality(FastReport.Variant,System.String)">
- <summary>
- <para>Equality operator.</para>
- </summary>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.op_Inequality(FastReport.Variant,System.String)">
- <summary>
- <para>Equality operator.</para>
- </summary>
- <param name="subjectVariant"></param>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.ToString">
- <summary>
- Returns <see cref="P:FastReport.Variant.String"/> property unless the value on the right
- is null. If the value on the right is null, returns "".
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.ToString(System.IFormatProvider)">
- <summary>
- Converts the value of this instance to an equivalent <see cref="P:FastReport.Variant.String"/>
- using the specified culture-specific formatting information.
- </summary>
- <param name="formatProvider"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.GetHashCode">
- <summary>
- See <see cref="M:System.Object.GetHashCode"/>.
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.Equals(System.Object)">
- <summary>
- See <see cref="M:System.Object.Equals(System.Object)"/>.
- </summary>
- <param name="obj"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Variant.CBln(System.Object)">
- <summary>
- Converts an object to a boolean.
- For any type, if null, returns false.
- For Boolean: true/false.
- For String: "", "false", "0", etc. == false;
- "1", "true", etc. == true, else true.
- For numeric intrinsics: 0 == false, else true.
- For any other non-null object, returns true.
- </summary>
- <param name="bln">The string to be converted</param>
- <returns>The boolean value of this string.</returns>
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.String">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.String)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Char">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Char)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Byte">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Byte)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.SByte">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.SByte)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Int16">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Int16)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.UInt16">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.UInt16)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Int32">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Int32)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.UInt32">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.UInt32)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Int64">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Int64)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.UInt64">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.UInt64)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Single">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Single)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Double">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Double)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Decimal">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Decimal)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.Boolean">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.Boolean)~FastReport.Variant">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(FastReport.Variant)~System.DateTime">
-
- </member>
- <member name="M:FastReport.Variant.op_Implicit(System.DateTime)~FastReport.Variant">
-
- </member>
- <member name="P:FastReport.Variant.Value">
- <summary>
- The actual value being stored in its original <see cref="T:System.Type"/>,
- returned as an <see cref="T:System.Object"/>.
- </summary>
- </member>
- <member name="P:FastReport.Variant.Type">
- <summary>
- The <see cref="T:System.Type"/> of the <see cref="P:FastReport.Variant.Value"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Variant.String">
- <summary>
- Returns the string equivalent of the <see cref="P:FastReport.Variant.Value"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Variant.ImplementsIConvertible">
- <summary>
- Returns true if the <see cref="P:FastReport.Variant.Value"/> property implements <see cref="T:System.IConvertible"/>
- </summary>
- </member>
- <member name="P:FastReport.Variant.IsNumeric">
- <summary>
- Returns true if the <see cref="P:FastReport.Variant.Value"/> property
- is a numeric intrinsic value.
- </summary>
- </member>
- <member name="P:FastReport.Variant.IsNumberable">
- <summary>
- Returns true if the <see cref="P:FastReport.Variant.Value"/> property
- is a numeric intrinsic value or else can be parsed into
- a numeric intrinsic value.
- </summary>
- </member>
- <member name="P:FastReport.Variant.IsDate">
- <summary>
- Returns true if the value is a date or can be parsed into a date.
- </summary>
- </member>
- <member name="P:FastReport.Variant.IsTimeSpan">
- <summary>
- Returns true if the value is a TimeSpan.
- </summary>
- </member>
- <member name="T:FastReport.TypeConverters.FRExpandableObjectConverter">
- <summary>
- Provides a type converter for a property representing an expandable object.
- </summary>
- </member>
- <member name="M:FastReport.TypeConverters.FRExpandableObjectConverter.GetProperties(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[])">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.FRExpandableObjectConverter.GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.FRExpandableObjectConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeConverters.FRExpandableObjectConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.GetOptionsPage">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ObjectsToolbar.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Design.ObjectsToolbar.PluginName">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TypeEditors.ColorEditor">
- <summary>
- Provides a user interface for choosing a color.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.ColorEditor.PaintValue(System.Drawing.Design.PaintValueEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.ColorEditor.GetPaintValueSupported(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.ColorEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.ColorEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.SelectedReportComponents">
- <summary>
- Holds the list of <see cref="T:FastReport.ReportComponentBase"/> objects currently selected in the designer.
- </summary>
- <remarks>
- This class is used by the "Border and Fill" toolbar. Use methods of this class to perform some
- operations on the selected objects.
- <para/>Note: after calling any method in this class, call the
- <see cref="M:FastReport.Design.Designer.SetModified">Designer.SetModified</see> method to reflect changes.
- <para/>Note: this list contains only objects of <see cref="T:FastReport.ReportComponentBase"/> type.
- If you want to access all selected objects, use the <see cref="P:FastReport.Design.Designer.SelectedObjects"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetColor(System.Drawing.Color)">
- <summary>
- Sets the solid fill color for the selected objects.
- </summary>
- <param name="color">Fill color.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetFill(FastReport.FillBase)">
- <summary>
- Sets the fill for the selected objects.
- </summary>
- <param name="fill">Fill.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetStyle(System.String)">
- <summary>
- Sets the style for the selected objects.
- </summary>
- <param name="style">Style name.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetHyperlink(FastReport.Hyperlink,System.Boolean,System.Boolean)">
- <summary>
- Sets the hyperlink for the selected objects.
- </summary>
- <param name="hyperlink">Hyperlink.</param>
- <param name="modifyAppearance">Indicates whether to modify the object's appearance.</param>
- <param name="setModified">Indicates whether it is necessary to change designer's modified state.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetCanGrow(System.Boolean)">
- <summary>
- Sets the CanGrow flag for the selected objects.
- </summary>
- <param name="value">Flag value.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetCanShrink(System.Boolean)">
- <summary>
- Sets the CanShrink flag for the selected objects.
- </summary>
- <param name="value">Flag value.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetGrowToBottom(System.Boolean)">
- <summary>
- Sets the GrowToBottom flag for the selected objects.
- </summary>
- <param name="value">Flag value.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.ToggleLine(FastReport.BorderLines,System.Boolean)">
- <summary>
- Toggles the specified border line for the selected objects.
- </summary>
- <param name="line">Border line.</param>
- <param name="toggle">Toggle value.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetLineColor(System.Drawing.Color)">
- <summary>
- Sets the border color for the selected objects.
- </summary>
- <param name="color">Border color.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetWidth(System.Single)">
- <summary>
- Sets the border width for the selected objects.
- </summary>
- <param name="width">Border width.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetLineStyle(FastReport.LineStyle)">
- <summary>
- Sets the border style for the selected objects.
- </summary>
- <param name="style">Border style.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.SetBorder(FastReport.Border)">
- <summary>
- Sets the border for the selected objects.
- </summary>
- <param name="border">Border.</param>
- </member>
- <member name="M:FastReport.SelectedReportComponents.InvokeFillEditor">
- <summary>
- Invokes the fill editor for the selected objects.
- </summary>
- <returns><b>true</b> if editor was closed by the OK button.</returns>
- </member>
- <member name="M:FastReport.SelectedReportComponents.InvokeBorderEditor">
- <summary>
- Invokes the border editor for the selected objects.
- </summary>
- <returns><b>true</b> if editor was closed by the OK button.</returns>
- </member>
- <member name="M:FastReport.SelectedReportComponents.InvokeHyperlinkEditor">
- <summary>
- Invokes the hyperlink editor for the selected objects.
- </summary>
- <returns><b>true</b> if editor was closed by the OK button.</returns>
- </member>
- <member name="P:FastReport.SelectedReportComponents.First">
- <summary>
- Gets the first selected object.
- </summary>
- </member>
- <member name="P:FastReport.SelectedReportComponents.Count">
- <summary>
- Gets the number of selected objects.
- </summary>
- </member>
- <member name="P:FastReport.SelectedReportComponents.Enabled">
- <summary>
- Gets a value indicating whether the operations are enabled.
- </summary>
- </member>
- <member name="P:FastReport.SelectedReportComponents.SimpleBorder">
- <summary>
- Gets a value indicating whether the object with simple border is selected.
- </summary>
- <remarks>
- When the object has a simple border, you cannot change individual border lines.
- Example of such an object is the "Shape" and "Line" objects.
- </remarks>
- </member>
- <member name="P:FastReport.SelectedReportComponents.BorderEnabled">
- <summary>
- Gets a value indicating whether the border operations are enabled.
- </summary>
- </member>
- <member name="P:FastReport.SelectedReportComponents.FillEnabled">
- <summary>
- Gets a value indicating whether the fill operations are enabled.
- </summary>
- </member>
- <member name="T:FastReport.ReportInfo">
- <summary>
- This class represents the report information such as name, author, description etc.
- </summary>
- </member>
- <member name="M:FastReport.ReportInfo.Clear">
- <summary>
- Resets all properties to its default values.
- </summary>
- </member>
- <member name="M:FastReport.ReportInfo.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ReportInfo"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Name">
- <summary>
- Gets or sets the name of a report.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Author">
- <summary>
- Gets or sets the author of a report.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Version">
- <summary>
- Gets or sets the report version.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Description">
- <summary>
- Gets or sets the report description.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Picture">
- <summary>
- Gets or sets the picture associated with a report.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Created">
- <summary>
- Gets or sets the report creation date and time.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.Modified">
- <summary>
- Gets or sets a value indicating that report was modified in the designer.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.SavePreviewPicture">
- <summary>
- Gets or sets a value that determines whether to fill the <see cref="P:FastReport.ReportInfo.Picture"/> property
- automatically.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.PreviewPictureRatio">
- <summary>
- Gets or sets the ratio that will be used when generating a preview picture.
- </summary>
- </member>
- <member name="P:FastReport.ReportInfo.CreatorVersion">
- <summary>
- Gets the version of FastReport that was created this report file.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FRPaintEventArgs">
- <summary>
- Provides a data for paint event.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FRPaintEventArgs.#ctor(System.Drawing.Graphics,System.Single,System.Single,FastReport.GraphicCache)">
- <summary>
- Initializes a new instance of the <b>FRPaintEventArgs</b> class with specified settings.
- </summary>
- <param name="g"><b>Graphics</b> object to draw on.</param>
- <param name="scaleX">X scale factor.</param>
- <param name="scaleY">Y scale factor.</param>
- <param name="cache">Cache that contains graphics objects.</param>
- </member>
- <member name="P:FastReport.Utils.FRPaintEventArgs.Graphics">
- <summary>
- Gets a <b>Graphics</b> object to draw on.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRPaintEventArgs.ScaleX">
- <summary>
- Gets the X scale factor.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRPaintEventArgs.ScaleY">
- <summary>
- Gets the Y scale factor.
- </summary>
- </member>
- <member name="P:FastReport.Utils.FRPaintEventArgs.Cache">
- <summary>
- Gets the cache that contains graphics objects.
- </summary>
- </member>
- <member name="F:FastReport.Forms.PageSetupForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PageSetupForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PageSetupForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.Relation">
- <summary>
- Represents a master-detail relation between two data sources.
- </summary>
- <remarks>
- To setup a relation, you must specify parent and child datasources. For a parent datasource,
- you must specify set of key columns; for child datasource, you must specify set of columns that
- relate to the parent key columns.
- <example>This example shows how to create relation between Customers and Orders tables:
- <code>
- Report report1;
- DataSourceBase customersTable = report1.Dictionary.DataSources.FindByAlias("Customers");
- DataSourceBase ordersTable = report1.Dictionary.DataSources.FindByAlias("Orders");
- Relation rel = new Relation();
- rel.Name = "customersOrders";
- rel.ParentDataSource = customersTable;
- rel.ChildDataSource = ordersTable;
- rel.ParentColumns = new string[] { "CustomerID" };
- rel.ChildColumns = new string[] { "CustomerID" };
- report1.Dictionary.Relations.Add(rel);
- </code>
- </example>
- </remarks>
- </member>
- <member name="M:FastReport.Data.Relation.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Relation.InvokeEditor">
- <summary>
- Invokes the relation editor.
- </summary>
- <returns><b>true</b> if relation was modified.</returns>
- </member>
- <member name="M:FastReport.Data.Relation.Equals(FastReport.Data.Relation)">
- <summary>
- Compares this relation with another one.
- </summary>
- <param name="rel">Another relation to compare with.</param>
- <returns><b>true</b> if both relations are equal; <b>false</b> otherwise.</returns>
- </member>
- <member name="M:FastReport.Data.Relation.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.Relation"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.Relation.ParentDataSource">
- <summary>
- Gets or sets the parent datasource.
- </summary>
- </member>
- <member name="P:FastReport.Data.Relation.ChildDataSource">
- <summary>
- Gets or sets the child datasource.
- </summary>
- </member>
- <member name="P:FastReport.Data.Relation.ParentColumns">
- <summary>
- Gets or sets an array of parent datasource columns.
- </summary>
- <remarks>
- Note: both <see cref="P:FastReport.Data.Relation.ParentColumns"/> and <see cref="P:FastReport.Data.Relation.ChildColumns"/> must have the
- same number of elements.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Relation.ChildColumns">
- <summary>
- Gets or sets an array of child datasource columns.
- </summary>
- <remarks>
- Note: both <see cref="P:FastReport.Data.Relation.ParentColumns"/> and <see cref="P:FastReport.Data.Relation.ChildColumns"/> must have the
- same number of elements.
- </remarks>
- </member>
- <member name="T:FastReport.Dialog.DialogComponentCollection">
- <summary>
- Represents the collection of dialog components.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogComponentCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Dialog.DialogComponentCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DialogComponentCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Dialog.DialogComponentCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Dialog.DialogComponentCollection.Item(System.Int32)">
- <summary>
- Gets or sets a component.
- </summary>
- <param name="index">The index of a component in this collection.</param>
- <returns>The component with specified index.</returns>
- </member>
- <member name="T:FastReport.Dialog.ButtonControl">
- <summary>
- Represents a Windows button control.
- Wraps the <see cref="T:System.Windows.Forms.Button"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ButtonControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ButtonControl.#ctor">
- <summary>
- Initializes a new instance of the <b>ButtonControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.Button">
- <summary>
- Gets an internal <b>Button</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.DialogResult">
- <summary>
- Gets or sets a value that is returned to the parent form when the button is clicked.
- Wraps the <see cref="P:System.Windows.Forms.Button.DialogResult"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.AutoSize">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.TextAlign">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.AutoFilter">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.DataColumn">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.ReportParameter">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ButtonControl.FilterOperation">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.ColumnHeaderBand">
- <summary>
- This class represents a column header band.
- </summary>
- </member>
- <member name="M:FastReport.ColumnHeaderBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ColumnHeaderBand"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.ColumnHeaderBand.StartNewPage">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.ColumnHeaderBand.PrintOnBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.TypeEditors.DataColumnEditor">
- <summary>
- Provides a user interface for choosing a data column.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.DataColumnEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.DataColumnEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TypeEditors.DataColumnEditor.IsDropDownResizable">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Forms.ConnectionForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ConnectionForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ConnectionForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.GridControlColumnsEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.GridControlColumnsEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.GridControlColumnsEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.ExpressionEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ExpressionEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ExpressionEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.XmlDataConnection">
- <summary>
- Represents a connection to xml file-based database.
- </summary>
- <example>This example shows how to add a new connection to the report.
- <code>
- Report report1;
- XmlDataConnection conn = new XmlDataConnection();
- conn.XmlFile = @"c:\data.xml";
- report1.Dictionary.Connections.Add(conn);
- conn.CreateAllTables();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.CreateDataSet">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.SetConnectionString(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.FillTableSchema(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.FillTableData(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.GetEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.GetConnectionId">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.QuoteIdentifier(System.String,System.Data.Common.DbConnection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.GetTableNames">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.TestConnection">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.XmlDataConnection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.XmlDataConnection"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.XmlDataConnection.XsdFile">
- <summary>
- Gets or sets the path to .xsd file.
- </summary>
- </member>
- <member name="P:FastReport.Data.XmlDataConnection.XmlFile">
- <summary>
- Gets or sets the path to .xml file.
- </summary>
- </member>
- <member name="T:FastReport.Data.OleDbDataConnection">
- <summary>
- Represents a connection to any OLE DB database.
- </summary>
- <example>This example shows how to add a new connection to the report.
- <code>
- Report report1;
- OleDbDataConnection conn = new OleDbDataConnection();
- conn.ConnectionString = "your_connection_string";
- report1.Dictionary.Connections.Add(conn);
- conn.CreateAllTables();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetTableNames">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetConnectionStringWithLoginInfo(System.String,System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.QuoteIdentifier(System.String,System.Data.Common.DbConnection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetConnectionType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetDefaultParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.OleDbDataConnection.GetConnectionId">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Forms.SelectLanguageForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.SelectLanguageForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.SelectLanguageForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.ProgressForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ProgressForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ProgressForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="P:FastReport.Forms.ProgressForm.Aborted">
- <summary>
- Gets Aborted state
- </summary>
- </member>
- <member name="T:FastReport.Data.TotalType">
- <summary>
- Specifies the total type.
- </summary>
- </member>
- <member name="F:FastReport.Data.TotalType.Sum">
- <summary>
- The total returns sum of values.
- </summary>
- </member>
- <member name="F:FastReport.Data.TotalType.Min">
- <summary>
- The total returns minimal value.
- </summary>
- </member>
- <member name="F:FastReport.Data.TotalType.Max">
- <summary>
- The total returns maximal value.
- </summary>
- </member>
- <member name="F:FastReport.Data.TotalType.Avg">
- <summary>
- The total returns average value.
- </summary>
- </member>
- <member name="F:FastReport.Data.TotalType.Count">
- <summary>
- The total returns number of values.
- </summary>
- </member>
- <member name="T:FastReport.Data.Total">
- <summary>
- Represents a total that is used to calculate aggregates such as Sum, Min, Max, Avg, Count.
- </summary>
- </member>
- <member name="M:FastReport.Data.Total.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Total.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Total.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Total.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Total.Clear">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.Total.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.Total"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.TotalType">
- <summary>
- Gets or sets the total type.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.Expression">
- <summary>
- Gets or sets the expression used to calculate the total.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.Evaluator">
- <summary>
- Gets or sets the evaluator databand.
- </summary>
- <remarks>
- The total will be calculated for each row of this band.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Total.Resetter">
- <summary>
- This property is kept for compatibility only.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.PrintOn">
- <summary>
- Gets or sets the band to print the total on.
- </summary>
- <remarks>
- The total will be resetted after the specified band has been printed.
- </remarks>
- </member>
- <member name="P:FastReport.Data.Total.ResetAfterPrint">
- <summary>
- Gets or sets a value that determines whether the total should be resetted after print.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.ResetOnReprint">
- <summary>
- Gets or sets a value that determines whether the total should be resetted if printed
- on repeated band (i.e. band with "RepeatOnEveryPage" flag).
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.EvaluateCondition">
- <summary>
- Gets or sets the condition which tells the total to evaluate.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.IncludeInvisibleRows">
- <summary>
- Gets or sets a value that determines if invisible rows of the <b>Evaluator</b> should
- be included into the total's value.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Data.Total.Value">
- <summary>
- Gets the value of total.
- </summary>
- </member>
- <member name="T:FastReport.Map.ShapeCollection">
- <summary>
- Holds the list of objects of <see cref="T:FastReport.Map.ShapeBase"/> type.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapeCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapeCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapeCollection"/> class with specified owner.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapeCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="F:FastReport.Forms.Office2007PreviewForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.Office2007PreviewForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.Office2007PreviewForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Export.Text.TextExportPrintForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Export.Text.TextExportPrintForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Export.Text.TextExportPrintForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Export.Text.TextExportPrintForm.Localize">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Forms.PDFExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PDFExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PDFExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.Word2007ExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.Word2007ExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.Word2007ExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Design.StandardDesigner.Office2007DesignerForm">
- <summary>
- Represents designer's form in Office 2007 style.
- </summary>
- <remarks>
- This form contains the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/>. Use the <see cref="P:FastReport.Design.StandardDesigner.Office2007DesignerForm.Designer"/>
- property to get access to this control.
- <para/>Usually you don't need to create an instance of this class. The designer can be called
- using the <see cref="M:FastReport.Report.Design"/> method of
- the <see cref="T:FastReport.Report"/> instance.
- <para/>If you decided to use this class, you need:
- <list type="bullet">
- <item>
- <description>create an instance of this class;</description>
- </item>
- <item>
- <description>set the <b>Designer.Report</b> property to report that you need to design;</description>
- </item>
- <item>
- <description>call either <b>ShowModal</b> or <b>Show</b> methods to display a form.</description>
- </item>
- </list>
- </remarks>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.Office2007DesignerForm.#ctor">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.Design.StandardDesigner.DesignerForm"/> class with default settings.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.Office2007DesignerForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.Office2007DesignerForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.Office2007DesignerForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.Office2007DesignerForm.Designer">
- <summary>
- Gets a reference to the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/> control which is actually a designer.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm">
- <summary>
- Represents the Application Info diabolg form.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.Localize">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.Key">
- <summary>
- Gets the application key.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.ApplicationInfoForm.Secret">
- <summary>
- Gets the application secret.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.AccountInfo">
- <summary>
- Represents the information about dropbox storage account.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.AccountInfo.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.AccountInfo"/> class with a specified parameters.
- </summary>
- <param name="login">The user login.</param>
- <param name="password">The user password.</param>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AccountInfo.Login">
- <summary>
- Gets or sets the user login.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AccountInfo.Password">
- <summary>
- Gets or sets the user password.
- </summary>
- </member>
- <member name="T:FastReport.Utils.ObjectInfo">
- <summary>
- Holds the information about the registered object.
- </summary>
- </member>
- <member name="M:FastReport.Utils.ObjectInfo.EnumItems(System.Collections.Generic.List{FastReport.Utils.ObjectInfo})">
- <summary>
- Enumerates all objects.
- </summary>
- <param name="list">List that will contain enumerated items.</param>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Name">
- <summary>
- Name of object or category.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Object">
- <summary>
- The registered object.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Function">
- <summary>
- The registered function.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Image">
- <summary>
- Image.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.ImageIndex">
- <summary>
- Image index.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Text">
- <summary>
- Tooltip text.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Flags">
- <summary>
- Flags that will be used to create an object instance in the designer.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.MultiInsert">
- <summary>
- Indicates whether this object can be inserted several times simultaneously.
- </summary>
- <remarks>
- This is applied to Line object only.
- </remarks>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Enabled">
- <summary>
- Gets or sets the enabled flag for the object.
- </summary>
- </member>
- <member name="P:FastReport.Utils.ObjectInfo.Items">
- <summary>
- List of subitems.
- </summary>
- </member>
- <member name="T:FastReport.Utils.RegisteredObjects">
- <summary>
- Contains all registered report items such as objects, export filters, wizards.
- </summary>
- <remarks>
- Use this class to register own components, wizards, export filters or another items that
- need to be serialized to/from a report file.
- </remarks>
- <example>
- <code>
- // register own wizard
- RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true);
- // register own export filter
- RegisteredObjects.AddExport(typeof(MyExport), "My Export");
- // register own report object
- RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.IsTypeRegistered(System.Type)">
- <summary>
- Checks whether the specified type is registered already.
- </summary>
- <param name="obj">Type to check.</param>
- <returns><b>true</b> if such type is registered.</returns>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddCategory(System.String,System.Drawing.Bitmap,System.String)">
- <summary>
- Registers a category that may contain several report objects.
- </summary>
- <param name="name">Category name.</param>
- <param name="image">Image for category button.</param>
- <param name="text">Text for category button.</param>
- <remarks>
- <para>Category is a button on the "Objects" toolbar that shows context menu with nested items
- when you click it. Consider using categories if you register several report objects. It can
- save space on the "Objects" toolbar. For example, FastReport registers one category called "Shapes"
- that contains the <b>LineObject</b> and different types of <b>ShapeObject</b>.</para>
- <para>The name of category must starts either with "ReportPage," or "DialogPage," depending on
- what kind of controls do you need to regiter in this category: report objects or dialog controls.
- After the comma, specify the category name. So the full category name that you need to specify
- in the <b>name</b> parameter, must be something like this: "ReportPage,Shapes".
- </para>
- <para>When register an object inside a category, you must specify the full category name in the
- <b>category</b> parameter of the <b>Add</b> method. </para>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddWizard(System.Type,System.Drawing.Bitmap,System.String,System.Boolean)">
- <summary>
- Registers a new wizard.
- </summary>
- <param name="obj">Type of wizard.</param>
- <param name="image">Image for wizard item.</param>
- <param name="text">Text for wizard item.</param>
- <param name="isReportItemWizard"><b>true</b> if this wizard creates some items in existing report.</param>
- <remarks>
- The <b>obj</b> must be of <see cref="T:FastReport.Wizards.WizardBase"/> type.
- </remarks>
- <example>This example shows how to register own wizard that is used to create some items in the
- current report. If you want to register a wizard that will be used to create a new report,
- set the <b>isReportItemWizard</b> to <b>false</b>.
- <code>
- // register own wizard
- RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true);
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddExport(System.Type,System.String)">
- <summary>
- Registers a new export filter.
- </summary>
- <param name="obj">Type of export filter.</param>
- <param name="text">Text for export filter's menu item.</param>
- <remarks>
- The <b>obj</b> must be of <see cref="T:FastReport.Export.ExportBase"/> type.
- </remarks>
- <example>
- <code>
- // register own export filter
- RegisteredObjects.AddExport(typeof(MyExport), "My Export");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddCloud(System.Type,System.String)">
- <summary>
- Registers a new cloud storage client.
- </summary>
- <param name="obj">Type of cloud storage client.</param>
- <param name="text">Text for cloud storage client's menu item.</param>
- <remarks>
- The <b>obj</b> must be of <see cref="T:FastReport.Cloud.StorageClient.CloudStorageClient"/> type.
- </remarks>
- <example>
- <code>
- // register own cloud storage client
- RegisteredObjects.AddCloud(typeof(MyCloud), "My Cloud");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddConnection(System.Type)">
- <summary>
- Registers data connection.
- </summary>
- <param name="obj">Type of connection.</param>
- <remarks>
- The <b>obj</b> must be of <see cref="T:FastReport.Data.DataConnectionBase"/> type.
- </remarks>
- <example>
- <code>
- // register data connection
- RegisteredObjects.AddConnection(typeof(MsSqlDataConnection));
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddConnection(System.Type,System.String)">
- <summary>
- Registers custom data connection.
- </summary>
- <param name="obj">Type of connection.</param>
- <param name="text">Name of connection.</param>
- <remarks>
- The <b>obj</b> must be of <see cref="T:FastReport.Data.DataConnectionBase"/> type.
- </remarks>
- <example>
- <code>
- // register data connection
- RegisteredObjects.AddConnection(typeof(MyDataConnection), "My Data Connection");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Int32)">
- <summary>
- Registers an object in the specified category.
- </summary>
- <param name="obj">Type of object to register.</param>
- <param name="category">Name of category to register in.</param>
- <param name="imageIndex">Index of image for object's button.</param>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String)">
- <summary>
- Registers an object in the specified category with button's image and text.
- </summary>
- <param name="obj">Type of object to register.</param>
- <param name="category">Name of category to register in.</param>
- <param name="image">Image for object's button.</param>
- <param name="text">Text for object's button.</param>
- <remarks>
- <para>You must specify either the page type name or existing category name in the <b>category</b> parameter.
- The report objects must be registered in the "ReportPage" category or custom category that is
- registered in the "ReportPage" as well. The dialog controls must be registered in the "DialogPage"
- category or custom category that is registered in the "DialogPage" as well.</para>
- <para>If you want to register an object that needs to be serialized, but you don't want
- to show it on the toolbar, pass empty string in the <b>category</b> parameter.
- </para>
- </remarks>
- <example>
- <code>
- // register the report object
- RegisteredObjects.Add(typeof(MyReportObject), "ReportPage", myReportObjectBmp, "My Report Object");
- // register the dialog control
- RegisteredObjects.Add(typeof(MyDialogControl), "DialogPage", myDialogControlBmp, "My Dialog Control");
- // add a category and register an object inside it
- RegisteredObjects.AddCategory("ReportPage,MyCategory", myCategoryBmp, "My Category");
- // register another report object in MyCategory
- RegisteredObjects.Add(typeof(MyReportObject), "ReportPage,MyCategory",
- anotherReportObjectBmp, "Another Report Object");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String,System.Int32)">
- <summary>
- Registers an object in the specified category with button's image, text and object's flags.
- </summary>
- <param name="obj">Type of object to register.</param>
- <param name="category">Name of category to register in.</param>
- <param name="image">Image for object's button.</param>
- <param name="text">Text for object's button.</param>
- <param name="flags">Integer value that will be passed to object's <b>OnBeforeInsert</b> method.</param>
- <remarks>
- <para>See the <see cref="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String)"/> method for more details.</para>
- <para>To learn about flags, see the <see cref="M:FastReport.Base.OnBeforeInsert(System.Int32)"/> method.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String,System.Int32,System.Boolean)">
- <summary>
- Registers an object in the specified category with button's image, text, object's flags and multi-insert flag.
- </summary>
- <param name="obj">Type of object to register.</param>
- <param name="category">Name of category to register in.</param>
- <param name="image">Image for object's button.</param>
- <param name="text">Text for object's button.</param>
- <param name="flags">Integer value that will be passed to object's <b>OnBeforeInsert</b> method.</param>
- <param name="multiInsert">Specifies whether the object may be inserted several times until you
- select the "arrow" button or insert another object.</param>
- <remarks>
- <para>See the <see cref="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String)"/> method for more details.</para>
- <para>To learn about flags, see the <see cref="M:FastReport.Base.OnBeforeInsert(System.Int32)"/> method.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddFunctionCategory(System.String,System.String)">
- <summary>
- Adds a new function category.
- </summary>
- <param name="category">Short name of category.</param>
- <param name="text">Display name of category.</param>
- <remarks>
- Short name is used to reference the category in the subsequent <see cref="M:FastReport.Utils.RegisteredObjects.AddFunction(System.Reflection.MethodInfo,System.String)"/>
- method call. It may be any value, for example, "MyFuncs". Display name of category is displayed
- in the "Data" window. In may be, for example, "My Functions".
- <para/>The following standard categories are registered by default:
- <list type="bullet">
- <item>
- <description>"Math"</description>
- </item>
- <item>
- <description>"Text"</description>
- </item>
- <item>
- <description>"DateTime"</description>
- </item>
- <item>
- <description>"Formatting"</description>
- </item>
- <item>
- <description>"Conversion"</description>
- </item>
- <item>
- <description>"ProgramFlow"</description>
- </item>
- </list>
- </remarks>
- <example>
- This example shows how to register a new category:
- <code>
- RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.AddFunction(System.Reflection.MethodInfo,System.String)">
- <summary>
- Adds a new function into the specified category.
- </summary>
- <param name="function"><b>MethodInfo</b> containing all necessary information about the function.</param>
- <param name="category">The name of category to register the function in.</param>
- <remarks>
- Your function must be a static, public method of a public class.
- <para/>The following standard categories are registered by default:
- <list type="bullet">
- <item>
- <description>"Math"</description>
- </item>
- <item>
- <description>"Text"</description>
- </item>
- <item>
- <description>"DateTime"</description>
- </item>
- <item>
- <description>"Formatting"</description>
- </item>
- <item>
- <description>"Conversion"</description>
- </item>
- <item>
- <description>"ProgramFlow"</description>
- </item>
- </list>
- You may use one of the standard categories, or create a new category by the
- <see cref="M:FastReport.Utils.RegisteredObjects.AddFunctionCategory(System.String,System.String)"/> method call.
- <para/>FastReport uses XML comments to display your function's description.
- To generate XML comments, enable it in your project's properties
- ("Project|Properties..." menu, "Build" tab, enable the "XML documentation file" checkbox).
- </remarks>
- <example>
- The following example shows how to register own functions:
- <code>
- public static class MyFunctions
- {
- /// <summary>
- /// Converts a specified string to uppercase.
- /// </summary>
- /// <param name="s">The string to convert.</param>
- /// <returns>A string in uppercase.</returns>
- public static string MyUpperCase(string s)
- {
- return s == null ? "" : s.ToUpper();
- }
-
- /// <summary>
- /// Returns the larger of two 32-bit signed integers.
- /// </summary>
- /// <param name="val1">The first of two values to compare.</param>
- /// <param name="val2">The second of two values to compare.</param>
- /// <returns>Parameter val1 or val2, whichever is larger.</returns>
- public static int MyMaximum(int val1, int val2)
- {
- return Math.Max(val1, val2);
- }
-
- /// <summary>
- /// Returns the larger of two 64-bit signed integers.
- /// </summary>
- /// <param name="val1">The first of two values to compare.</param>
- /// <param name="val2">The second of two values to compare.</param>
- /// <returns>Parameter val1 or val2, whichever is larger.</returns>
- public static long MyMaximum(long val1, long val2)
- {
- return Math.Max(val1, val2);
- }
- }
-
- // register a category
- RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions");
-
- // obtain MethodInfo for our functions
- Type myType = typeof(MyFunctions);
- MethodInfo myUpperCaseFunc = myType.GetMethod("MyUpperCase");
- MethodInfo myMaximumIntFunc = myType.GetMethod("MyMaximum", new Type[] { typeof(int), typeof(int) });
- MethodInfo myMaximumLongFunc = myType.GetMethod("MyMaximum", new Type[] { typeof(long), typeof(long) });
-
- // register simple function
- RegisteredObjects.AddFunction(myUpperCaseFunc, "MyFuncs");
-
- // register overridden functions
- RegisteredObjects.AddFunction(myMaximumIntFunc, "MyFuncs,MyMaximum");
- RegisteredObjects.AddFunction(myMaximumLongFunc, "MyFuncs,MyMaximum");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.RegisteredObjects.FindObject(System.Type)">
- <summary>
- Finds the registered object's info.
- </summary>
- <param name="type">The type of object to find.</param>
- <returns>The object's info.</returns>
- <remarks>This method can be used to disable some objects, for example:
- <para/>RegisteredObjects.FindObject(typeof(PDFExport)).Enabled = false;
- </remarks>
- </member>
- <member name="P:FastReport.Utils.RegisteredObjects.Objects">
- <summary>
- Root object for all registered objects.
- </summary>
- </member>
- <member name="T:FastReport.Utils.Config">
- <summary>
- Contains some configuration properties and settings that will be applied to the FastReport.Net
- environment, including Report, Designer and Preview components.
- </summary>
- </member>
- <member name="M:FastReport.Utils.Config.SaveFormState(System.Windows.Forms.Form)">
- <summary>
- Saves the form state to the configuration file.
- </summary>
- <param name="form">The form to save.</param>
- </member>
- <member name="M:FastReport.Utils.Config.RestoreFormState(System.Windows.Forms.Form)">
- <summary>
- Restores the form state from the configuration file.
- </summary>
- <param name="form">The form to restore.</param>
- </member>
- <member name="P:FastReport.Utils.Config.FullTrust">
- <summary>
- Gets a value indicating that the ASP.NET hosting permission level is set to full trust.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.ReportSettings">
- <summary>
- Gets or sets the settings for the Report component.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.PreviewSettings">
- <summary>
- Gets or sets the settings for the preview window.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.DesignerSettings">
- <summary>
- Gets or sets the settings for the report designer window.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.EmailSettings">
- <summary>
- Gets or sets the settings for the "Send Email" window.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.UIStyle">
- <summary>
- Gets or sets the UI style.
- </summary>
- <remarks>
- This property affects both designer and preview windows.
- </remarks>
- </member>
- <member name="P:FastReport.Utils.Config.UseOffice2007Form">
- <summary>
- Gets or sets a value indicating whether the Office2007-style window should be used
- instead of standard Form when Office2007 color scheme is selected.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.Version">
- <summary>
- Gets FastReport version.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.Root">
- <summary>
- Gets the root item of config xml.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.Folder">
- <summary>
- Gets or sets the path used to load/save the configuration file.
- </summary>
- <remarks>
- By default, the configuration file is saved to the application local data folder
- (C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\).
- Set this property to "" if you want to store the configuration file in the application folder.
- </remarks>
- </member>
- <member name="P:FastReport.Utils.Config.TempFolder">
- <summary>
- Gets or sets the path to the temporary folder used to store temporary files.
- </summary>
- <remarks>
- The default value is <b>null</b>, so the system temp folder will be used.
- </remarks>
- </member>
- <member name="P:FastReport.Utils.Config.ApplicationFolder">
- <summary>
- Gets the application folder.
- </summary>
- </member>
- <member name="P:FastReport.Utils.Config.WebMode">
- <summary>
- Gets or sets a value that determines whether to disable some functionality to run in web mode.
- </summary>
- <remarks>
- Use this property if you use FastReport in ASP.Net. Set this property to <b>true</b> <b>before</b>
- you access any FastReport.Net objects.
- </remarks>
- </member>
- <member name="P:FastReport.Utils.Config.EngCultureInfo">
- <summary>
- Gets an english culture information for localization purposes
- </summary>
- </member>
- <member name="T:FastReport.SelectedObjectCollection">
- <summary>
- Holds the list of selected objects of <see cref="T:FastReport.Base"/> type. Used by the
- <see cref="P:FastReport.Design.Designer.SelectedObjects"/>.
- </summary>
- </member>
- <member name="P:FastReport.SelectedObjectCollection.IsPageSelected">
- <summary>
- Gets a value indicating that report page is selected.
- </summary>
- </member>
- <member name="P:FastReport.SelectedObjectCollection.IsReportSelected">
- <summary>
- Gets a value indicating that report is selected.
- </summary>
- </member>
- <member name="T:FastReport.Design.StandardDesigner.DesignerMenu">
- <summary>
- Represents the designer's main menu.
- </summary>
- <remarks>
- To get this menu, use the following code:
- <code>
- Designer designer;
- DesignerMenu menu = designer.Plugins.FindType("DesignerMenu") as DesignerMenu;
- </code>
- </remarks>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFile">
- <summary>
- The "File" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileNew">
- <summary>
- The "File|New..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileOpen">
- <summary>
- The "File|Open..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileClose">
- <summary>
- The "File|Close" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileSave">
- <summary>
- The "File|Save" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileSaveAs">
- <summary>
- The "File|Save as..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileSaveAll">
- <summary>
- The "File|Save All" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFilePageSetup">
- <summary>
- The "File|Page Setup..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFilePrinterSetup">
- <summary>
- The "File|Printer Setup..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFilePreview">
- <summary>
- The "File|Preview..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileSelectLanguage">
- <summary>
- The "File|Select Language" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miFileExit">
- <summary>
- The "File|Exit" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEdit">
- <summary>
- The "Edit" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditUndo">
- <summary>
- The "Edit|Undo" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditRedo">
- <summary>
- The "Edit|Redo" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditCut">
- <summary>
- The "Edit|Cut" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditCopy">
- <summary>
- The "Edit|Copy" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditPaste">
- <summary>
- The "Edit|Paste" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditDelete">
- <summary>
- The "Edit|Delete" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditDeletePage">
- <summary>
- The "Edit|Delete Page" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditSelectAll">
- <summary>
- The "Edit|Select All" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditGroup">
- <summary>
- The "Edit|Group" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditUngroup">
- <summary>
- The "Edit|Ungroup" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditFind">
- <summary>
- The "Edit|Find..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miEditReplace">
- <summary>
- The "Edit|Replace..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miView">
- <summary>
- The "View" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miViewToolbars">
- <summary>
- The "View|Toolbars" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miViewStartPage">
- <summary>
- The "View|Start Page" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miViewOptions">
- <summary>
- The "View|Options..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miInsert">
- <summary>
- The "Insert" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miReport">
- <summary>
- The "Report" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miReportOptions">
- <summary>
- The "Report|Options..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miData">
- <summary>
- The "Data" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miDataChoose">
- <summary>
- The "Data|Choose Report Data..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miDataAdd">
- <summary>
- The "Data|Add Data Source..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miDataShowData">
- <summary>
- The "Data|Show Data Dictionary" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miWindow">
- <summary>
- The "Window" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miWindowCloseAll">
- <summary>
- The "Window|Close All" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miHelp">
- <summary>
- The "Help" menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miHelpContents">
- <summary>
- The "Help|Help Contents..." menu.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerMenu.miHelpAbout">
- <summary>
- The "Help|About..." menu.
- </summary>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.GetOptionsPage">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.CreateMenuItem">
- <summary>
- Creates a new menu item.
- </summary>
- <returns>New menu item.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.CreateMenuItem(System.EventHandler)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="click">Click handler.</param>
- <returns>New menu item.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.CreateMenuItem(System.Drawing.Image,System.EventHandler)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="image">Item's image.</param>
- <param name="click">Click handler.</param>
- <returns>New menu item.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.CreateMenuItem(System.String,System.EventHandler)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="text">Item's text.</param>
- <param name="click">Click handler.</param>
- <returns>New menu item.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.CreateMenuItem(System.Drawing.Image,System.String,System.EventHandler)">
- <summary>
- Creates a new menu item.
- </summary>
- <param name="image">Item's image.</param>
- <param name="text">Item's text.</param>
- <param name="click">Click handler.</param>
- <returns>New menu item.</returns>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerMenu.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.StandardDesigner.DesignerMenu"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.DesignerMenu.PluginName">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Table.TableObject">
- <summary>
- Represents a table object that consists of several rows and columns.
- </summary>
- <remarks>
- <para/>To add/remove columns, use the <see cref="P:FastReport.Table.TableBase.Columns"/> collection. To add/remove
- rows, use the <see cref="P:FastReport.Table.TableBase.Rows"/> collection. To initialize a table with specified number of
- columns and rows, use <see cref="P:FastReport.Table.TableObject.ColumnCount"/> and <see cref="P:FastReport.Table.TableObject.RowCount"/> properties.
- <para/>To print a table in code, use the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event. In the manual build
- mode, you can use aggregate functions. The following functions available:
- <list type="table">
- <listheader>
- <term>Aggregate function</term>
- <description>Description</description>
- </listheader>
- <item>
- <term>Sum(cell)</term>
- <description>Calculates the sum of values in specified table cell.</description>
- </item>
- <item>
- <term>Min(cell)</term>
- <description>Calculates the minimum of values in specified table cell.</description>
- </item>
- <item>
- <term>Max(cell)</term>
- <description>Calculates the maximum of values in specified table cell.</description>
- </item>
- <item>
- <term>Avg(cell)</term>
- <description>Calculates the average of values in specified table cell.</description>
- </item>
- <item>
- <term>Count(cell)</term>
- <description>Calculates the number of repeats of a specified table cell.</description>
- </item>
- </list>
- <para/>To print aggregate value, place the aggregate function call in the table cell:
- <c>[Count(Cell2)]</c>.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.HandleDragOver(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.HandleDragDrop(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.GetCustomScript">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableObject.OnManualBuild(System.EventArgs)">
- <summary>
- This method fires the <b>ManualBuild</b> event and the script code connected to the <b>ManualBuildEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Table.TableObject.PrintRow(System.Int32)">
- <summary>
- Prints a row with specified index.
- </summary>
- <param name="index">Index of a row to print.</param>
- <remarks>
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.PrintRows(System.Int32[])">
- <summary>
- Prints rows with specified indices.
- </summary>
- <param name="indices">Indices of rows to print.</param>
- <remarks>
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.PrintRows">
- <summary>
- Prints all rows.
- </summary>
- <remarks>
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.PrintColumn(System.Int32)">
- <summary>
- Prints a column with specified index.
- </summary>
- <param name="index">Index of a column to print.</param>
- <remarks>
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.PrintColumns(System.Int32[])">
- <summary>
- Prints columns with specified indices.
- </summary>
- <param name="indices">Indices of columns to print.</param>
- <remarks>
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.PrintColumns">
- <summary>
- Prints all columns.
- </summary>
- <remarks>
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.PageBreak">
- <summary>
- Adds a page before rows or columns.
- </summary>
- <remarks>
- Call this method to insert a page break before the next row or column that you intend to print
- using <b>PrintRow(s)</b> or <b>PrintColumn(s)</b> methods.
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Table.TableObject"/> class.
- </summary>
- </member>
- <member name="E:FastReport.Table.TableObject.ManualBuild">
- <summary>
- Allows to print table rows/columns dynamically.
- </summary>
- <remarks>
- This event is used to handle the table print process in a code. Using special methods
- like <see cref="M:FastReport.Table.TableObject.PrintRow(System.Int32)"/>, <see cref="M:FastReport.Table.TableObject.PrintColumn(System.Int32)"/> you can print specified rows/columns.
-
- <para/>First way is to repeat specified row(s) to get a table that will grow downwards.
- To do this, you have to call the <b>PrintRow</b> method followed by the <b>PrintColumns</b> method.
-
- <para/>Another way is to repeat the specified column(s) to get a table that grows sidewards.
- To do this, call the <b>PrintColumn</b> method followed by the <b>PrintRows</b> method.
-
- <para/>Finally, the third way is to repeat rows and columns. The table will grow downwards and
- sidewards. To do this, call the <b>PrintRow</b> method followed by the <b>PrintColumn</b>
- method (or vice versa).
-
- <para/>
- <note type="caution">
- When you print a table row-by-row, you must call one of the <b>PrintColumn</b>,
- <b>PrintColumns</b> methods right after the <b>PrintRow</b> method.
- In the same manner, when you print a table column-by-column, call one of the
- <b>PrintRow</b>, <b>PrintRows</b> methods right after the <b>PrintColumn</b> method.
- If you ignore this rule you will get an exception.
- </note>
- </remarks>
- <example>
- In this example, we will consider all three ways to print a table which has 3 rows and 3 columns.
- <para/>Case 1: print a table downwards.
- <code>
- // print table header (the first row)
- Table1.PrintRow(0);
- Table1.PrintColumns();
- // print table body (the second row)
- for (int i = 0; i < 10; i++)
- {
- Table1.PrintRow(1);
- Table1.PrintColumns();
- }
- // print table footer (the third row)
- Table1.PrintRow(2);
- Table1.PrintColumns();
- </code>
-
- <para/>Case 2: print a table sidewards.
- <code>
- // print table header (the first column)
- Table1.PrintColumn(0);
- Table1.PrintRows();
- // print table body (the second column)
- for (int i = 0; i < 10; i++)
- {
- Table1.PrintColumn(1);
- Table1.PrintRows();
- }
- // print table footer (the third column)
- Table1.PrintColumn(2);
- Table1.PrintRows();
- </code>
-
- <para/>Case 3: print a table downwards and sidewards.
- <code>
- // print the first row with all its columns
- Table1.PrintRow(0);
- // print header column
- Table1.PrintColumn(0);
- // print 10 data columns
- for (int i = 0; i < 10; i++)
- {
- Table1.PrintColumn(1);
- }
- // print footer column
- Table1.PrintColumn(2);
-
- // print table body (the second row)
- for (int i = 0; i < 10; i++)
- {
- // print data row with all its columns
- Table1.PrintRow(1);
- Table1.PrintColumn(0);
- for (int j = 0; j < 10; j++)
- {
- Table1.PrintColumn(1);
- }
- Table1.PrintColumn(2);
- }
-
- // print table footer (the third row)
- Table1.PrintRow(2);
- // again print all columns in the table footer
- Table1.PrintColumn(0);
- for (int i = 0; i < 10; i++)
- {
- Table1.PrintColumn(1);
- }
- Table1.PrintColumn(2);
- </code>
- </example>
- </member>
- <member name="P:FastReport.Table.TableObject.ManualBuildEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event.
- </summary>
- <remarks>
- If you use this event, you must handle the table print process manually.
- See the <see cref="E:FastReport.Table.TableObject.ManualBuild"/> event for details.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableObject.ManualBuildAutoSpans">
- <summary>
- Determines whether to manage cell spans automatically during manual build.
- </summary>
- <remarks>
- The default value for this property is <b>true</b>. If you set it to <b>false</b>, you need to manage
- spans in your ManualBuild event handler.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableObject.ColumnCount">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableObject.RowCount">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.PageHeaderBand">
- <summary>
- Represents a page header band.
- </summary>
- </member>
- <member name="M:FastReport.PageHeaderBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PageHeaderBand"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.PageHeaderBand.StartNewPage">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.PageHeaderBand.PrintOnBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.FillEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.FillEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.FillEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Controls.ColorDropDown">
- <summary>
- Represents a drop-down control that allows to choose a color.
- </summary>
- <remarks>
- This control may be useful if you write own components for FastReport.
- </remarks>
- </member>
- <member name="M:FastReport.Controls.ColorDropDown.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.ColorDropDown"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Controls.ColorDropDown.ColorSelected">
- <summary>
- This event is raised when you select a color.
- </summary>
- </member>
- <member name="P:FastReport.Controls.ColorDropDown.Color">
- <summary>
- Gets or sets the selected color.
- </summary>
- </member>
- <member name="T:FastReport.Controls.ColorComboBox">
- <summary>
- Represents a combobox that allows to choose a color.
- </summary>
- <remarks>
- This control may be useful if you write own components for FastReport.
- </remarks>
- </member>
- <member name="M:FastReport.Controls.ColorComboBox.SetBoundsCore(System.Int32,System.Int32,System.Int32,System.Int32,System.Windows.Forms.BoundsSpecified)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.ColorComboBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.ColorComboBox.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.ColorComboBox.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.ColorComboBox"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Controls.ColorComboBox.ColorSelected">
- <summary>
- This event is raised when you select a color.
- </summary>
- </member>
- <member name="P:FastReport.Controls.ColorComboBox.Color">
- <summary>
- Gets or sets the selected color.
- </summary>
- </member>
- <member name="P:FastReport.Controls.ColorComboBox.ShowColorName">
- <summary>
- Gets or sets value indicating whether it is necessary to show a color name in a combobox.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.TextBoxControl">
- <summary>
- Represents a Windows text box control.
- Wraps the <see cref="T:System.Windows.Forms.TextBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.ShouldSerializeCursor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.OnLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.TextBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>TextBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.TextBox">
- <summary>
- Gets an internal <b>TextBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.AcceptsReturn">
- <summary>
- Gets or sets a value indicating whether pressing ENTER in a multiline TextBox control creates a new line of text in the control or activates the default button for the form.
- Wraps the <see cref="P:System.Windows.Forms.TextBox.AcceptsReturn"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.AcceptsTab">
- <summary>
- Gets or sets a value indicating whether pressing the TAB key in a multiline text box control types a TAB character in the control instead of moving the focus to the next control in the tab order.
- Wraps the <see cref="P:System.Windows.Forms.TextBoxBase.AcceptsTab"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.CharacterCasing">
- <summary>
- Gets or sets whether the TextBox control modifies the case of characters as they are typed.
- Wraps the <see cref="P:System.Windows.Forms.TextBox.CharacterCasing"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.MaxLength">
- <summary>
- Gets or sets the maximum number of characters the user can type or paste into the text box control.
- Wraps the <see cref="P:System.Windows.Forms.TextBoxBase.MaxLength"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.Multiline">
- <summary>
- Gets or sets a value indicating whether this is a multiline TextBox control.
- Wraps the <see cref="P:System.Windows.Forms.TextBox.Multiline"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.ReadOnly">
- <summary>
- Gets or sets a value indicating whether text in the text box is read-only.
- Wraps the <see cref="P:System.Windows.Forms.TextBoxBase.ReadOnly"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.ScrollBars">
- <summary>
- Gets or sets which scroll bars should appear in a multiline TextBox control.
- Wraps the <see cref="P:System.Windows.Forms.TextBox.ScrollBars"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.TextAlign">
- <summary>
- Gets or sets how text is aligned in a TextBox control.
- Wraps the <see cref="P:System.Windows.Forms.TextBox.TextAlign"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.UseSystemPasswordChar">
- <summary>
- Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character.
- Wraps the <see cref="P:System.Windows.Forms.TextBox.UseSystemPasswordChar"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.TextBoxControl.WordWrap">
- <summary>
- Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary.
- Wraps the <see cref="P:System.Windows.Forms.TextBoxBase.WordWrap"/> property.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.RadioButtonControl">
- <summary>
- Enables the user to select a single option from a group of choices when paired with other RadioButton controls.
- Wraps the <see cref="T:System.Windows.Forms.RadioButton"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.OnCheckedChanged(System.EventArgs)">
- <summary>
- This method fires the <b>CheckedChanged</b> event and the script code connected to the <b>CheckedChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.RadioButtonControl.#ctor">
- <summary>
- Initializes a new instance of the <b>RadioButtonControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.RadioButtonControl.CheckedChanged">
- <summary>
- Occurs when the value of the Checked property changes.
- Wraps the <see cref="E:System.Windows.Forms.RadioButton.CheckedChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RadioButtonControl.RadioButton">
- <summary>
- Gets an internal <b>RadioButton</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RadioButtonControl.CheckAlign">
- <summary>
- Gets or sets the location of the check box portion of the RadioButton.
- Wraps the <see cref="P:System.Windows.Forms.RadioButton.CheckAlign"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RadioButtonControl.Checked">
- <summary>
- Gets or sets a value indicating whether the control is checked.
- Wraps the <see cref="P:System.Windows.Forms.RadioButton.Checked"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RadioButtonControl.CheckedChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.RadioButtonControl.CheckedChanged"/> event.
- </summary>
- </member>
- <member name="F:FastReport.Forms.PreviewSearchForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PreviewSearchForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PreviewSearchForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.DataWizardForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.DataWizardForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.DataWizardForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.AskPasswordForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.AskPasswordForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.AskPasswordForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Data.CommandParameter">
- <summary>
- This class represents a single parameter to use in the "select" command.
- </summary>
- </member>
- <member name="M:FastReport.Data.CommandParameter.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.CommandParameter.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.CommandParameter.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.CommandParameter"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Data.CommandParameter.DataType">
- <summary>
- Gets or sets the parameter's data type.
- </summary>
- </member>
- <member name="P:FastReport.Data.CommandParameter.Size">
- <summary>
- Gets or sets the size of parameter's data.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Data.CommandParameter.DataType"/> property is set to <b>String</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Data.CommandParameter.Expression">
- <summary>
- Gets or sets an expression that returns the parameter's value.
- </summary>
- <remarks>
- If this property is not set, the <see cref="P:FastReport.Data.CommandParameter.DefaultValue"/> property will be used
- to obtain a parameter's value.
- </remarks>
- </member>
- <member name="P:FastReport.Data.CommandParameter.DefaultValue">
- <summary>
- Gets or sets a default value for this parameter.
- </summary>
- <remarks>
- This value is used when you designing a report. Also it is used when report is running
- in case if you don't provide a value for the <see cref="P:FastReport.Data.CommandParameter.Expression"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Data.CommandParameter.Value">
- <summary>
- Gets or sets the parameter's value.
- </summary>
- </member>
- <member name="P:FastReport.Data.CommandParameter.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PageControl">
- <summary>
- Represents a control that may contain several pages. It is similar to the TabControl
- but contains no tabs. This control is widely used in wizards.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PageControl.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.PageControl.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.PageControl.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.PageControl.OnMouseLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.PageControl.GetTabAt(System.Drawing.Point)">
- <summary>
- Gets tab at specified mouse point.
- </summary>
- <param name="pt">The mouse point.</param>
- <returns>Index of tab under mouse; -1 if mouse is outside tab area.</returns>
- </member>
- <member name="M:FastReport.Controls.PageControl.SelectNextPage">
- <summary>
- Selects the next page.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PageControl.SelectPrevPage">
- <summary>
- Selects the previous page.
- </summary>
- </member>
- <member name="M:FastReport.Controls.PageControl.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.PageControl"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Controls.PageControl.PageSelected">
- <summary>
- Occurs when page is selected.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.SelectorWidth">
- <summary>
- Gets or sets a value that determines whether the selector area is visible or not.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.SelectorTabHeight">
- <summary>
- Gets or sets the height of selector tab.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.Padding">
- <summary>
- This property is not relevant to this class
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.ActivePage">
- <summary>
- Gets or sets the active page.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.ActivePageIndex">
- <summary>
- Gets or sets the index of active page.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.HighlightPageIndex">
- <summary>
- Gets or sets the highlighted page index.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControl.Pages">
- <summary>
- Gets the collection of pages.
- </summary>
- </member>
- <member name="T:FastReport.Controls.PageControlPage">
- <summary>
- This class represents a single page of the <see cref="T:FastReport.Controls.PageControl"/> control.
- </summary>
- </member>
- <member name="P:FastReport.Controls.PageControlPage.Text">
- <summary>
- Gets or sets the page caption text.
- </summary>
- </member>
- <member name="T:FastReport.Controls.DataTreeSelectedItemType">
- <summary>
- This is an internal enum that represents the selected datatree item type.
- </summary>
- </member>
- <member name="F:FastReport.Controls.DataTreeSelectedItemType.None">
- <summary>
- Nothing selected.
- </summary>
- </member>
- <member name="F:FastReport.Controls.DataTreeSelectedItemType.DataColumn">
- <summary>
- Data column selected.
- </summary>
- </member>
- <member name="F:FastReport.Controls.DataTreeSelectedItemType.Total">
- <summary>
- Total selected.
- </summary>
- </member>
- <member name="F:FastReport.Controls.DataTreeSelectedItemType.Parameter">
- <summary>
- Parameter selected.
- </summary>
- </member>
- <member name="F:FastReport.Controls.DataTreeSelectedItemType.Function">
- <summary>
- Function selected.
- </summary>
- </member>
- <member name="F:FastReport.Controls.DataTreeSelectedItemType.DialogControl">
- <summary>
- Dialog control selected.
- </summary>
- </member>
- <member name="T:FastReport.Controls.DataTreeView">
- <summary>
- This is an internal control that represents the data tree.
- </summary>
- <remarks>
- This control is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Controls.DataTreeView.CreateNodes(FastReport.Data.Dictionary)">
- <summary>
-
- </summary>
- <param name="dictionary"></param>
- </member>
- <member name="M:FastReport.Controls.DataTreeView.#ctor">
- <summary>
- Creates a new instance of the DataTreeView control.
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.DataSource">
- <summary>
- DataSource property
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.SelectedItem">
- <summary>
- SelectedItem property
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.SelectedItemType">
- <summary>
- SelectedItemType property
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowDataSources">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowColumns">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowParameters">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowVariables">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowNone">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowRelations">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowEnabledOnly">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowTotals">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowFunctions">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ShowDialogs">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Controls.DataTreeView.ExpandedNodes">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.FastQueryBuilder.QueryDesigner.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.FastQueryBuilder.QueryDesigner.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.FastQueryBuilder.QueryDesigner.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixDescriptor">
- <summary>
- The base class for matrix element descriptors such as <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> and
- <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/>.
- </summary>
- </member>
- <member name="M:FastReport.Matrix.MatrixDescriptor.Assign(FastReport.Matrix.MatrixDescriptor)">
- <summary>
- Assigns values from another descriptor.
- </summary>
- <param name="source">Descriptor to assign values from.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixDescriptor.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixDescriptor.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Matrix.MatrixDescriptor.Expression">
- <summary>
- Gets or sets an expression which value will be used to fill the matrix.
- </summary>
- <remarks>
- <b>Expression</b> may be any valid expression. Usually it's a data column:
- <c>[DataSource.Column]</c>.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixDescriptor.TemplateColumn">
- <summary>
- Gets or sets the template column bound to this descriptor.
- </summary>
- <remarks>
- This property is for internal use; usually you don't need to use it.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixDescriptor.TemplateRow">
- <summary>
- Gets or sets the template row bound to this descriptor.
- </summary>
- <remarks>
- This property is for internal use; usually you don't need to use it.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixDescriptor.TemplateCell">
- <summary>
- Gets or sets the template cell bound to this descriptor.
- </summary>
- <remarks>
- Using this property, you may access the matrix cell which is bound to
- this descriptor. It may be useful to change the cell's appearance.
- <note>
- Before using this property, you must initialize the matrix descriptors by
- calling the <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/> method.
- </note>
- </remarks>
- <example>
- <code>
- MatrixObject matrix;
- // change the fill color of the first matrix cell
- matrix.Data.Cells[0].TemplateCell.Fill = new SolidFill(Color.Red);
- </code>
- </example>
- </member>
- <member name="F:FastReport.Forms.ODFExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ODFExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ODFExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugin">
- <summary>
- Base class for all import plugins.
- </summary>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ImportPlugin"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ImportPlugin"/> class with a specified designer.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.GetOptionsPage">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.GetFilter">
- <summary>
- Returns a file filter for a open dialog.
- </summary>
- <returns>String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp"</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugin.LoadReport(FastReport.Report,System.String)">
- <summary>
- Loads the specified file into specified report.
- </summary>
- <param name="report">Report object.</param>
- <param name="filename">File name.</param>
- </member>
- <member name="P:FastReport.Design.ImportPlugin.Name">
- <summary>
- Gets or sets the name of plugin.
- </summary>
- </member>
- <member name="P:FastReport.Design.ImportPlugin.Filter">
- <summary>
- Gets or sets the filter string used in the "Open File" dialog.
- </summary>
- </member>
- <member name="P:FastReport.Design.ImportPlugin.Designer">
- <summary>
- Gets or sets reference to the designer.
- </summary>
- </member>
- <member name="P:FastReport.Design.ImportPlugin.Report">
- <summary>
- Gets or sets reference to the report.
- </summary>
- </member>
- <member name="P:FastReport.Design.ImportPlugin.PluginName">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Data.ConnectionEditors.MsSqlConnectionEditor.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.MsSqlConnectionEditor.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.MsSqlConnectionEditor.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeEAN8">
- <summary>
- Generates the EAN8 barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeEAN13">
- <summary>
- Generates the EAN13 barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeEAN13.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeEAN13"/> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeCodabar">
- <summary>
- Generates the Codabar barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeCodabar.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeCodabar"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeCodabar.IsNumeric">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.MSChart.SeriesCollection">
- <summary>
- Represents a collection of <see cref="T:FastReport.MSChart.MSChartSeries"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.SeriesCollection.ResetData">
- <summary>
- Resets series data.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.SeriesCollection.ProcessData">
- <summary>
- Processes the current data row.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.SeriesCollection.FinishData">
- <summary>
- Finishes the series data.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.SeriesCollection.Item(System.Int32)">
- <summary>
- Gets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Export.Svg.SVGImageFormat">
- <summary>
- Specifies the image format in SVG export.
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.SVGImageFormat.Png">
- <summary>
- Specifies the .png format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.SVGImageFormat.Jpeg">
- <summary>
- Specifies the .jpg format.
- </summary>
- </member>
- <member name="T:FastReport.Export.Svg.SVGExport">
- <summary>
- Represents the SVG export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.AddTextObject(FastReport.Export.Svg.SVGDocument,FastReport.TextObject,System.Boolean)">
- <summary>
- Add TextObject.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.AddBandObject(FastReport.Export.Svg.SVGDocument,FastReport.BandBase)">
- <summary>
- Add BandObject.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.AddLine(FastReport.Export.Svg.SVGDocument,FastReport.LineObject)">
- <summary>
- Add Line.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.AddShape(FastReport.Export.Svg.SVGDocument,FastReport.ShapeObject)">
- <summary>
- Add Shape.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.ToARGB(System.Int32,System.Int32,System.Int32)">
- <summary>
- Convert To ARG.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Svg.SVGExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Svg.SVGExport.Pictures">
- <summary>
- Enable or disable the pictures in SVG export
- </summary>
- </member>
- <member name="P:FastReport.Export.Svg.SVGExport.GeneratedStreams">
- <summary>
- Gets list of generated streams
- </summary>
- </member>
- <member name="P:FastReport.Export.Svg.SVGExport.ImageFormat">
- <summary>
- Gets or sets the image format used when exporting.
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.PptShape">
- <summary>
- Power point shape
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.PptLayoutDescriptor">
- <summary>
- Power Point Layout Descriptor
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.PptStyleBase">
- <summary>
- Power Point base class for style element
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.PptStyleGroupBase">
- <summary>
- Base class for styles group
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoSlideBase">
- <summary>
- Base class for slides, masters, and layouts
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptSlideMaster">
- <summary>
- Slide masters object
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptSlide">
- <summary>
- Ordinaty slide
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptSlideLayout">
- <summary>
- Slide layout object
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptPresentation">
- <summary>
- Presentation class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptApplicationProperties">
- <summary>
- PPt Application Properties class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptTableStyles">
- <summary>
- Ppt Table styles class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptPresProperties">
- <summary>
- Ppt Presentation properties class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoPptViewProps">
- <summary>
- Ppt View Properties class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.PptImageFormat">
- <summary>
- Specifies the image format in PowerPoint export.
- </summary>
- </member>
- <member name="F:FastReport.Export.OoXML.PptImageFormat.Png">
- <summary>
- Specifies the .png format.
- </summary>
- </member>
- <member name="F:FastReport.Export.OoXML.PptImageFormat.Jpeg">
- <summary>
- Specifies the .jpg format.
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.PowerPoint2007Export">
- <summary>
- Represents the PowerPoint 2007 export.
- </summary>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.PowerPoint2007Export.#ctor">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.Export.OoXML.PowerPoint2007Export"/> class with the default settings.
- </summary>
- </member>
- <member name="P:FastReport.Export.OoXML.PowerPoint2007Export.ImageFormat">
- <summary>
- Gets or sets the image format used when exporting.
- </summary>
- </member>
- <member name="T:FastReport.Design.Designer">
- <summary>
- Represents the report's designer control.
- </summary>
- <remarks>
- Usually you don't need to create an instance of this class. The designer can be called
- using the <see cref="M:FastReport.Report.Design"/> method of
- the <see cref="T:FastReport.Report"/> instance.
- <para/>This control represents pure designer surface + Objects toolbar. If you need
- standard menu, statusbar, toolbars and tool windows, use the
- <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/> control instead. Also you may
- decide to use a designer's form (<see cref="T:FastReport.Design.StandardDesigner.DesignerForm"/>)
- instead of a control.
- <para/>To run a designer, you need to attach a Report instance to it. This can be done via
- the <see cref="P:FastReport.Design.Designer.Report"/> property.
- <para/>To call the designer in MDI (Multi-Document Interface) mode, use the
- <see cref="P:FastReport.Design.Designer.MdiMode"/> property.
- <para/>To set up some global properties, use the <see cref="T:FastReport.Utils.Config"/> static class
- or <see cref="T:FastReport.EnvironmentSettings"/> component that you can use in the Visual Studio IDE.
- </remarks>
- </member>
- <member name="F:FastReport.Design.Designer.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Design.Designer.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Design.Designer.InitPlugins">
- <summary>
- Initializes designer plugins such as toolbars and toolwindows.
- </summary>
- </member>
- <member name="M:FastReport.Design.Designer.OnParentChanged(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.Designer.SetModified">
- <summary>
- Call this method if you change something in the report.
- </summary>
- <remarks>
- This method adds the current report state to the undo buffer and updates all plugins.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.SetModified(System.Object,System.String)">
- <summary>
- Call this method if you change something in the report.
- </summary>
- <param name="sender">The object that was modified.</param>
- <param name="action">The undo action name.</param>
- <remarks>
- This method adds the current report state to the undo buffer and updates all plugins.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.SetModified(System.Object,System.String,System.String)">
- <summary>
- Call this method if you change something in the report.
- </summary>
- <param name="sender">The object that was modified.</param>
- <param name="action">The undo action name.</param>
- <param name="objName">The name of modified object.</param>
- </member>
- <member name="M:FastReport.Design.Designer.SelectionChanged(System.Object)">
- <summary>
- Call this method to tell the designer that current selection is changed.
- </summary>
- <param name="sender">The plugin that changes the selection (may be <b>null</b>).</param>
- </member>
- <member name="M:FastReport.Design.Designer.Lock">
- <summary>
- Locks all plugins.
- </summary>
- <remarks>
- This method is usually called when we destroy the report to prevent unexpected
- errors - such as trying to draw destroyed objects.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.Unlock">
- <summary>
- Unlocks all plugins.
- </summary>
- <remarks>
- Call this method after the <b>Lock</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.UpdatePlugins(System.Object)">
- <summary>
- Call this method to refresh all plugins' content.
- </summary>
- <param name="sender">The plugin that we don't need to refresh.</param>
- </member>
- <member name="M:FastReport.Design.Designer.SaveConfig">
- <summary>
- Saves config to a FastReport configuration file.
- </summary>
- </member>
- <member name="M:FastReport.Design.Designer.RestoreConfig">
- <summary>
- Restores config from a FastReport configuration file.
- </summary>
- <remarks>
- Call this method to restore the designer's layout. You need to do this after the
- designer's control is placed on a form.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.RefreshLayout">
- <summary>
- Refresh the designer's toolbars and toolwindows layout.
- </summary>
- <remarks>
- Call this method if you use
- <see cref="T:FastReport.Design.StandardDesigner.DesignerControl">DesignerControl</see>. To restore
- the layout that you've created in VS design time, you need to call this method in the form's
- <b>Load</b> event handler. If you don't do this, tool windows like Properties, Data, Report Tree
- will not be available.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.BeginInit">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.Designer.EndInit">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.Designer.InitReport">
- <summary>
- Initializes the workspace after the new report is loaded.
- </summary>
- </member>
- <member name="M:FastReport.Design.Designer.CreateEmptyReport">
- <summary>
- Tries to create a new empty report.
- </summary>
- <returns><b>true</b> if report was created successfully; <b>false</b> if user cancels the action.</returns>
- </member>
- <member name="M:FastReport.Design.Designer.ShowMessage(System.String)">
- <summary>
- Displays a message in the "Messages" window.
- </summary>
- <param name="msg">Message text.</param>
- </member>
- <member name="M:FastReport.Design.Designer.ClearMessages">
- <summary>
- Clears the "Messages" window.
- </summary>
- </member>
- <member name="M:FastReport.Design.Designer.ShowStatus(System.String,System.String,System.String)">
- <summary>
- Shows the selected object's information in the designer's statusbar.
- </summary>
- <param name="location">Object's location.</param>
- <param name="size">Object's size.</param>
- <param name="text">Textual information about the selected object.</param>
- </member>
- <member name="M:FastReport.Design.Designer.CloseAll">
- <summary>
- Close all opened reports, ask to save changes.
- </summary>
- <returns><b>true</b> if all tabs closed succesfully.</returns>
- <remarks>
- Use this method to close all opened documents and save changes when you closing the main form
- that contains the designer control. To do this, create an event handler for your form's FormClosing
- event and call this method inside the handler. If it returns false, set e.Cancel to <b>true</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Design.Designer.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.Designer"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Design.Designer.UIStateChanged">
- <summary>
- Occurs when designer's UI state changed.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.Report">
- <summary>
- Gets or sets the edited report.
- </summary>
- <remarks>
- To initialize the designer, you need to pass a Report instance to this property.
- This will create the designer's surface associated with the report.
- <code>
- Designer designer = new Designer();
- designer.Parent = form1;
- designer.Report = report1;
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.Design.Designer.ActiveReport">
- <summary>
- Gets active report object.
- </summary>
- <remarks>
- May be <b>null</b> if Start Page selected, or no reports opened.
- </remarks>
- </member>
- <member name="P:FastReport.Design.Designer.Plugins">
- <summary>
- Gets a collection of global plugins such as menu, properties window, etc.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.Objects">
- <summary>
- Gets a collection of objects on the active page of the active report.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.SelectedObjects">
- <summary>
- Gets a collection of selected objects on the active page of the active report.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.SelectedComponents">
- <summary>
- Gets a collection of selected objects of the <b>ComponentBase</b> type.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.SelectedReportComponents">
- <summary>
- Gets a collection of selected objects of the <b>ReportComponentBase</b> type.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.SelectedTextObjects">
- <summary>
- Gets a collection of selected objects of the <b>TextObject</b> type.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.Modified">
- <summary>
- Gets or sets a value indicating that the report was modified.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.AskSave">
- <summary>
- Gets or sets a value that determines whether to ask user to save changes when closing the designer.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.Restrictions">
- <summary>
- Gets the designer restrictions.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.MdiMode">
- <summary>
- Gets or sets a value indicating that designer is run in MDI mode.
- </summary>
- <remarks>
- <para/>To call the designer in MDI (Multi-Document Interface) mode, use the following code:
- <code>
- DesignerControl designer = new DesignerControl();
- designer.MdiMode = true;
- designer.ShowDialog();
- </code>
- </remarks>
- </member>
- <member name="P:FastReport.Design.Designer.UIStyle">
- <summary>
- Gets or sets the visual style.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.IsPreviewPageDesigner">
- <summary>
- Gets a value indicating that designer is used to edit a preview page.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdNew">
- <summary>
- The "File|New" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdNewPage">
- <summary>
- The "New Page" toolbar command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdNewDialog">
- <summary>
- The "New Dialog" toolbar command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdOpen">
- <summary>
- The "File|Open..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdSave">
- <summary>
- The "File|Save" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdSaveAs">
- <summary>
- The "File|Save As..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdSaveAll">
- <summary>
- The "File|Save All" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdClose">
- <summary>
- The "File|Close" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdCloseAll">
- <summary>
- The "Window|Close All" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdPreview">
- <summary>
- The "File|Preview..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdPrinterSetup">
- <summary>
- The "File|Printer Setup..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdPageSetup">
- <summary>
- The "File|Page Setup..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdAddData">
- <summary>
- The "Data|Add New Data Source..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdChooseData">
- <summary>
- The "Data|Choose Report Data..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdUndo">
- <summary>
- The "Edit|Undo" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdRedo">
- <summary>
- The "Edit|Redo" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdCut">
- <summary>
- The "Edit|Cut" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdCopy">
- <summary>
- The "Edit|Copy" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdPaste">
- <summary>
- The "Edit|Paste" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdFormatPainter">
- <summary>
- The "Format Painter" toolbar command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdDelete">
- <summary>
- The "Edit|Delete" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdDeletePage">
- <summary>
- The "Edit|Delete Page" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdSelectAll">
- <summary>
- The "Edit|Select All" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdGroup">
- <summary>
- The "Edit|Group" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdUngroup">
- <summary>
- The "Edit|Ungroup" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdEdit">
- <summary>
- The "Edit" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdFind">
- <summary>
- The "Edit|Find..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdReplace">
- <summary>
- The "Edit|Replace..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdBringToFront">
- <summary>
- The "Bring To Front" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdSendToBack">
- <summary>
- The "Send To Back" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdInsert">
- <summary>
- The "Insert" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdInsertBand">
- <summary>
- The "Insert Band" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdRecentFiles">
- <summary>
- The "Recent Files" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdSelectLanguage">
- <summary>
- The "File|Select Language..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdViewStartPage">
- <summary>
- The "View|Start Page" command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdReportSettings">
- <summary>
- The "Report|Options..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdOptions">
- <summary>
- The "View|Options..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdReportStyles">
- <summary>
- The "Report|Styles..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdHelpContents">
- <summary>
- The "Help|Help Contents..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.cmdAbout">
- <summary>
- The "Help|About..." command.
- </summary>
- </member>
- <member name="P:FastReport.Design.Designer.LayoutState">
- <summary>
- Gets or sets the layout state of the designer.
- </summary>
- <remarks>
- This property is used to store layout in Visual Studio design time. You may also use
- it to save and restore the designer's layout in your code. However, consider using the
- <see cref="M:FastReport.Design.Designer.SaveConfig"/> and <see cref="M:FastReport.Design.Designer.RestoreConfig"/> methods that use FastReport
- configuration file.
- </remarks>
- </member>
- <member name="E:FastReport.Design.Designer.LayoutChangedEvent">
- <summary>
- Fires when the layout is changed.
- </summary>
- <remarks>
- This event is for internal use only.
- </remarks>
- </member>
- <member name="T:FastReport.Cloud.OAuth.Auth">
- <summary>
- API for OAuth protocol.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.OAuth.Auth.BuildSignedUrl(System.String,System.String,FastReport.Cloud.OAuth.ConsumerContext,FastReport.Cloud.OAuth.Token)">
- <summary>
- Builds signed URL.
- </summary>
- <param name="baseTokenUrl">The base token URL.</param>
- <param name="method">The HTTP method.</param>
- <param name="consumer">The consumer context.</param>
- <param name="token">The request token.</param>
- <returns>Signed URL.</returns>
- </member>
- <member name="T:FastReport.Cloud.OAuth.SignatureMethod">
- <summary>
- Represents the signature method.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.OAuth.SignatureMethod.Plaintext">
- <summary>
- Signature method PLAINTEXT.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.OAuth.SignatureMethod.HmacSha1">
- <summary>
- Signature method HMAC-SHA1.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.OAuth.SignatureMethod.RsaSha1">
- <summary>
- Signature method RSA-SHA1.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.HttpUtils">
- <summary>
- Static class that contains HTTP utilities.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.HttpUtils.UrlEncode(System.String)">
- <summary>
- Encodes the URL string.
- </summary>
- <param name="str">The URL string.</param>
- <returns>The encoded URL string.</returns>
- </member>
- <member name="M:FastReport.Cloud.HttpUtils.UrlDataEncode(System.Collections.Generic.Dictionary{System.String,System.String})">
- <summary>
- Encodes the dictionary with URL parameters.
- </summary>
- <param name="data">The dictionary with parameters.</param>
- <returns>The encoded string.</returns>
- </member>
- <member name="M:FastReport.Cloud.HttpUtils.UrlDecode(System.String)">
- <summary>
- Decodes the URL string.
- </summary>
- <param name="str">The URL string.</param>
- <returns>The decoded URL string.</returns>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient">
- <summary>
- FTP storage client.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient.#ctor(System.String,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient"/> class.
- </summary>
- <param name="server">The FTP server.</param>
- <param name="username">The username.</param>
- <param name="password">The password.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient.SaveReport(FastReport.Report,FastReport.Export.ExportBase)">
- <summary>
- Saves the report to FTP storage.
- </summary>
- <param name="report">The report template that should be saved.</param>
- <param name="export">The export filter that should export template before.</param>
- <returns>True if report has been successfully saved.</returns>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient.Server">
- <summary>
- Gets or sets the FTP server.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient.Username">
- <summary>
- Gets or sets the username.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Ftp.FtpStorageClient.Password">
- <summary>
- Gets or sets the password.
- </summary>
- </member>
- <member name="T:FastReport.Design.DesignerPlugins">
- <summary>
- Represents list of registered design plugins.
- </summary>
- </member>
- <member name="M:FastReport.Design.DesignerPlugins.Add(System.Type)">
- <summary>
- Adds a new plugin's type.
- </summary>
- <param name="plugin">The type of a plugin.</param>
- </member>
- <member name="T:FastReport.StyleCollection">
- <summary>
- Represents a collection of styles used in the <see cref="P:FastReport.Report.Styles"/>.
- </summary>
- </member>
- <member name="M:FastReport.StyleCollection.AddRange(FastReport.Style[])">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range"></param>
- </member>
- <member name="M:FastReport.StyleCollection.Add(FastReport.Style)">
- <summary>
- Adds an object to the end of this collection.
- </summary>
- <param name="value">Object to add.</param>
- <returns>Index of the added object.</returns>
- </member>
- <member name="M:FastReport.StyleCollection.Insert(System.Int32,FastReport.Style)">
- <summary>
- Inserts an object into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The object to insert.</param>
- </member>
- <member name="M:FastReport.StyleCollection.Remove(FastReport.Style)">
- <summary>
- Removes the specified object from the collection.
- </summary>
- <param name="value">Object to remove.</param>
- </member>
- <member name="M:FastReport.StyleCollection.IndexOf(FastReport.Style)">
- <summary>
- Returns the zero-based index of the first occurrence of an object.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.StyleCollection.IndexOf(System.String)">
- <summary>
- Returns the zero-based index of the first occurrence of a style with specified name.
- </summary>
- <param name="value">The name to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.StyleCollection.Contains(FastReport.Style)">
- <summary>
- Determines whether an element is in the collection.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.StyleCollection.Contains(System.String)">
- <summary>
- Determines whether a style with specified name is in the collection.
- </summary>
- <param name="value">The style name to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.StyleCollection.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.StyleCollection.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.StyleCollection.Save(System.IO.Stream)">
- <summary>
- Saves the collection to a stream.
- </summary>
- <param name="stream">Stream to save to.</param>
- </member>
- <member name="M:FastReport.StyleCollection.Save(System.String)">
- <summary>
- Saves the collection to a file.
- </summary>
- <param name="fileName">The name of the file.</param>
- </member>
- <member name="M:FastReport.StyleCollection.Load(System.IO.Stream)">
- <summary>
- Loads the collection from a stream.
- </summary>
- <param name="stream">Stream to load from.</param>
- </member>
- <member name="M:FastReport.StyleCollection.Load(System.String)">
- <summary>
- Loads the collection from a file.
- </summary>
- <param name="fileName">The name of the file.</param>
- </member>
- <member name="M:FastReport.StyleCollection.Clone">
- <summary>
- Creates exact copy of this collection.
- </summary>
- <returns>The copy of this collection.</returns>
- </member>
- <member name="M:FastReport.StyleCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.StyleCollection"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.StyleCollection.Name">
- <summary>
- Gets or sets the name of the style.
- </summary>
- </member>
- <member name="P:FastReport.StyleCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.PrintMode">
- <summary>
- Specifies the report printing mode.
- </summary>
- </member>
- <member name="F:FastReport.PrintMode.Default">
- <summary>
- Specifies the default printing mode. One report page produces
- one printed paper sheet of the same size.
- </summary>
- </member>
- <member name="F:FastReport.PrintMode.Split">
- <summary>
- Specifies the split mode. Big report page produces several smaller paper sheets.
- Use this mode to print A3 report on A4 printer.
- </summary>
- </member>
- <member name="F:FastReport.PrintMode.Scale">
- <summary>
- Specifies the scale mode. One or several report pages produce one bigger paper sheet.
- Use this mode to print A5 report on A4 printer.
- </summary>
- </member>
- <member name="T:FastReport.PagesOnSheet">
- <summary>
- Specifies the number of report pages printed on one paper sheet.
- </summary>
- </member>
- <member name="F:FastReport.PagesOnSheet.One">
- <summary>
- Specifies one report page per sheet.
- </summary>
- </member>
- <member name="F:FastReport.PagesOnSheet.Two">
- <summary>
- Specifies two report pages per sheet.
- </summary>
- </member>
- <member name="F:FastReport.PagesOnSheet.Four">
- <summary>
- Specifies four report pages per sheet.
- </summary>
- </member>
- <member name="F:FastReport.PagesOnSheet.Eight">
- <summary>
- Specifies eight report pages per sheet.
- </summary>
- </member>
- <member name="T:FastReport.PrintPages">
- <summary>
- Specifies the pages to print.
- </summary>
- </member>
- <member name="F:FastReport.PrintPages.All">
- <summary>
- Print all report pages.
- </summary>
- </member>
- <member name="F:FastReport.PrintPages.Odd">
- <summary>
- Print odd pages only.
- </summary>
- </member>
- <member name="F:FastReport.PrintPages.Even">
- <summary>
- Print even pages only.
- </summary>
- </member>
- <member name="T:FastReport.PageRange">
- <summary>
- Specifies the page range to print.
- </summary>
- </member>
- <member name="F:FastReport.PageRange.All">
- <summary>
- Print all pages.
- </summary>
- </member>
- <member name="F:FastReport.PageRange.Current">
- <summary>
- Print current page.
- </summary>
- </member>
- <member name="F:FastReport.PageRange.PageNumbers">
- <summary>
- Print pages specified in the <b>PageNumbers</b> property of the <b>PrintSettings</b>.
- </summary>
- </member>
- <member name="T:FastReport.PrintSettings">
- <summary>
- This class contains the printer settings.
- It is used in the <see cref="P:FastReport.Report.PrintSettings"/> property.
- </summary>
- <remarks>
- Typical use of this class is to setup a printer properties without using the "Print"
- dialog. In this case, setup necessary properties and turn off the dialog via the
- <see cref="P:FastReport.PrintSettings.ShowDialog"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.PrintSettings.Dispose">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PrintSettings.Assign(FastReport.PrintSettings)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="M:FastReport.PrintSettings.Clear">
- <summary>
- Resets all settings to its default values.
- </summary>
- </member>
- <member name="M:FastReport.PrintSettings.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PrintSettings"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.Printer">
- <summary>
- Gets or sets the printer name.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.SavePrinterWithReport">
- <summary>
- Gets or sets a value indicating that the printer name should be saved in a report file.
- </summary>
- <remarks>
- If this property is set to <b>true</b>, the printer name will be saved in a report file.
- Next time when you open the report, the printer will be automatically selected.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PrintToFile">
- <summary>
- Gets or sets a value indicating that the printing output should be send
- to a file instead of a printer.
- </summary>
- <remarks>
- Also set the <see cref="P:FastReport.PrintSettings.PrintToFileName"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PrintToFileName">
- <summary>
- The name of a file to print the report to.
- </summary>
- <remarks>
- This property is used if <see cref="P:FastReport.PrintSettings.PrintToFile"/> property is <b>true</b>.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PageRange">
- <summary>
- Gets or sets a value specifies the page range to print.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.PageNumbers">
- <summary>
- Gets or sets the page number(s) to print.
- </summary>
- <remarks>
- This property is used if <see cref="P:FastReport.PrintSettings.PageRange"/> property is set to <b>PageNumbers</b>.
- You can specify the page numbers, separated by commas, or the page ranges.
- For example: "1,3,5-12".
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.Copies">
- <summary>
- Gets or sets the number of copies to print.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.Collate">
- <summary>
- Gets or sets a value indicating whether the printed document should be collated.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.PrintPages">
- <summary>
- Gets or sets a value specifies the pages to print.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.Reverse">
- <summary>
- Gets or sets a value determines whether to print pages in reverse order.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.Duplex">
- <summary>
- Gets or sets the duplex mode.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.PaperSource">
- <summary>
- Gets or sets the paper source.
- </summary>
- <remarks>
- This property corresponds to the RAW source number. Default value is 7 which
- corresponds to DMBIN_AUTO.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PrintMode">
- <summary>
- Gets or sets the print mode.
- </summary>
- <remarks>
- See the <see cref="T:FastReport.PrintMode"/> enumeration for details. If you use
- the mode other than <b>Default</b>, you must specify the sheet size in the
- <see cref="P:FastReport.PrintSettings.PrintOnSheetWidth"/>, <see cref="P:FastReport.PrintSettings.PrintOnSheetHeight"/> properties.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PrintOnSheetWidth">
- <summary>
- Gets or sets the width of the paper sheet to print on.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.PrintSettings.PrintMode"/> property is not <b>Default</b>.
- Specify the paper width in millimeters.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PrintOnSheetHeight">
- <summary>
- Gets or sets the height of the paper sheet to print on.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.PrintSettings.PrintMode"/> property is not <b>Default</b>.
- Specify the paper height in millimeters.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.PrintOnSheetRawPaperSize">
- <summary>
- Gets or sets the raw index of a paper size.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.PagesOnSheet">
- <summary>
- Gets or sets the number of pages per printed sheet.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.PrintSettings.PrintMode"/> property is set to <b>Scale</b>.
- </remarks>
- </member>
- <member name="P:FastReport.PrintSettings.CopyNames">
- <summary>
- Gets or sets an array of printed copy names, such as "Original", "Copy", etc.
- </summary>
- </member>
- <member name="P:FastReport.PrintSettings.ShowDialog">
- <summary>
- Specifies whether to display the "Print" dialog.
- </summary>
- </member>
- <member name="T:FastReport.LineObject">
- <summary>
- Represents a line object.
- </summary>
- <remarks>
- Use the <b>Border.Width</b>, <b>Border.Style</b> and <b>Border.Color</b> properties to set
- the line width, style and color. Set the <see cref="P:FastReport.LineObject.Diagonal"/> property to <b>true</b>
- if you want to show a diagonal line.
- </remarks>
- </member>
- <member name="M:FastReport.LineObject.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.PointInObject(System.Drawing.PointF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.CheckNegativeSize(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LineObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.LineObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.LineObject.Diagonal">
- <summary>
- Gets or sets a value indicating that the line is diagonal.
- </summary>
- <remarks>
- If this property is <b>false</b>, the line can be only horizontal or vertical.
- </remarks>
- </member>
- <member name="P:FastReport.LineObject.StartCap">
- <summary>
- Gets or sets the start cap settings.
- </summary>
- </member>
- <member name="P:FastReport.LineObject.EndCap">
- <summary>
- Gets or sets the end cap settings.
- </summary>
- </member>
- <member name="P:FastReport.LineObject.Fill">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.FillBase">
- <summary>
- Base class for all fills.
- </summary>
- </member>
- <member name="M:FastReport.FillBase.Clone">
- <summary>
- Creates exact copy of this fill.
- </summary>
- <returns>Copy of this object.</returns>
- </member>
- <member name="M:FastReport.FillBase.CreateBrush(System.Drawing.RectangleF)">
- <summary>
- Creates the GDI+ Brush object.
- </summary>
- <param name="rect">Drawing rectangle.</param>
- <returns>Brush object.</returns>
- </member>
- <member name="M:FastReport.FillBase.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.FillBase)">
- <summary>
- Serializes the fill.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">Name of the fill property.</param>
- <param name="fill">Fill object to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.FillBase.Draw(FastReport.Utils.FRPaintEventArgs,System.Drawing.RectangleF)">
- <summary>
- Fills the specified rectangle.
- </summary>
- <param name="e">Draw event arguments.</param>
- <param name="rect">Drawing rectangle.</param>
- </member>
- <member name="T:FastReport.SolidFill">
- <summary>
- Class represents the solid fill.
- </summary>
- </member>
- <member name="M:FastReport.SolidFill.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SolidFill.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SolidFill.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SolidFill.CreateBrush(System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SolidFill.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.FillBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SolidFill.Draw(FastReport.Utils.FRPaintEventArgs,System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SolidFill.#ctor">
- <summary>
- Initializes the <see cref="T:FastReport.SolidFill"/> class with Transparent color.
- </summary>
- </member>
- <member name="M:FastReport.SolidFill.#ctor(System.Drawing.Color)">
- <summary>
- Initializes the <see cref="T:FastReport.SolidFill"/> class with specified color.
- </summary>
- <param name="color"></param>
- </member>
- <member name="P:FastReport.SolidFill.Color">
- <summary>
- Gets or sets the fill color.
- </summary>
- </member>
- <member name="T:FastReport.LinearGradientFill">
- <summary>
- Class represents the linear gradient fill.
- </summary>
- </member>
- <member name="M:FastReport.LinearGradientFill.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LinearGradientFill.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LinearGradientFill.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LinearGradientFill.CreateBrush(System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LinearGradientFill.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.FillBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.LinearGradientFill.#ctor">
- <summary>
- Initializes the <see cref="T:FastReport.LinearGradientFill"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.LinearGradientFill.#ctor(System.Drawing.Color,System.Drawing.Color)">
- <summary>
- Initializes the <see cref="T:FastReport.LinearGradientFill"/> class with start and end colors.
- </summary>
- <param name="startColor">Start color.</param>
- <param name="endColor">End color.</param>
- </member>
- <member name="M:FastReport.LinearGradientFill.#ctor(System.Drawing.Color,System.Drawing.Color,System.Int32)">
- <summary>
- Initializes the <see cref="T:FastReport.LinearGradientFill"/> class with start, end colors and angle.
- </summary>
- <param name="startColor">Start color.</param>
- <param name="endColor">End color.</param>
- <param name="angle">Angle.</param>
- </member>
- <member name="M:FastReport.LinearGradientFill.#ctor(System.Drawing.Color,System.Drawing.Color,System.Int32,System.Single,System.Single)">
- <summary>
- Initializes the <see cref="T:FastReport.LinearGradientFill"/> class with start and end colors, angle, focus and contrast.
- </summary>
- <param name="startColor">Start color.</param>
- <param name="endColor">End color.</param>
- <param name="angle">Angle.</param>
- <param name="focus">Focus.</param>
- <param name="contrast">Contrast.</param>
- </member>
- <member name="P:FastReport.LinearGradientFill.StartColor">
- <summary>
- Gets or sets the start color of the gradient.
- </summary>
- </member>
- <member name="P:FastReport.LinearGradientFill.EndColor">
- <summary>
- Gets or sets the end color of the gradient.
- </summary>
- </member>
- <member name="P:FastReport.LinearGradientFill.Angle">
- <summary>
- Gets or sets the angle of the gradient.
- </summary>
- </member>
- <member name="P:FastReport.LinearGradientFill.Focus">
- <summary>
- Gets or sets the focus point of the gradient.
- </summary>
- <remarks>
- Value is a floating point value from 0 to 1.
- </remarks>
- </member>
- <member name="P:FastReport.LinearGradientFill.Contrast">
- <summary>
- Gets or sets the gradient contrast.
- </summary>
- <remarks>
- Value is a floating point value from 0 to 1.
- </remarks>
- </member>
- <member name="T:FastReport.PathGradientStyle">
- <summary>
- The style of the path gradient.
- </summary>
- </member>
- <member name="F:FastReport.PathGradientStyle.Elliptic">
- <summary>
- Elliptic gradient.
- </summary>
- </member>
- <member name="F:FastReport.PathGradientStyle.Rectangular">
- <summary>
- Rectangular gradient.
- </summary>
- </member>
- <member name="T:FastReport.PathGradientFill">
- <summary>
- Class represents the path gradient fill.
- </summary>
- </member>
- <member name="M:FastReport.PathGradientFill.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PathGradientFill.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PathGradientFill.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PathGradientFill.CreateBrush(System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PathGradientFill.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.FillBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.PathGradientFill.#ctor">
- <summary>
- Initializes the <see cref="T:FastReport.PathGradientFill"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.PathGradientFill.#ctor(System.Drawing.Color,System.Drawing.Color,FastReport.PathGradientStyle)">
- <summary>
- Initializes the <see cref="T:FastReport.PathGradientFill"/> class with center, edge colors and style.
- </summary>
- <param name="centerColor">Center color.</param>
- <param name="edgeColor">Edge color.</param>
- <param name="style">Gradient style.</param>
- </member>
- <member name="P:FastReport.PathGradientFill.CenterColor">
- <summary>
- Gets or sets the center color of the gradient.
- </summary>
- </member>
- <member name="P:FastReport.PathGradientFill.EdgeColor">
- <summary>
- Gets or sets the edge color of the gradient.
- </summary>
- </member>
- <member name="P:FastReport.PathGradientFill.Style">
- <summary>
- Gets or sets the style of the gradient.
- </summary>
- </member>
- <member name="T:FastReport.HatchFill">
- <summary>
- Class represents the hatch fill.
- </summary>
- </member>
- <member name="M:FastReport.HatchFill.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HatchFill.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HatchFill.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HatchFill.CreateBrush(System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HatchFill.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.FillBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.HatchFill.#ctor">
- <summary>
- Initializes the <see cref="T:FastReport.HatchFill"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.HatchFill.#ctor(System.Drawing.Color,System.Drawing.Color,System.Drawing.Drawing2D.HatchStyle)">
- <summary>
- Initializes the <see cref="T:FastReport.HatchFill"/> class with foreground, background colors and hatch style.
- </summary>
- <param name="foreColor">Foreground color.</param>
- <param name="backColor">Background color.</param>
- <param name="style">Hatch style.</param>
- </member>
- <member name="P:FastReport.HatchFill.ForeColor">
- <summary>
- Gets or sets the foreground color.
- </summary>
- </member>
- <member name="P:FastReport.HatchFill.BackColor">
- <summary>
- Gets or sets the background color.
- </summary>
- </member>
- <member name="P:FastReport.HatchFill.Style">
- <summary>
- Gets or sets the hatch style.
- </summary>
- </member>
- <member name="T:FastReport.GlassFill">
- <summary>
- Class represents the glass fill.
- </summary>
- </member>
- <member name="M:FastReport.GlassFill.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GlassFill.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GlassFill.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GlassFill.Draw(FastReport.Utils.FRPaintEventArgs,System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GlassFill.CreateBrush(System.Drawing.RectangleF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GlassFill.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.FillBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.GlassFill.#ctor">
- <summary>
- Initializes the <see cref="T:FastReport.GlassFill"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.GlassFill.#ctor(System.Drawing.Color,System.Single,System.Boolean)">
- <summary>
- Initializes the <see cref="T:FastReport.GlassFill"/> class with given color, blend ratio and hatch style.
- </summary>
- <param name="color">Color.</param>
- <param name="blend">Blend ratio (0..1).</param>
- <param name="hatch">Display the hatch.</param>
- </member>
- <member name="P:FastReport.GlassFill.Color">
- <summary>
- Gets or sets the fill color.
- </summary>
- </member>
- <member name="P:FastReport.GlassFill.Blend">
- <summary>
- Gets or sets the blend value.
- </summary>
- <remarks>Value must be between 0 and 1.
- </remarks>
- </member>
- <member name="P:FastReport.GlassFill.Hatch">
- <summary>
- Gets or sets a value determines whether to draw a hatch or not.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.ListBoxControl">
- <summary>
- Represents a Windows control to display a list of items.
- Wraps the <see cref="T:System.Windows.Forms.ListBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.ListBoxControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxControl.OnSelectedIndexChanged(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.ListBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>ListBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.ListBoxControl.ListBox">
- <summary>
- Gets an internal <b>ListBox</b>.
- </summary>
- </member>
- <member name="T:FastReport.Data.ColumnFormat">
- <summary>
- Specifies the format for the column value.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Auto">
- <summary>
- The format will be determined automatically depending on the column's DataType.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.General">
- <summary>
- Specifies the General format (no formatting).
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Number">
- <summary>
- Specifies the Number format.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Currency">
- <summary>
- Specifies the Currency format.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Date">
- <summary>
- Specifies the Date format.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Time">
- <summary>
- Specifies the Time format.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Percent">
- <summary>
- Specifies the Percent format.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnFormat.Boolean">
- <summary>
- Specifies the Boolean format.
- </summary>
- </member>
- <member name="T:FastReport.Data.ColumnBindableControl">
- <summary>
- Specifies the type of an object that will be created when you drop the
- data column on a report page.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnBindableControl.Text">
- <summary>
- The column will create the <see cref="T:FastReport.TextObject"/> object.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnBindableControl.RichText">
- <summary>
- The column will create the <see cref="T:FastReport.RichObject"/> object.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnBindableControl.Picture">
- <summary>
- The column will create the <see cref="T:FastReport.PictureObject"/> object.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnBindableControl.CheckBox">
- <summary>
- The column will create the <see cref="T:FastReport.CheckBoxObject"/> object.
- </summary>
- </member>
- <member name="F:FastReport.Data.ColumnBindableControl.Custom">
- <summary>
- The column will create the custom object, specified in the
- <see cref="P:FastReport.Data.Column.CustomBindableControl"/> property.
- </summary>
- </member>
- <member name="T:FastReport.Preview.PreviewControl">
- <summary>
- Represents a Windows Forms control used to preview a report.
- </summary>
- <remarks>
- To use this control, place it on a form and link it to a report using the report's
- <see cref="P:FastReport.Report.Preview"/> property. To show a report, call
- the <b>Report.Show</b> method:
- <code>
- report1.Preview = previewControl1;
- report1.Show();
- </code>
- <para>Use this control's methods such as <see cref="M:FastReport.Preview.PreviewControl.Print"/>, <see cref="M:FastReport.Preview.PreviewControl.Save"/> etc. to
- handle the preview. Call <see cref="M:FastReport.Preview.PreviewControl.Clear"/> method to clear the preview.</para>
- <para>You can specify whether the standard toolbar is visible in the <see cref="P:FastReport.Preview.PreviewControl.ToolbarVisible"/>
- property. The <see cref="P:FastReport.Preview.PreviewControl.StatusbarVisible"/> property allows you to hide/show the statusbar.
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.AddTab(FastReport.Report,System.String)">
- <summary>
- Adds a new report tab to the preview control.
- </summary>
- <param name="report">The <b>Report</b> object that contains the prepared report.</param>
- <param name="text">The title for the new tab.</param>
- <remarks>
- Prepare the report using its <b>Prepare</b> method before you pass it to the <b>report</b> parameter.
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.AddTab(FastReport.Report,System.String,System.Boolean)">
- <summary>
- Adds a new report tab to the preview control.
- </summary>
- <param name="report">The <b>Report</b> object that contains the prepared report.</param>
- <param name="text">The title for the new tab.</param>
- <param name="setActive">If <b>true</b>, makes the new tab active.</param>
- <remarks>
- Prepare the report using its <b>Prepare</b> method before you pass it to the <b>report</b> parameter.
- </remarks>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.SwitchToTab(System.String)">
- <summary>
- Switches to the tab with specified text.
- </summary>
- <param name="text">Text of the tab.</param>
- <returns><b>true</b> if the tab with specified text exists, or <b>false</b> if there is no such tab.</returns>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.DeleteTab(System.String)">
- <summary>
- Deletes the report tab with specified text.
- </summary>
- <param name="text">The text of the tab.</param>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.TabExists(System.String)">
- <summary>
- Checks if the tab with specified text exists.
- </summary>
- <param name="text">The text of the tab.</param>
- <returns><b>true</b> if the tab exists.</returns>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.ShowStatus(System.String)">
- <summary>
- Displays the text in the status bar.
- </summary>
- <param name="text">Text to display.</param>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Focus">
- <summary>
- Sets the focus to the preview control.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Print">
- <summary>
- Prints the current report.
- </summary>
- <returns><b>true</b> if report was printed; <b>false</b> if user cancels the "Print" dialog.</returns>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Save">
- <summary>
- Saves the current report to a .fpx file using the "Save FIle" dialog.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Save(System.String)">
- <summary>
- Saves the current report to a specified .fpx file.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Save(System.IO.Stream)">
- <summary>
- Saves the current report to a stream.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Load">
- <summary>
- Loads the report from a .fpx file using the "Open File" dialog.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Load(System.String)">
- <summary>
- Loads the report from a specified .fpx file.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Load(System.IO.Stream)">
- <summary>
- Load the report from a stream.
- </summary>
- <param name="stream">The stream to load from.</param>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.SendEmail">
- <summary>
- Sends an email.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Find">
- <summary>
- Finds the text in the current report using the "Find Text" dialog.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Find(System.String,System.Boolean,System.Boolean)">
- <summary>
- Finds the specified text in the current report.
- </summary>
- <param name="text">Text to find.</param>
- <param name="matchCase">A value indicating whether the search is case-sensitive.</param>
- <param name="wholeWord">A value indicating whether the search matches whole words only.</param>
- <returns><b>true</b> if text found.</returns>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.FindNext">
- <summary>
- Finds the next occurence of text specified in the <b>Find</b> method.
- </summary>
- <returns><b>true</b> if text found.</returns>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.First">
- <summary>
- Navigates to the first page.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Prior">
- <summary>
- Navigates to the previuos page.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Next">
- <summary>
- Navigates to the next page.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Last">
- <summary>
- Navigates to the last page.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.ZoomIn">
- <summary>
- Zooms in.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.ZoomOut">
- <summary>
- Zooms out.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.ZoomPageWidth">
- <summary>
- Zooms to fit the page width.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.ZoomWholePage">
- <summary>
- Zooms to fit the whole page.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.EditPage">
- <summary>
- Edits the current page in the designer.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.EditWatermark">
- <summary>
- Edits the watermark.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.PageSetup">
- <summary>
- Edits the page settings.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.PositionTo(System.Int32,System.Drawing.PointF)">
- <summary>
- Navigates to the specified position inside a specified page.
- </summary>
- <param name="pageNo">The page number (1-based).</param>
- <param name="point">The position inside a page, in pixels.</param>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.Clear">
- <summary>
- Clears the preview.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.RefreshReport">
- <summary>
- Refresh the report.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Preview.PreviewControl"/> class.
- </summary>
- </member>
- <member name="F:FastReport.Preview.PreviewControl.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Preview.PreviewControl.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="E:FastReport.Preview.PreviewControl.PageChanged">
- <summary>
- Occurs when current page number is changed.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.Report">
- <summary>
- Gets a reference to the report.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.PageBorderColor">
- <summary>
- Obsolete. Gets or sets the color of page border.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.ActivePageBorderColor">
- <summary>
- Gets or sets the color of active page border.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.PageOffset">
- <summary>
- Gets or sets the first page offset from the top left corner of the control.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.ToolbarVisible">
- <summary>
- Gets or sets a value indicating whether the toolbar is visible.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.StatusbarVisible">
- <summary>
- Gets or sets a value indicating whether the statusbar is visible.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.OutlineVisible">
- <summary>
- Gets or sets a value indicating whether the outline control is visible.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.Buttons">
- <summary>
- Specifies the set of buttons available in the toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.FastScrolling">
- <summary>
- Gets or sets a value indicating whether the fast scrolling method should be used.
- </summary>
- <remarks>
- If you enable this property, the gradient background will be disabled.
- </remarks>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.UIStyle">
- <summary>
- Gets or sets the visual style.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.UseBackColor">
- <summary>
- Gets or sets a value indicating that the BackColor property must be used to draw the background area.
- </summary>
- <remarks>
- By default, the background area is drawn using the color defined in the current <b>UIStyle</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.ToolBar">
- <summary>
- Gets the preview window's toolbar.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.StatusBar">
- <summary>
- Gets the preview window's statusbar.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.PageNo">
- <summary>
- Gets or sets the current page number.
- </summary>
- <remarks>
- This value is 1-based.
- </remarks>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.PageCount">
- <summary>
- Gets the pages count in the current report.
- </summary>
- </member>
- <member name="P:FastReport.Preview.PreviewControl.Zoom">
- <summary>
- Gets or sets the zoom factor.
- </summary>
- <remarks>
- <b>1</b> corresponds to 100% zoom.
- </remarks>
- </member>
- <member name="T:FastReport.TypeEditors.BandComponentRefEditor">
- <summary>
- Provides a user interface for selecting a component inside the same band.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.BandComponentRefEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.BandComponentRefEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TypeEditors.BandComponentRefEditor.IsDropDownResizable">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Dialog.GridControlColumn">
- <summary>
- Represents the <see cref="T:FastReport.Dialog.GridControl"/>'s column.
- Wraps the <see cref="T:System.Windows.Forms.DataGridViewTextBoxColumn"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumn.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumn.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControlColumn.#ctor">
- <summary>
- Initializes a new instance of the <b>GridControlColumn</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.AutoSizeMode">
- <summary>
- Gets or sets the mode by which the column automatically adjusts its width.
- Wraps the <see cref="P:System.Windows.Forms.DataGridViewColumn.AutoSizeMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.DataColumn">
- <summary>
- Gets or sets the data column attached to this column.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.HeaderText">
- <summary>
- Gets or sets the caption text on the column's header cell.
- Wraps the <see cref="P:System.Windows.Forms.DataGridViewColumn.HeaderText"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.DefaultCellStyle">
- <summary>
- Gets or sets the column's default cell style.
- Wraps the <see cref="P:System.Windows.Forms.DataGridViewColumn.DefaultCellStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.FillWeight">
- <summary>
- Gets or sets a value that represents the width of the column when it is in fill mode relative to the widths of other fill-mode columns in the control.
- Wraps the <see cref="P:System.Windows.Forms.DataGridViewColumn.FillWeight"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.Width">
- <summary>
- Gets or sets the current width of the column.
- Wraps the <see cref="P:System.Windows.Forms.DataGridViewColumn.Width"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.Visible">
- <summary>
- Gets or sets a value indicating whether the column is visible.
- Wraps the <see cref="P:System.Windows.Forms.DataGridViewColumn.Visible"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.Name">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControlColumn.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.CheckedSymbol">
- <summary>
- Specifies a symbol that will be displayed when a <see cref="T:FastReport.CheckBoxObject"/> is in the checked state.
- </summary>
- </member>
- <member name="F:FastReport.CheckedSymbol.Check">
- <summary>
- Specifies a check symbol.
- </summary>
- </member>
- <member name="F:FastReport.CheckedSymbol.Cross">
- <summary>
- Specifies a diagonal cross symbol.
- </summary>
- </member>
- <member name="F:FastReport.CheckedSymbol.Plus">
- <summary>
- Specifies a plus symbol.
- </summary>
- </member>
- <member name="F:FastReport.CheckedSymbol.Fill">
- <summary>
- Specifies a filled rectangle.
- </summary>
- </member>
- <member name="T:FastReport.UncheckedSymbol">
- <summary>
- Specifies a symbol that will be displayed when a <see cref="T:FastReport.CheckBoxObject"/> is in the unchecked state.
- </summary>
- </member>
- <member name="F:FastReport.UncheckedSymbol.None">
- <summary>
- Specifies no symbol.
- </summary>
- </member>
- <member name="F:FastReport.UncheckedSymbol.Cross">
- <summary>
- Specifies a diagonal cross symbol.
- </summary>
- </member>
- <member name="F:FastReport.UncheckedSymbol.Minus">
- <summary>
- Specifies a minus symbol.
- </summary>
- </member>
- <member name="T:FastReport.CheckBoxObject">
- <summary>
- Represents a check box object.
- </summary>
- </member>
- <member name="M:FastReport.CheckBoxObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.CheckBoxObject.#ctor">
- <summary>
- Initializes a new instance of the <b>CheckBoxObject</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.CheckBoxObject.Checked">
- <summary>
- Gets or set a value indicating whether the check box is in the checked state.
- </summary>
- </member>
- <member name="P:FastReport.CheckBoxObject.CheckedSymbol">
- <summary>
- Gets or sets a symbol that will be displayed when the check box is in the checked state.
- </summary>
- </member>
- <member name="P:FastReport.CheckBoxObject.UncheckedSymbol">
- <summary>
- Gets or sets a symbol that will be displayed when the check box is in the unchecked state.
- </summary>
- </member>
- <member name="P:FastReport.CheckBoxObject.CheckColor">
- <summary>
- Gets or sets a color of the check symbol.
- </summary>
- </member>
- <member name="P:FastReport.CheckBoxObject.DataColumn">
- <summary>
- Gets or sets a data column name bound to this control.
- </summary>
- <remarks>
- Value must be in the form "[Datasource.Column]".
- </remarks>
- </member>
- <member name="P:FastReport.CheckBoxObject.Expression">
- <summary>
- Gets or sets an expression that determines whether to show a check.
- </summary>
- </member>
- <member name="P:FastReport.CheckBoxObject.CheckWidthRatio">
- <summary>
- Gets or sets the check symbol width ratio.
- </summary>
- <remarks>
- Valid values are from 0.2 to 2.
- </remarks>
- </member>
- <member name="P:FastReport.CheckBoxObject.HideIfUnchecked">
- <summary>
- Gets or sets a value determines whether to hide the checkbox if it is in the unchecked state.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer">
- <summary>
- Advanced text renderer is used to perform the following tasks:
- - draw justified text, text with custom line height, text containing html tags;
- - calculate text height, get part of text that does not fit in the display rectangle;
- - get paragraphs, lines, words and char sequence to perform accurate export to such
- formats as PDF, TXT, RTF
- </summary>
- <example>Here is how one may operate the renderer items:
- <code>
- foreach (AdvancedTextRenderer.Paragraph paragraph in renderer.Paragraphs)
- {
- foreach (AdvancedTextRenderer.Line line in paragraph.Lines)
- {
- foreach (AdvancedTextRenderer.Word word in line.Words)
- {
- if (renderer.HtmlTags)
- {
- foreach (AdvancedTextRenderer.Run run in word.Runs)
- {
- using (Font f = run.GetFont())
- using (Brush b = run.GetBrush())
- {
- g.DrawString(run.Text, f, b, run.Left, run.Top, renderer.Format);
- }
- }
- }
- else
- {
- g.DrawString(word.Text, renderer.Font, renderer.Brush, word.Left, word.Top, renderer.Format);
- }
- }
- }
- }
- </code>
- </example>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer.Paragraph">
- <summary>
- Paragraph represents single paragraph. It consists of one or several <see cref="P:FastReport.Utils.AdvancedTextRenderer.Paragraph.Lines"/>.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer.Line">
- <summary>
- Line represents single text line. It consists of one or several <see cref="P:FastReport.Utils.AdvancedTextRenderer.Line.Words"/>.
- Simple line (that does not contain tabs, html tags, and is not justified) has
- single <see cref="T:FastReport.Utils.AdvancedTextRenderer.Word"/> which contains all the text.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer.Word">
- <summary>
- Word represents single word. It may consist of one or several <see cref="P:FastReport.Utils.AdvancedTextRenderer.Word.Runs"/>, in case
- when HtmlTags are enabled in the main <see cref="T:FastReport.Utils.AdvancedTextRenderer"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer.BaseLine">
- <summary>
- Represents character placement.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer.StyleDescriptor">
- <summary>
- Represents a style used in HtmlTags mode.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AdvancedTextRenderer.Run">
- <summary>
- Represents sequence of characters that have the same <see cref="P:FastReport.Utils.AdvancedTextRenderer.Run.Style"/>.
- </summary>
- </member>
- <member name="T:FastReport.Utils.StandardTextRenderer">
- <summary>
- Standard text renderer uses standard DrawString method to draw text. It also supports:
- - text rotation;
- - fonts with non-standard width ratio.
- In case your text is justified, or contains html tags, use the <see cref="T:FastReport.Utils.AdvancedTextRenderer"/>
- class instead.
- </summary>
- </member>
- <member name="T:FastReport.Utils.Editors">
- <summary>
- Contains methods to call common editors.
- </summary>
- <remarks>
- Use this class if you are writing a new component for FastReport.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Editors.EditExpression(FastReport.Report,System.String)">
- <summary>
- Invokes the expression editor.
- </summary>
- <param name="report">A reference to the report.</param>
- <param name="expression">The expression to edit.</param>
- <returns>The new expression.</returns>
- </member>
- <member name="M:FastReport.Utils.Editors.EditBorder(FastReport.Border)">
- <summary>
- Invokes the border editor.
- </summary>
- <param name="border">The <b>Border</b> to edit.</param>
- <returns>The new border.</returns>
- </member>
- <member name="M:FastReport.Utils.Editors.EditFill(FastReport.FillBase)">
- <summary>
- Invokes the fill editor.
- </summary>
- <param name="fill">The fill to edit.</param>
- <returns>The new fill.</returns>
- </member>
- <member name="T:FastReport.Design.ReportLoadedEventArgs">
- <summary>
- Provides a data for the designer ReportLoaded event.
- </summary>
- </member>
- <member name="P:FastReport.Design.ReportLoadedEventArgs.Report">
- <summary>
- The current report.
- </summary>
- </member>
- <member name="T:FastReport.Design.ReportLoadedEventHandler">
- <summary>
- Represents the method that will handle the designer ReportLoaded event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Design.ObjectInsertedEventArgs">
- <summary>
- Provides a data for the designer ObjectInserted event.
- </summary>
- </member>
- <member name="P:FastReport.Design.ObjectInsertedEventArgs.Object">
- <summary>
- Gets the inserted object.
- </summary>
- </member>
- <member name="P:FastReport.Design.ObjectInsertedEventArgs.InsertSource">
- <summary>
- Gets the source where the object is inserted from.
- </summary>
- </member>
- <member name="T:FastReport.Design.ObjectInsertedEventHandler">
- <summary>
- Represents the method that will handle the designer ObjectInserted event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Design.OpenSaveDialogEventArgs">
- <summary>
- Provides a data for the designer's custom dialog events.
- </summary>
- </member>
- <member name="P:FastReport.Design.OpenSaveDialogEventArgs.FileName">
- <summary>
- Gets or sets a file name.
- </summary>
- <remarks>
- This property contains the location of a report. If you work with files (like the
- standard "Open" and "Save" dialogs do), treat this property as a file name.
- </remarks>
- </member>
- <member name="P:FastReport.Design.OpenSaveDialogEventArgs.Cancel">
- <summary>
- Gets or sets a value indicating that the dialog was cancelled.
- </summary>
- <remarks>
- This property is used to tell the designer that the user was cancelled the dialog.
- </remarks>
- </member>
- <member name="P:FastReport.Design.OpenSaveDialogEventArgs.Data">
- <summary>
- Gets or sets the custom data that is shared across events.
- </summary>
- <remarks>
- You may set the Data in the OpenDialog event and use it later in the OpenReport event.
- </remarks>
- </member>
- <member name="P:FastReport.Design.OpenSaveDialogEventArgs.Designer">
- <summary>
- Gets a report designer.
- </summary>
- </member>
- <member name="T:FastReport.Design.OpenSaveDialogEventHandler">
- <summary>
- Represents the method that will handle the designer's custom dialogs event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Design.OpenSaveReportEventArgs">
- <summary>
- Provides a data for the designer's custom dialog events.
- </summary>
- </member>
- <member name="P:FastReport.Design.OpenSaveReportEventArgs.Report">
- <summary>
- Gets a report.
- </summary>
- <remarks>
- Use this report in the load/save operations.
- </remarks>
- </member>
- <member name="P:FastReport.Design.OpenSaveReportEventArgs.FileName">
- <summary>
- Gets a file name.
- </summary>
- <remarks>
- This property contains the location of a report that was selected by the user in the
- open/save dialogs. If you work with files (like the standard "Open" and "Save" dialogs do),
- treat this property as a file name.
- </remarks>
- </member>
- <member name="P:FastReport.Design.OpenSaveReportEventArgs.Data">
- <summary>
- Gets the custom data that was set in the OpenDialog event.
- </summary>
- </member>
- <member name="T:FastReport.Design.OpenSaveReportEventHandler">
- <summary>
- Represents the method that will handle the designer's custom dialogs event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Design.FilterConnectionTablesEventArgs">
- <summary>
- Provides data for the FilterConnectionTables event.
- </summary>
- </member>
- <member name="P:FastReport.Design.FilterConnectionTablesEventArgs.Connection">
- <summary>
- Gets the Connection object.
- </summary>
- </member>
- <member name="P:FastReport.Design.FilterConnectionTablesEventArgs.TableName">
- <summary>
- Gets the table name.
- </summary>
- </member>
- <member name="P:FastReport.Design.FilterConnectionTablesEventArgs.Skip">
- <summary>
- Gets or sets a value that indicates whether this table should be skipped.
- </summary>
- </member>
- <member name="T:FastReport.Design.FilterConnectionTablesEventHandler">
- <summary>
- Represents the method that will handle the FilterConnectionTables event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Design.CustomQueryBuilderEventArgs">
- <summary>
- Provides data for the CustomQueryBuilder event.
- </summary>
- </member>
- <member name="P:FastReport.Design.CustomQueryBuilderEventArgs.Connection">
- <summary>
- Gets the Connection object.
- </summary>
- </member>
- <member name="P:FastReport.Design.CustomQueryBuilderEventArgs.SQL">
- <summary>
- Gets or sets the query text.
- </summary>
- </member>
- <member name="T:FastReport.Design.CustomQueryBuilderEventHandler">
- <summary>
- Represents the method that will handle the CustomQueryBuilder event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLCoreDocumentProperties">
- <summary>
- Core document properties
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLApplicationProperties">
- <summary>
- Core document properties
- </summary>
- </member>
- <member name="T:FastReport.Design.DesignerCommand">
- <summary>
- The base class for all designer commands.
- </summary>
- </member>
- <member name="M:FastReport.Design.DesignerCommand.GetEnabled">
- <summary>
- Gets a value for the <b>Enabled</b> property.
- </summary>
- <returns><b>true</b> if command is enabled.</returns>
- </member>
- <member name="M:FastReport.Design.DesignerCommand.Invoke">
- <summary>
- Invokes the command.
- </summary>
- </member>
- <member name="M:FastReport.Design.DesignerCommand.Invoke(System.Object,System.EventArgs)">
- <summary>
- Invokes the command with specified sender and event args.
- </summary>
- <param name="sender">Sender.</param>
- <param name="e">Event args.</param>
- <remarks>
- This method is compatible with standard <see cref="T:System.EventHandler"/> and can be passed
- to the event handler constructor directly.
- </remarks>
- </member>
- <member name="P:FastReport.Design.DesignerCommand.Enabled">
- <summary>
- Gets a value indicating that the command is enabled.
- </summary>
- <remarks>
- If you use own controls that invoke designer commands, use this property to refresh
- the <b>Enabled</b> state of a control that is bound to this command.
- </remarks>
- </member>
- <member name="E:FastReport.Design.DesignerCommand.CustomAction">
- <summary>
- Defines a custom action for this command.
- </summary>
- <remarks>
- Using custom action, you can override the standard behavior of this designer's command.
- </remarks>
- <example>
- This example demonstrates how to override the "New..." command behavior.
- <code>
- // add an event handler that will be fired when the designer is run
- Config.DesignerSettings.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded);
-
- void DesignerSettings_DesignerLoaded(object sender, EventArgs e)
- {
- // override "New..." command behavior
- (sender as Designer).cmdNew.CustomAction += new EventHandler(cmdNew_CustomAction);
- }
-
- void cmdNew_CustomAction(object sender, EventArgs e)
- {
- // show the "Label" wizard instead of standard "Add New Item" dialog
- Designer designer = sender as Designer;
- LabelWizard wizard = new LabelWizard();
- wizard.Run(designer);
- }
- </code>
- </example>
- </member>
- <member name="T:FastReport.Design.NewCommand">
- <summary>
- Represents the "File|New" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.NewCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.NewCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.NewPageCommand">
- <summary>
- Represents the "New Page" toolbar command.
- </summary>
- </member>
- <member name="M:FastReport.Design.NewPageCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.NewPageCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.NewDialogCommand">
- <summary>
- Represents the "New Dialog" toolbar command.
- </summary>
- </member>
- <member name="M:FastReport.Design.NewDialogCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.NewDialogCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.OpenCommand">
- <summary>
- Represents the "File|Open..." command. Also can be used for loading a file
- from the recent files list.
- </summary>
- </member>
- <member name="M:FastReport.Design.OpenCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.OpenCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.OpenCommand.LoadFile(System.String)">
- <summary>
- Loads a specified report file.
- </summary>
- <param name="fileName">File to load.</param>
- </member>
- <member name="T:FastReport.Design.SaveCommand">
- <summary>
- Represents the "File|Save" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.SaveCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.SaveCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.SaveAsCommand">
- <summary>
- Represents the "File|Save As..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.SaveAsCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.SaveAsCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.SaveAllCommand">
- <summary>
- Represents the "File|Save All" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.SaveAllCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.SaveAllCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.CloseCommand">
- <summary>
- Represents the "File|Close" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.CloseCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.CloseCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.CloseAllCommand">
- <summary>
- Represents the "Window|Close All" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.CloseAllCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.PreviewCommand">
- <summary>
- Represents the "File|Preview..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.PreviewCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.PreviewCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.PageSettingsCommand">
- <summary>
- Represents the "File|Page Setup..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.PageSettingsCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.PageSettingsCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.ReportSettingsCommand">
- <summary>
- Represents the "Report|Options..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.ReportSettingsCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ReportSettingsCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.PrinterSettingsCommand">
- <summary>
- Represents the "File|Printer Setup..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.PrinterSettingsCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.PrinterSettingsCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.UndoCommand">
- <summary>
- Represents the "Edit|Undo" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.UndoCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.UndoCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.UndoCommand.Undo(System.Int32)">
- <summary>
- Undo several actions.
- </summary>
- <param name="actionsCount">Number of actions to undo.</param>
- </member>
- <member name="T:FastReport.Design.RedoCommand">
- <summary>
- Represents the "Edit|Redo" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.RedoCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.RedoCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.RedoCommand.Redo(System.Int32)">
- <summary>
- Redo several actions.
- </summary>
- <param name="actionsCount">Number of actions to redo.</param>
- </member>
- <member name="T:FastReport.Design.CutCommand">
- <summary>
- Represents the "Edit|Cut" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.CutCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.CutCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.CopyCommand">
- <summary>
- Represents the "Edit|Copy" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.CopyCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.PasteCommand">
- <summary>
- Represents the "Edit|Paste" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.PasteCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.PasteCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.FormatPainterCommand">
- <summary>
- Represents the "Format Painter" toolbar command.
- </summary>
- </member>
- <member name="M:FastReport.Design.FormatPainterCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.FormatPainterCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.DeleteCommand">
- <summary>
- Represents the "Edit|Delete" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.DeleteCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.DeleteCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.DeletePageCommand">
- <summary>
- Represents the "Edit|Delete Page" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.DeletePageCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.DeletePageCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.SelectAllCommand">
- <summary>
- Represents the "Edit|Select All" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.SelectAllCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.SelectAllCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.GroupCommand">
- <summary>
- Represents the "Edit|Group" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.GroupCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.GroupCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.UngroupCommand">
- <summary>
- Represents the "Edit|Ungroup" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.UngroupCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.EditCommand">
- <summary>
- Represents the "Edit" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.EditCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.EditCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.FindCommand">
- <summary>
- Represents the "Edit|Find..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.FindCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.FindCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.ReplaceCommand">
- <summary>
- Represents the "Edit|Replace..." command.
- </summary>
- </member>
- <member name="T:FastReport.Design.BringToFrontCommand">
- <summary>
- Represents the "Bring To Front" context menu command.
- </summary>
- </member>
- <member name="M:FastReport.Design.BringToFrontCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.BringToFrontCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.SendToBackCommand">
- <summary>
- Represents the "Send To Back" context menu command.
- </summary>
- </member>
- <member name="M:FastReport.Design.SendToBackCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.InsertCommand">
- <summary>
- Represents the "Insert" command.
- </summary>
- <remarks>
- This command has no default action associated with it. Check the <b>Enabled</b> property
- to see if the insert operation is enabled.
- </remarks>
- </member>
- <member name="M:FastReport.Design.InsertCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.InsertBandCommand">
- <summary>
- Represents the "Insert Band" command.
- </summary>
- <remarks>
- This command has no default action associated with it. Check the <b>Enabled</b> property
- to see if the insert operation is enabled.
- </remarks>
- </member>
- <member name="M:FastReport.Design.InsertBandCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.AddDataCommand">
- <summary>
- Represents the "Data|Add Data Source..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.AddDataCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.AddDataCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.ChooseDataCommand">
- <summary>
- Represents the "Data|Choose Report Data..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.ChooseDataCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ChooseDataCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.RecentFilesCommand">
- <summary>
- Represents the "Recent Files" command.
- </summary>
- <remarks>
- This command has no default action associated with it. Check the <b>Enabled</b> property
- to see if the recent files list is enabled.
- </remarks>
- </member>
- <member name="M:FastReport.Design.RecentFilesCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.SelectLanguageCommand">
- <summary>
- Represents the "File|Select Language..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.SelectLanguageCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.OptionsCommand">
- <summary>
- Represents the "View|Options..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.OptionsCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.ViewStartPageCommand">
- <summary>
- Represents the "View|Start Page" command.
- </summary>
- </member>
- <member name="M:FastReport.Design.ViewStartPageCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ViewStartPageCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.ReportStylesCommand">
- <summary>
- Represents the "Report|Styles..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.ReportStylesCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ReportStylesCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.HelpContentsCommand">
- <summary>
- Represents the "Help|Help Contents..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.HelpContentsCommand.GetEnabled">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.HelpContentsCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Design.AboutCommand">
- <summary>
- Represents the "Help|About..." command.
- </summary>
- </member>
- <member name="M:FastReport.Design.AboutCommand.Invoke">
- <inheritdoc/>
- </member>
- <member name="F:FastReport.Data.ConnectionEditors.OdbcConnectionEditor.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.OdbcConnectionEditor.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Data.ConnectionEditors.OdbcConnectionEditor.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm">
- <summary>
- Represents form of the FTP storage client.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.#ctor(System.String,System.String,System.String,FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm"/> class.
- </summary>
- <param name="server">The FTP server.</param>
- <param name="username">The username.</param>
- <param name="password">The password.</param>
- <param name="report">The report template.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.Init">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.Done">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Ftp.FtpStorageClientForm.btnOk_Click(System.Object,System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.CloudProxySettings">
- <summary>
- Represents proxy settings of the cloud storage.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.CloudProxySettings.#ctor(FastReport.Cloud.ProxyType,System.String,System.Int32,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.CloudProxySettings"/> class.
- </summary>
- <param name="proxyType">The type of proxy.</param>
- <param name="server">The proxy server.</param>
- <param name="port">The port number of server.</param>
- <param name="username">The username.</param>
- <param name="password">The user's password.</param>
- </member>
- <member name="P:FastReport.Cloud.CloudProxySettings.ProxyType">
- <summary>
- Gets or sert the type of proxy.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.CloudProxySettings.Server">
- <summary>
- Gets or sert the proxy server.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.CloudProxySettings.Port">
- <summary>
- Gets or sets the port number of proxy server.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.CloudProxySettings.Username">
- <summary>
- Gets or sets the username.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.CloudProxySettings.Password">
- <summary>
- Getst or sets the user's password.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.ProxyType">
- <summary>
- Represents the type of rpoxy.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.ProxyType.Http">
- <summary>
- The HTTP proxy type.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.ProxyType.Socks4">
- <summary>
- The SOCKS4 proxy type.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.ProxyType.Socks5">
- <summary>
- The SOCKS5 proxy type.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.QRCodeErrorCorrection">
- <summary>
- Specifies the QR code error correction level.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeErrorCorrection.L">
- <summary>
- L = ~7% correction.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeErrorCorrection.M">
- <summary>
- M = ~15% correction.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeErrorCorrection.Q">
- <summary>
- Q = ~25% correction.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeErrorCorrection.H">
- <summary>
- H = ~30% correction.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.QRCodeEncoding">
- <summary>
- Specifies the QR Code encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeEncoding.UTF8">
- <summary>
- UTF-8 encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeEncoding.ISO8859_1">
- <summary>
- ISO 8859-1 encoding.
- </summary>
- </member>
- <member name="F:FastReport.Barcode.QRCodeEncoding.Shift_JIS">
- <summary>
- Shift_JIS encoding.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.BarcodeQR">
- <summary>
- Generates the 2D QR code barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.BarcodeQR.Assign(FastReport.Barcode.BarcodeBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.BarcodeQR.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.BarcodeQR"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeQR.ErrorCorrection">
- <summary>
- Gets or sets the error correction.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeQR.Encoding">
- <summary>
- Gets or sets the encoding used for text conversion.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.BarcodeQR.QuietZone">
- <summary>
- Gets or sets the value indicating that quiet zone must be shown.
- </summary>
- </member>
- <member name="T:FastReport.GroupFooterBand">
- <summary>
- Represents a group footer band.
- </summary>
- </member>
- <member name="T:FastReport.Utils.DrawText">
- <summary>
- Used to draw a text with non-standard angle or justification.
- </summary>
- </member>
- <member name="M:FastReport.Utils.DrawText.Draw(System.String,System.Drawing.Graphics,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF,System.Drawing.StringFormat,FastReport.HorzAlign,System.Single,System.Single,System.Int32,System.Boolean,System.Boolean)">
- <summary>
- Draws a string.
- </summary>
- <param name="text">String to draw.</param>
- <param name="g"><b>Graphics</b> object to draw on.</param>
- <param name="font">Font that used to draw text.</param>
- <param name="brush">Brush that determines the color and texture of the drawn text. </param>
- <param name="rect"><b>RectangleF</b> structure that specifies the location of the drawn text.</param>
- <param name="format">StringFormat that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text.</param>
- <param name="horzAlign">Horizontal alignment of the text.</param>
- <param name="fontWidthRatio">Width ratio of the font used to draw a string.</param>
- <param name="lineHeight">Line height, in pixels.</param>
- <param name="angle">Angle of the text, in degrees.</param>
- <param name="wysiwyg">Indicates whther to draw string close to the printout.</param>
- <param name="forceJustify">Force justify for the last line.</param>
- </member>
- <member name="M:FastReport.Utils.DrawText.#ctor">
- <summary>
- Initializes a new instance of the <b>DrawText</b> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Data.DataSourceCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.DataSourceBase"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Data.DataSourceCollection.FindByName(System.String)">
- <summary>
- Finds a datasource by its name.
- </summary>
- <param name="name">The name of a datasource.</param>
- <returns>The <see cref="T:FastReport.Data.DataSourceBase"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.DataSourceCollection.FindByAlias(System.String)">
- <summary>
- Finds a datasource by its alias.
- </summary>
- <param name="alias">The alias of a datasource.</param>
- <returns>The <see cref="T:FastReport.Data.DataSourceBase"/> object if found; otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Data.DataSourceCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.DataSourceCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.DataSourceCollection.Item(System.Int32)">
- <summary>
- Gets or sets a data source.
- </summary>
- <param name="index">The index of a data source in this collection.</param>
- <returns>The data source with specified index.</returns>
- </member>
- <member name="T:FastReport.LineStyle">
- <summary>
- Specifies the style of a border line.
- </summary>
- </member>
- <member name="F:FastReport.LineStyle.Solid">
- <summary>
- Specifies a solid line.
- </summary>
- </member>
- <member name="F:FastReport.LineStyle.Dash">
- <summary>
- Specifies a line consisting of dashes.
- </summary>
- </member>
- <member name="F:FastReport.LineStyle.Dot">
- <summary>
- Specifies a line consisting of dots.
- </summary>
- </member>
- <member name="F:FastReport.LineStyle.DashDot">
- <summary>
- Specifies a line consisting of a repeating pattern of dash-dot.
- </summary>
- </member>
- <member name="F:FastReport.LineStyle.DashDotDot">
- <summary>
- Specifies a line consisting of a repeating pattern of dash-dot-dot.
- </summary>
- </member>
- <member name="F:FastReport.LineStyle.Double">
- <summary>
- Specifies a double line.
- </summary>
- </member>
- <member name="T:FastReport.BorderLines">
- <summary>
- Specifies the sides of a border.
- </summary>
- </member>
- <member name="F:FastReport.BorderLines.None">
- <summary>
- Specifies no border lines.
- </summary>
- </member>
- <member name="F:FastReport.BorderLines.Left">
- <summary>
- Specifies the left border line.
- </summary>
- </member>
- <member name="F:FastReport.BorderLines.Right">
- <summary>
- Specifies the right border line.
- </summary>
- </member>
- <member name="F:FastReport.BorderLines.Top">
- <summary>
- Specifies the top border line.
- </summary>
- </member>
- <member name="F:FastReport.BorderLines.Bottom">
- <summary>
- Specifies the bottom border line.
- </summary>
- </member>
- <member name="F:FastReport.BorderLines.All">
- <summary>
- Specifies all border lines.
- </summary>
- </member>
- <member name="T:FastReport.BorderLine">
- <summary>
- Represents a single border line.
- </summary>
- </member>
- <member name="M:FastReport.BorderLine.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.BorderLine.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.BorderLine.Color">
- <summary>
- Gets or sets a color of the line.
- </summary>
- </member>
- <member name="P:FastReport.BorderLine.Style">
- <summary>
- Gets or sets a style of the line.
- </summary>
- </member>
- <member name="P:FastReport.BorderLine.Width">
- <summary>
- Gets or sets a width of the line, in pixels.
- </summary>
- </member>
- <member name="T:FastReport.Border">
- <summary>
- Represents a border around the report object.
- </summary>
- <remarks>
- Border consists of four lines. Each line has own color, style and width. Lines are accessible through
- <see cref="P:FastReport.Border.LeftLine"/>, <see cref="P:FastReport.Border.RightLine"/>, <see cref="P:FastReport.Border.TopLine"/>, <see cref="P:FastReport.Border.BottomLine"/> properties.
- <para/>
- To turn on and off the lines, use the <see cref="P:FastReport.Border.Lines"/> property. To set the same color, style or width
- for each line, use <see cref="P:FastReport.Border.Color"/>, <see cref="P:FastReport.Border.Style"/>, <see cref="P:FastReport.Border.Width"/> properties of the <b>Border</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Border.Clone">
- <summary>
- Creates the exact copy of this <b>Border</b>.
- </summary>
- <returns>A copy of this border.</returns>
- </member>
- <member name="M:FastReport.Border.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Border.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Border.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Border)">
- <summary>
- Serializes the border.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">Border property name.</param>
- <param name="c">Another Border to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Border.Draw(FastReport.Utils.FRPaintEventArgs,System.Drawing.RectangleF)">
- <summary>
- Draw the border using draw event arguments and specified bounding rectangle.
- </summary>
- <param name="e">Draw event arguments.</param>
- <param name="rect">Bounding rectangle.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Border.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Border"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Border.Color">
- <summary>
- Gets or sets a color of the border.
- </summary>
- <remarks>
- This property actually returns a color of the <see cref="P:FastReport.Border.LeftLine"/>. When you assign a value
- to this property, the value will be set to each border line.
- </remarks>
- </member>
- <member name="P:FastReport.Border.Shadow">
- <summary>
- Gets or sets a value determines whether to draw a shadow.
- </summary>
- </member>
- <member name="P:FastReport.Border.ShadowWidth">
- <summary>
- Gets or sets a shadow width, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Border.ShadowColor">
- <summary>
- Gets or sets a shadow color.
- </summary>
- </member>
- <member name="P:FastReport.Border.Style">
- <summary>
- Gets or sets a style of the border.
- </summary>
- <remarks>
- This property actually returns a style of the <see cref="P:FastReport.Border.LeftLine"/>. When you assign a value
- to this property, the value will be set to each border line.
- </remarks>
- </member>
- <member name="P:FastReport.Border.Lines">
- <summary>
- Gets or sets a visible lines of a border.
- </summary>
- </member>
- <member name="P:FastReport.Border.Width">
- <summary>
- Gets or sets a width of the border, in pixels.
- </summary>
- <remarks>
- This property actually returns a width of the <see cref="P:FastReport.Border.LeftLine"/>. When you assign a value
- to this property, the value will be set to each border line.
- </remarks>
- </member>
- <member name="P:FastReport.Border.LeftLine">
- <summary>
- Gets or sets the left line of the border.
- </summary>
- </member>
- <member name="P:FastReport.Border.TopLine">
- <summary>
- Gets or sets the top line of the border.
- </summary>
- </member>
- <member name="P:FastReport.Border.RightLine">
- <summary>
- Gets or sets the right line of the border.
- </summary>
- </member>
- <member name="P:FastReport.Border.BottomLine">
- <summary>
- Gets or sets the bottom line of the border.
- </summary>
- </member>
- <member name="P:FastReport.Border.SimpleBorder">
- <summary>
- Gets or sets a value determines that <b>Border</b> must serialize only one line.
- </summary>
- <remarks>
- This property is for internal use only.
- </remarks>
- </member>
- <member name="F:FastReport.Forms.ReportDataForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.ReportDataForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.ReportDataForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.DataSourceSmartTag">
- <summary>
- Represents a smart tag that is used to choose a data source.
- </summary>
- </member>
- <member name="M:FastReport.DataSourceSmartTag.CreateItems">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataSourceSmartTag.#ctor(FastReport.ComponentBase)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.DataSourceSmartTag"/> class with default settings.
- </summary>
- <param name="obj">Report object that owns this smart tag.</param>
- </member>
- <member name="P:FastReport.DataSourceSmartTag.DataSource">
- <summary>
- Gets or sets a data source.
- </summary>
- </member>
- <member name="F:FastReport.Forms.AddNewItemForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.AddNewItemForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.AddNewItemForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.StyleSheet">
- <summary>
- Represents a collection of the <see cref="T:FastReport.StyleCollection"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.StyleSheet.AddRange(FastReport.StyleCollection[])">
- <summary>
- Adds the specified elements to the end of this collection.
- </summary>
- <param name="range"></param>
- </member>
- <member name="M:FastReport.StyleSheet.Add(FastReport.StyleCollection)">
- <summary>
- Adds an object to the end of this collection.
- </summary>
- <param name="value">Object to add.</param>
- <returns>Index of the added object.</returns>
- </member>
- <member name="M:FastReport.StyleSheet.Insert(System.Int32,FastReport.StyleCollection)">
- <summary>
- Inserts an object into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The object to insert.</param>
- </member>
- <member name="M:FastReport.StyleSheet.Remove(FastReport.StyleCollection)">
- <summary>
- Removes the specified object from the collection.
- </summary>
- <param name="value">Object to remove.</param>
- </member>
- <member name="M:FastReport.StyleSheet.IndexOf(FastReport.StyleCollection)">
- <summary>
- Returns the zero-based index of the first occurrence of an object.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.StyleSheet.IndexOf(System.String)">
- <summary>
- Returns the zero-based index of the first occurrence of a style collection with specified name.
- </summary>
- <param name="value">The style collection name to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.StyleSheet.Contains(FastReport.StyleCollection)">
- <summary>
- Determines whether an element is in the collection.
- </summary>
- <param name="value">The object to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.StyleSheet.Contains(System.String)">
- <summary>
- Determines whether a style collection with specified name is in the collection.
- </summary>
- <param name="value">The style collection name to locate in the collection.</param>
- <returns><b>true</b> if object is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.StyleSheet.ToArray">
- <summary>
- Gets an array containing all collection items.
- </summary>
- <returns>An array containing all collection items.</returns>
- </member>
- <member name="M:FastReport.StyleSheet.Serialize(FastReport.Utils.FRWriter)">
- <summary>
- Serializes the collection.
- </summary>
- <param name="writer">Writer object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.StyleSheet.Deserialize(FastReport.Utils.FRReader)">
- <summary>
- Deserializes the collection.
- </summary>
- <param name="reader">Reader object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.StyleSheet.Save(System.IO.Stream)">
- <summary>
- Saves the collection to a stream.
- </summary>
- <param name="stream">Stream to save to.</param>
- </member>
- <member name="M:FastReport.StyleSheet.Save(System.String)">
- <summary>
- Saves the collection to a file with specified name.
- </summary>
- <param name="fileName">File name to save to.</param>
- </member>
- <member name="M:FastReport.StyleSheet.Load(System.IO.Stream)">
- <summary>
- Loads the collection from a stream.
- </summary>
- <param name="stream">Stream to load from.</param>
- </member>
- <member name="M:FastReport.StyleSheet.Load(System.String)">
- <summary>
- Loads the collection from a file with specified name.
- </summary>
- <param name="fileName">Name of a file.</param>
- </member>
- <member name="P:FastReport.StyleSheet.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.DefaultPaperSize">
- <summary>
- Specifies the default paper size used when creating a new report.
- </summary>
- </member>
- <member name="F:FastReport.DefaultPaperSize.A4">
- <summary>
- A4 paper (210 x 297 mm).
- </summary>
- </member>
- <member name="F:FastReport.DefaultPaperSize.Letter">
- <summary>
- Letter paper (8.5 x 11 inches, 216 x 279 mm).
- </summary>
- </member>
- <member name="T:FastReport.ReportSettings">
- <summary>
- This class contains settings that will be applied to the Report component.
- </summary>
- </member>
- <member name="M:FastReport.ReportSettings.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ReportSettings"/> class.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.StartProgress">
- <summary>
- Occurs before displaying a progress window.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.FinishProgress">
- <summary>
- Occurs after closing a progress window.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.ReportPrinted">
- <summary>
- Occurs after printing a report.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.Progress">
- <summary>
- Occurs when progress state is changed.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.DatabaseLogin">
- <summary>
- Occurs when database connection is about to open.
- </summary><remarks>
- Use this event to provide own connection string or user name/password to the connection
- object that is about to open.
- <para/>To provide own connection string, set the <b>e.ConnectionString</b> property.
- In this case the new connection string will be used.
- <para/>To provide own user name/password, set the <b>e.UserName</b> and <b>e.Password</b> properties.
- You may ask these values in own login dialog.
- </remarks><example>This example shows how to provide username/password using own login dialog.
- <code>
- private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e)
- {
- using (MyLoginDialog dialog = new MyLoginDialog())
- {
- if (dialog.ShowDialog() == DialogResult.OK)
- {
- e.UserName = dialog.UserName;
- e.Password = dialog.Password;
- }
- }
- }
- </code>
- </example><example>This example shows how to provide own connection string.
- <code>
- private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e)
- {
- e.ConnectionString = my_connection_string;
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.ReportSettings.AfterDatabaseLogin">
- <summary>
- Occurs after the database connection is established.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.FilterBusinessObjectProperties">
- <summary>
- Occurs when discovering the business object's structure.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.GetBusinessObjectPropertyKind">
- <summary>
- Occurs when determining the kind of business object's property.
- </summary>
- </member>
- <member name="E:FastReport.ReportSettings.GetBusinessObjectTypeInstance">
- <summary>
- Occurs when discovering the structure of business object of ICustomTypeDescriptor type
- with no instance specified.
- </summary>
- <remarks>
- The event handler must return an instance of that type.
- </remarks>
- </member>
- <member name="P:FastReport.ReportSettings.DefaultLanguage">
- <summary>
- Gets or sets the default script language.
- </summary>
- </member>
- <member name="P:FastReport.ReportSettings.DefaultPaperSize">
- <summary>
- Gets or sets the default paper size used when creating a new report.
- </summary>
- </member>
- <member name="P:FastReport.ReportSettings.ShowProgress">
- <summary>
- Gets or sets a value that determines whether to show the progress window
- when perform time-consuming operations such as run, print, export.
- </summary>
- </member>
- <member name="P:FastReport.ReportSettings.ShowPerformance">
- <summary>
- Gets or sets a value that determines whether to show the information about
- the report performance (report generation time, memory consumed) in the
- lower right corner of the preview window.
- </summary>
- </member>
- <member name="P:FastReport.ReportSettings.UsePropValuesToDiscoverBO">
- <summary>
- Gets or sets a value indicating that the business object engine will use property values
- when possible to discover the BO structure.
- </summary>
- </member>
- <member name="T:FastReport.Export.RichText.RTFImageFormat">
- <summary>
- Specifies the image format in RTF export.
- </summary>
- </member>
- <member name="F:FastReport.Export.RichText.RTFImageFormat.Png">
- <summary>
- Specifies the .png format.
- </summary>
- </member>
- <member name="F:FastReport.Export.RichText.RTFImageFormat.Jpeg">
- <summary>
- Specifies the .jpg format.
- </summary>
- </member>
- <member name="F:FastReport.Export.RichText.RTFImageFormat.Metafile">
- <summary>
- Specifies the .emf format.
- </summary>
- </member>
- <member name="T:FastReport.Export.RichText.RTFExport">
- <summary>
- Represents the RTF export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.RichText.RTFExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.RichText.RTFExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.JpegQuality">
- <summary>
- Gets or sets the quality of Jpeg images in RTF file.
- </summary>
- <remarks>
- Default value is 90. This property will be used if you select Jpeg
- in the <see cref="P:FastReport.Export.RichText.RTFExport.ImageFormat"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.ImageFormat">
- <summary>
- Gets or sets the image format that will be used to save pictures in RTF file.
- </summary>
- <remarks>
- Default value is <b>Metafile</b>. This format is better for exporting such objects as
- <b>MSChartObject</b> and <b>ShapeObject</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.Pictures">
- <summary>
- Gets or sets a value indicating that pictures are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.PageBreaks">
- <summary>
- Gets or sets a value indicating that page breaks are enabled.
- </summary>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.Wysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting rtf file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.Creator">
- <summary>
- Gets or sets the creator of the document.
- </summary>
- </member>
- <member name="P:FastReport.Export.RichText.RTFExport.AutoSize">
- <summary>
- Gets or sets a value that determines whether the rows in the resulting table
- should calculate its height automatically.
- </summary>
- <remarks>
- Default value for this property is <b>false</b>. In this mode, each row in the
- resulting table has fixed height to get maximum wysiwyg. If you set it to <b>true</b>,
- the height of resulting table will be calculated automatically by the Word processor.
- The document will be more editable, but less wysiwyg.
- </remarks>
- </member>
- <member name="M:FastReport.Export.ExportUtils.HtmlURL(System.String)">
- <summary>
-
- </summary>
- <param name="Value"></param>
- <returns></returns>
- </member>
- <member name="T:FastReport.Data.XmlConnectionStringBuilder">
- <summary>
- Represents the XmlDataConnection connection string builder.
- </summary>
- <remarks>
- Use this class to parse connection string returned by the <b>XmlDataConnection</b> class.
- </remarks>
- </member>
- <member name="M:FastReport.Data.XmlConnectionStringBuilder.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.XmlConnectionStringBuilder"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Data.XmlConnectionStringBuilder.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.XmlConnectionStringBuilder"/> class with
- specified connection string.
- </summary>
- <param name="connectionString">The connection string.</param>
- </member>
- <member name="P:FastReport.Data.XmlConnectionStringBuilder.XmlFile">
- <summary>
- Gets or sets the path to .xml file.
- </summary>
- </member>
- <member name="P:FastReport.Data.XmlConnectionStringBuilder.XsdFile">
- <summary>
- Gets or sets the path to .xsd file.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.ChartEditorControl.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.ChartEditorControl.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.MSChart.ChartEditorControl.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin">
- <summary>
- Represents the RDL import plugin.
- </summary>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin"/> class with a specified designer.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin.GetFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.RDL.RDLImportPlugin.LoadReport(FastReport.Report,System.String)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Map.MapPalette">
- <summary>
- Defines the palette used to display map shapes.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.None">
- <summary>
- No palette used.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.Light">
- <summary>
- Light palette.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.Pastel">
- <summary>
- Pastel palette.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.Grayscale">
- <summary>
- Grayscale palette.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.Earth">
- <summary>
- Earth tones palette.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.Sea">
- <summary>
- Sea green palette.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapPalette.BrightPastel">
- <summary>
- Bright pastel palette.
- </summary>
- </member>
- <member name="T:FastReport.Export.XAML.Dashes">
- <summary>
- Contains Dashes enum
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.Dashes.Dash">
- <summary>
- Specifies the Dash.
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.Dashes.Dot">
- <summary>
- Specifies the Dot.
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.Dashes.DashDot">
- <summary>
- Specifies the DashDot.
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.Dashes.DashDotDot">
- <summary>
- Specifies the DashDotDot.
- </summary>
- </member>
- <member name="F:FastReport.Export.XAML.Dashes.Double">
- <summary>
- Specifies the Double line.
- </summary>
- </member>
- <member name="T:FastReport.Export.XAML.XAMLDocument">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.CreateWindow(System.String,System.Single,System.Single)">
- <summary>
- Create Window.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddGrid">
- <summary>
- Create Grid.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddCanvas">
- <summary>
- Create Canvas.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResources">
- <summary>
- Create Resources tag
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResourceTextObject">
- <summary>
- Add resource for TextObject
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResourceTextObjectAngle">
- <summary>
- Add resource for TextObject with angle
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResourceLine">
- <summary>
- Add resource for Line
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResourceRectangle">
- <summary>
- Add resource for Rectangle
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResourceEllipse">
- <summary>
- Add resource for Ellipse
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddResourcePolygon">
- <summary>
- Add resource for Polygon
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddTextObject(System.Single,System.Single,System.Single,System.Single,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Single,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.Single,System.String,System.String,System.String,System.Single,System.String,System.String,System.Boolean,System.Boolean,System.Boolean,System.Single,System.Single,System.Single,System.Single,System.Boolean,System.Boolean,System.String)">
- <summary>
- Method for add TextObject.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddTextObject(System.Single,System.Single,System.Single,System.Single,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Single,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.Single,System.String,System.String,System.String,System.Single,System.String,System.String,System.Boolean,System.Boolean,System.Boolean,System.Single,System.Single,System.Single,System.Single,System.Boolean,System.Single,System.Boolean,System.String)">
- <summary>
- Method for add TextObject with angle
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddLine(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add line.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddLine(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String,FastReport.Export.XAML.Dashes)">
- <summary>
- Method for add line with dash.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddRectangle(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String,System.Boolean)">
- <summary>
- Method to add rectangle.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddEllipse(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add ellips.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddTriangle(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add triangle.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddDiamond(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add Diamond.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.AddImage(System.String,System.Single,System.Single,System.Single,System.Single)">
- <summary>
- Add image
- </summary>
- <param name="filename"></param>
- <param name="left"></param>
- <param name="top"></param>
- <param name="width"></param>
- <param name="height"></param>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.Save(System.String)">
- <summary>
- Save xaml file.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.Save(System.IO.Stream)">
- <summary>
- Save xaml stream.
- </summary>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.#ctor(System.String,System.Single,System.Single)">
- <param name="name"></param>
- <param name="Width"></param>
- <param name="Height"></param>
- </member>
- <member name="M:FastReport.Export.XAML.XAMLDocument.#ctor">
- <summary>
-
- </summary>
- </member>
- <member name="F:FastReport.Forms.XpsExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.XpsExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.XpsExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Export.BinaryTree">
- <summary>
- Binary tree class
- </summary>
- </member>
- <member name="M:FastReport.Export.BinaryTree.AddChild(FastReport.Export.BinaryTreeNode@,System.Single)">
- <summary>
- Recursive add value to a node.
- </summary>
- <param name="node"></param>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.BinaryTree.PollRight(FastReport.Export.BinaryTreeNode@)">
- <summary>
- Poll right child node for correct balance.
- </summary>
- <param name="node"></param>
- </member>
- <member name="M:FastReport.Export.BinaryTree.PollLeft(FastReport.Export.BinaryTreeNode@)">
- <summary>
- Poll left child for correct balance.
- </summary>
- <param name="node"></param>
- </member>
- <member name="M:FastReport.Export.BinaryTree.Index(FastReport.Export.BinaryTreeNode)">
- <summary>
- Recursive indexation of node and childs.
- </summary>
- <param name="node"></param>
- </member>
- <member name="M:FastReport.Export.BinaryTree.Add(System.Single)">
- <summary>
- Add new value in tree. All equals are skipped.
- </summary>
- <param name="value"></param>
- </member>
- <member name="M:FastReport.Export.BinaryTree.Close">
- <summary>
- Close the tree and make index array.
- </summary>
- </member>
- <member name="M:FastReport.Export.BinaryTree.IndexOf(System.Single)">
- <summary>
- Seek of value index in the tree.
- </summary>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.BinaryTree.Find(FastReport.Export.BinaryTreeNode,System.Single)">
- <summary>
- Find of value index in sub-tree of node.
- </summary>
- <param name="node"></param>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.BinaryTree.FromList(System.Collections.Generic.List{System.Single})">
- <summary>
- Borrow values form List in the tree
- </summary>
- <param name="array"></param>
- </member>
- <member name="M:FastReport.Export.BinaryTree.FromArray(System.Single[])">
- <summary>
- Borrow values form array in the tree
- </summary>
- <param name="array"></param>
- </member>
- <member name="M:FastReport.Export.BinaryTree.Clear">
- <summary>
- Clear tree
- </summary>
- </member>
- <member name="M:FastReport.Export.BinaryTree.#ctor">
- <summary>
- Tree constructor
- </summary>
- </member>
- <member name="P:FastReport.Export.BinaryTree.MaxDistance">
- <summary>
- Maximal value between child and parent
- </summary>
- </member>
- <member name="P:FastReport.Export.BinaryTree.Count">
- <summary>
- Nodes count
- </summary>
- </member>
- <member name="P:FastReport.Export.BinaryTree.RootNode">
- <summary>
- Root node
- </summary>
- </member>
- <member name="P:FastReport.Export.BinaryTree.Nodes">
- <summary>
- Nodes array. Accending sorting by node value. Available after close of tree.
- </summary>
- </member>
- <member name="P:FastReport.Export.BinaryTree.Inaccuracy">
- <summary>
- Accecptable inaccuracy of new values.
- </summary>
- </member>
- <member name="T:FastReport.Export.BinaryTreeNode">
- <summary>
- Tree node class
- </summary>
- </member>
- <member name="F:FastReport.Export.BinaryTreeNode.left">
- <summary>
- Link to left child
- </summary>
- </member>
- <member name="F:FastReport.Export.BinaryTreeNode.right">
- <summary>
- Link to right child
- </summary>
- </member>
- <member name="F:FastReport.Export.BinaryTreeNode.value">
- <summary>
- Node value
- </summary>
- </member>
- <member name="F:FastReport.Export.BinaryTreeNode.leftCount">
- <summary>
- Count of nodes in left sub-tree
- </summary>
- </member>
- <member name="F:FastReport.Export.BinaryTreeNode.rightCount">
- <summary>
- Count of nodes in right sub-tree
- </summary>
- </member>
- <member name="F:FastReport.Export.BinaryTreeNode.index">
- <summary>
- Node index
- </summary>
- </member>
- <member name="M:FastReport.Export.BinaryTreeNode.#ctor(System.Single)">
- <summary>
- Node constructor
- </summary>
- <param name="nodeValue"></param>
- </member>
- <member name="T:FastReport.Design.StandardDesigner.DesignerStatusBar">
- <summary>
- Represents the designer's statusbar.
- </summary>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.UpdateContent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.Lock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.Unlock">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.GetOptionsPage">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.UpdateUIStyle">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.UpdateLocationAndSize(System.String,System.String)">
- <summary>
- Updates the information about location and size.
- </summary>
- <param name="location">The location.</param>
- <param name="size">The size.</param>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.UpdateText(System.String)">
- <summary>
- Updates the name and text information.
- </summary>
- <param name="s">The text.</param>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerStatusBar.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.StandardDesigner.DesignerStatusBar"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.DesignerStatusBar.PluginName">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Table.TableRowCollection">
- <summary>
- Represents a collection of <see cref="T:FastReport.Table.TableRow"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Table.TableRowCollection.OnInsert(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRowCollection.OnRemove(System.Int32,System.Object)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableRowCollection.Item(System.Int32)">
- <summary>
- Gets a row with specified index.
- </summary>
- <param name="index">Index of a row.</param>
- <returns>The row with specified index.</returns>
- </member>
- <member name="T:FastReport.Table.TableColumn">
- <summary>
- Represents a table column.
- </summary>
- <remarks>
- Use the <see cref="P:FastReport.Table.TableColumn.Width"/> property to set the width of a column. If <see cref="P:FastReport.Table.TableColumn.AutoSize"/>
- property is <b>true</b>, the column will calculate its width automatically.
- <para/>You can also set the <see cref="P:FastReport.Table.TableColumn.MinWidth"/> and <see cref="P:FastReport.Table.TableColumn.MaxWidth"/> properties
- to restrict the column's width.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableColumn.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumn.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumn.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumn.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumn.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumn.Clear">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableColumn.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Table.TableColumn"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.Width">
- <summary>
- Gets or sets a width of the column, in pixels.
- </summary>
- <remarks>
- The column width cannot exceed the range defined by the <see cref="P:FastReport.Table.TableColumn.MinWidth"/>
- and <see cref="P:FastReport.Table.TableColumn.MaxWidth"/> properties.
- <note>To convert between pixels and report units, use the constants defined
- in the <see cref="T:FastReport.Utils.Units"/> class.</note>
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableColumn.MinWidth">
- <summary>
- Gets or sets the minimal width for this column, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.MaxWidth">
- <summary>
- Gets or sets the maximal width for this column, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.AutoSize">
- <summary>
- Gets or sets a value determines if the column should calculate its width automatically.
- </summary>
- <remarks>
- The column width cannot exceed the range defined by the <see cref="P:FastReport.Table.TableColumn.MinWidth"/>
- and <see cref="P:FastReport.Table.TableColumn.MaxWidth"/> properties.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableColumn.Index">
- <summary>
- Gets the index of this column.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.Left">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableColumn.Top">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.Height">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.Dock">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.Anchor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.PageBreak">
- <summary>
- Gets or sets the page break flag for this column.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableColumn.KeepColumns">
- <summary>
- Gets or sets the number of columns to keep on the same page.
- </summary>
- </member>
- <member name="T:FastReport.Style">
- <summary>
- Represents a style.
- </summary>
- <remarks>
- <para>
- Style class holds border, fill, text fill and font settings. It can be applied to any report object of
- <see cref="T:FastReport.ReportComponentBase"/> type.
- </para>
- <para>
- The <b>Report</b> object holds list of styles in its <see cref="P:FastReport.Report.Styles"/> property. Each style has
- unique name. To apply a style to the report component, set its <see cref="P:FastReport.ReportComponentBase.Style"/>
- property to the style name.
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Style.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Style.Assign(FastReport.StyleBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Style.Clone">
- <summary>
- Creates exact copy of this <b>Style</b>.
- </summary>
- <returns>Copy of this style.</returns>
- </member>
- <member name="M:FastReport.Style.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Style"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Style.Name">
- <summary>
- Gets or sets a name of the style.
- </summary>
- <remarks>
- The name must be unique.
- </remarks>
- </member>
- <member name="T:FastReport.Utils.Crypter">
- <summary>
- Contains methods used to crypt/decrypt a data.
- </summary>
- </member>
- <member name="M:FastReport.Utils.Crypter.Encrypt(System.IO.Stream,System.String)">
- <summary>
- Crypts a stream using specified password.
- </summary>
- <param name="dest">The destination stream that will receive the crypted data.</param>
- <param name="password">The password.</param>
- <returns>The stream that you need to write to.</returns>
- <remarks>
- Pass the stream you need to write to, to the <b>dest</b> parameter. Write your data to the
- stream that this method returns. When you close this stream, the <b>dest</b> stream will be
- closed too and contains the crypted data.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Crypter.Decrypt(System.IO.Stream,System.String)">
- <summary>
- Decrypts a stream using specified password.
- </summary>
- <param name="source">Stream that contains crypted data.</param>
- <param name="password">The password.</param>
- <returns>The stream that contains decrypted data.</returns>
- <remarks>
- You should read from the stream that this method returns.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Crypter.IsStreamEncrypted(System.IO.Stream)">
- <summary>
- Checks if the stream contains a crypt signature.
- </summary>
- <param name="stream">Stream to check.</param>
- <returns><b>true</b> if stream is crypted.</returns>
- </member>
- <member name="M:FastReport.Utils.Crypter.EncryptString(System.String)">
- <summary>
- Encrypts the string using the default password.
- </summary>
- <param name="data">String to encrypt.</param>
- <returns>The encrypted string.</returns>
- <remarks>
- The password used to encrypt a string can be set via <see cref="P:FastReport.Utils.Crypter.DefaultPassword"/> property.
- You also may use the <see cref="M:FastReport.Utils.Crypter.EncryptString(System.String,System.String)"/> method if you want to
- specify another password.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Crypter.EncryptString(System.String,System.String)">
- <summary>
- Encrypts the string using specified password.
- </summary>
- <param name="data">String to encrypt.</param>
- <param name="password">The password.</param>
- <returns>The encrypted string.</returns>
- </member>
- <member name="M:FastReport.Utils.Crypter.DecryptString(System.String)">
- <summary>
- Decrypts the string using the default password.
- </summary>
- <param name="data">String to decrypt.</param>
- <returns>The decrypted string.</returns>
- <remarks>
- The password used to decrypt a string can be set via <see cref="P:FastReport.Utils.Crypter.DefaultPassword"/> property.
- You also may use the <see cref="M:FastReport.Utils.Crypter.DecryptString(System.String,System.String)"/> method if you want to
- specify another password.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Crypter.DecryptString(System.String,System.String)">
- <summary>
- Decrypts the string using specified password.
- </summary>
- <param name="data">String to decrypt.</param>
- <param name="password">The password.</param>
- <returns>The decrypted string.</returns>
- </member>
- <member name="P:FastReport.Utils.Crypter.DefaultPassword">
- <summary>
- Sets the password that is used to crypt connection strings stored in a report.
- </summary>
- <remarks>
- See the <see cref="P:FastReport.Data.DataConnectionBase.ConnectionString"/> property for more details.
- </remarks>
- </member>
- <member name="T:FastReport.DataHeaderBand">
- <summary>
- This class represents a header of the data band.
- </summary>
- </member>
- <member name="T:FastReport.Sort">
- <summary>
- Represents a sort condition used in the <see cref="P:FastReport.DataBand.Sort"/>.
- </summary>
- </member>
- <member name="M:FastReport.Sort.Serialize(FastReport.Utils.FRWriter)">
- <summary>
- Serializes the class.
- </summary>
- <param name="writer">Writer object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Sort.Deserialize(FastReport.Utils.FRReader)">
- <summary>
- Deserializes the class.
- </summary>
- <param name="reader">Reader object.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Sort.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Sort"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Sort.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Sort"/> class with specified expression.
- </summary>
- </member>
- <member name="M:FastReport.Sort.#ctor(System.String,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Sort"/> class with specified expression and sort order.
- </summary>
- </member>
- <member name="P:FastReport.Sort.Expression">
- <summary>
- Gets or sets an expression used to sort data band rows.
- </summary>
- <remarks>
- This property can contain any valid expression.
- </remarks>
- </member>
- <member name="P:FastReport.Sort.Descending">
- <summary>
- Gets or sets a value indicating that sort must be performed in descending order.
- </summary>
- </member>
- <member name="F:FastReport.Forms.PictureEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PictureEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PictureEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Utils.DuplicateNameException">
- <summary>
- The exception that is thrown when the user tried to set object's name that is already exists.
- </summary>
- </member>
- <member name="T:FastReport.Utils.AncestorException">
- <summary>
- The exception that is thrown when the user tried to rename an object that is introduced in the ancestor report.
- </summary>
- </member>
- <member name="T:FastReport.Utils.FileFormatException">
- <summary>
- The exception that is thrown when loading bad formed xml report file.
- </summary>
- </member>
- <member name="T:FastReport.Utils.DecryptException">
- <summary>
- The exception that is thrown when loading an encrypted report with wrong password.
- </summary>
- </member>
- <member name="T:FastReport.Utils.CompilerException">
- <summary>
- The exception that is thrown if there is an error in the report's script code.
- </summary>
- </member>
- <member name="T:FastReport.Utils.ParentException">
- <summary>
- The exception that is thrown when trying to set an object's <b>Parent</b> property to
- an object that not accepts children of this type.
- </summary>
- </member>
- <member name="T:FastReport.Utils.ClassException">
- <summary>
- The exception that is thrown when trying to load a report file that contains reference to an
- unknown object type.
- </summary>
- </member>
- <member name="T:FastReport.Utils.DataTableException">
- <summary>
- The exception that is thrown when initializing a table datasource which
- <b>TableName</b> or <b>Alias</b> is not set properly.
- </summary>
- </member>
- <member name="T:FastReport.Utils.DataNotInitializedException">
- <summary>
- The exception that is thrown when trying to access a row of a datasource that is not initialized yet.
- </summary>
- </member>
- <member name="T:FastReport.Utils.TableManualBuildException">
- <summary>
- The exception that is thrown if an error occurs in the <b>TableObject.ManualBuild</b> event.
- </summary>
- </member>
- <member name="T:FastReport.Utils.MatrixValueException">
- <summary>
- The exception that is thrown if an error occurs in the <b>MatrixObject.ManualBuild</b> event.
- </summary>
- </member>
- <member name="T:FastReport.Utils.NotValidIdentifierException">
- <summary>
- The exception that is thrown if an error occurs in the <b>MatrixObject.ManualBuild</b> event.
- </summary>
- </member>
- <member name="T:FastReport.FastQueryBuilder.Field">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="M:FastReport.FastQueryBuilder.Field.ToString">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Field.Name">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Field.Alias">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Field.Filter">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Field.Group">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Field.Order">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Field.Func">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="T:FastReport.FastQueryBuilder.Link">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Link.Editor">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Link.Delete">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="P:FastReport.FastQueryBuilder.Link.Name">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixHeaderDescriptor">
- <summary>
- The descriptor that is used to describe one element of the matrix header.
- </summary>
- <remarks>
- The <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> class is used to define one header element of the matrix
- (either the column element or row element). The key properties are
- <see cref="P:FastReport.Matrix.MatrixDescriptor.Expression"/>, <see cref="P:FastReport.Matrix.MatrixHeaderDescriptor.Sort"/> and <see cref="P:FastReport.Matrix.MatrixHeaderDescriptor.Totals"/>.
- <para/>To set visual appearance of the element, use the <see cref="P:FastReport.Matrix.MatrixDescriptor.TemplateCell"/>
- property. To set visual appearance of the "total" element, use the <see cref="P:FastReport.Matrix.MatrixHeaderDescriptor.TemplateTotalCell"/>
- property.
- <para/>The collection of descriptors used to represent the matrix header is stored
- in the <b>MatrixObject.Data.Columns</b> and <b>MatrixObject.Data.Rows</b> properties.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeaderDescriptor.Assign(FastReport.Matrix.MatrixDescriptor)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeaderDescriptor.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeaderDescriptor.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> class with
- default settings.
- </summary>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeaderDescriptor.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> class with
- specified expression.
- </summary>
- <param name="expression">The descriptor's expression.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeaderDescriptor.#ctor(System.String,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> class with
- specified expression and totals.
- </summary>
- <param name="expression">The descriptor's expression.</param>
- <param name="totals">Indicates whether to show the "total" element.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixHeaderDescriptor.#ctor(System.String,FastReport.SortOrder,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> class with
- specified expression, sort order and totals.
- </summary>
- <param name="expression">The descriptor's expression.</param>
- <param name="sort">Sort order used to sort header values.</param>
- <param name="totals">Indicates whether to show the "total" element.</param>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.Sort">
- <summary>
- Gets or sets the sort order of header values.
- </summary>
- <remarks>
- This property determines how the values displayed in this element are sorted. The default sort
- is ascending.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.Totals">
- <summary>
- Gets or sets a value indicating that this element has associated "total" element.
- </summary>
- <remarks>
- To access the matrix cell that is bound to the "Total" element, use the
- <see cref="P:FastReport.Matrix.MatrixHeaderDescriptor.TemplateTotalCell"/> property. It may be useful to change the
- "Total" text by something else.
- </remarks>
- <example>This example shows how to change the "Total" text of the total element.
- <code>
- MatrixObject matrix;
- matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total";
- </code>
- </example>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.TotalsFirst">
- <summary>
- Gets or sets the value indicating whether the total values must be printed before the data.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.PageBreak">
- <summary>
- Gets or sets a value indicating that the page break must be printed before this element.
- </summary>
- <remarks>
- Page break is not printed before the very first element.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.SuppressTotals">
- <summary>
- Gets or sets a value that determines whether it is necessary to suppress totals
- if there is only one value in a group.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.TemplateTotalColumn">
- <summary>
- Gets or sets the template column bound to the "total" element of this descriptor.
- </summary>
- <remarks>
- This property is for internal use; usually you don't need to use it.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.TemplateTotalRow">
- <summary>
- Gets or sets the template row bound to the "total" element of this descriptor.
- </summary>
- <remarks>
- This property is for internal use; usually you don't need to use it.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixHeaderDescriptor.TemplateTotalCell">
- <summary>
- Gets or sets the template cell bound to the "total" element of this descriptor.
- </summary>
- <remarks>
- This property may be useful to change the "Total" text by something else.
- <note>
- Before using this property, you must initialize the matrix descriptors by
- calling the <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/> method.
- </note>
- </remarks>
- <example>This example shows how to change the "Total" element.
- <code>
- MatrixObject matrix;
- matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total";
- matrix.Data.Rows[0].TemplateTotalCell.Fill = new SolidFill(Color.Green);
- </code>
- </example>
- </member>
- <member name="F:FastReport.Forms.PreviewPageSetupForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PreviewPageSetupForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PreviewPageSetupForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Map.ShapePolyLine">
- <summary>
- Represents a line shape.
- </summary>
- </member>
- <member name="T:FastReport.Map.ShapePolygon">
- <summary>
- Represents a polygon shape.
- </summary>
- </member>
- <member name="F:FastReport.Map.ShapePolygon.largestBoundsRect">
- <summary>
- Holds the largest bounding rectangle of this shape.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.DrawLabel(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.HitTest(System.Drawing.PointF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.Simplify(System.Double)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.FinalizeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolygon.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapePolygon"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapePolygon.Box">
- <summary>
- Gets or sets a bounding box of this shape.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapePolygon.Parts">
- <summary>
- Gets or sets a list of polygons in this shape.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapePolygon.ShapeData">
- <summary>
- Gets or sets the shape data in binary format.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapePolyLine.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolyLine.DrawLabel(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolyLine.HitTest(System.Drawing.PointF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePolyLine.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapePolyLine"/> class.
- </summary>
- </member>
- <member name="T:FastReport.Map.LayerType">
- <summary>
- Specifies the type of objects that layer contains.
- </summary>
- </member>
- <member name="F:FastReport.Map.LayerType.Point">
- <summary>
- The layer contains points.
- </summary>
- </member>
- <member name="F:FastReport.Map.LayerType.Line">
- <summary>
- The layer contains lines.
- </summary>
- </member>
- <member name="F:FastReport.Map.LayerType.Polygon">
- <summary>
- The layer contains polygons.
- </summary>
- </member>
- <member name="T:FastReport.Map.SpatialSource">
- <summary>
- Specifies the spatial source for the layer.
- </summary>
- </member>
- <member name="F:FastReport.Map.SpatialSource.ShpFile">
- <summary>
- Source is ESRI shapefile.
- </summary>
- </member>
- <member name="F:FastReport.Map.SpatialSource.ApplicationData">
- <summary>
- Source is a latitude/longitude/name provided by an application.
- </summary>
- </member>
- <member name="T:FastReport.Map.MapLabelKind">
- <summary>
- Determines how map labels are displayed.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapLabelKind.None">
- <summary>
- No label displayed.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapLabelKind.Name">
- <summary>
- The shape name is displayed.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapLabelKind.Value">
- <summary>
- The value is displayed.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapLabelKind.NameAndValue">
- <summary>
- Both name and value displayed.
- </summary>
- </member>
- <member name="T:FastReport.Map.MapLayer">
- <summary>
- Represents a map layer.
- </summary>
- </member>
- <member name="M:FastReport.Map.MapLayer.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.Draw(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the layer.
- </summary>
- <param name="e">The drawing parameters.</param>
- </member>
- <member name="M:FastReport.Map.MapLayer.HitTest(System.Drawing.PointF)">
- <summary>
- Finds the shape under cursor.
- </summary>
- <param name="point">The cursor coordinates.</param>
- <returns>The <b>ShapeBase</b> object if found.</returns>
- </member>
- <member name="M:FastReport.Map.MapLayer.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.CreateUniqueNames">
- <summary>
- Creates unique names for all contained objects such as points, lines, polygons, etc.
- </summary>
- </member>
- <member name="M:FastReport.Map.MapLayer.Simplify(System.Double)">
- <summary>
- Reduces the number of points in the shapes in this layer.
- </summary>
- <param name="accuracy">The accuracy value.</param>
- </member>
- <member name="M:FastReport.Map.MapLayer.LoadShapefile(System.String)">
- <summary>
- Loads the layer contents from ESRI shapefile (*.shp/*.dbf).
- </summary>
- <param name="fileName">The file name.</param>
- </member>
- <member name="M:FastReport.Map.MapLayer.OnAfterLoad">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.AddValue(System.Double,System.Double,System.String,System.Double)">
- <summary>
- Adds application provided data.
- </summary>
- <param name="latitude">Latitude value.</param>
- <param name="longitude">Longitude value.</param>
- <param name="name">The name displayed as a label.</param>
- <param name="analyticalValue">Analytical value.</param>
- <remarks>
- Use this method if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ApplicationData</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Map.MapLayer.AddValue(System.String,System.Double)">
- <summary>
- Adds a spatial/analytical value pair to the list.
- </summary>
- <param name="spatialValue">The spatial value.</param>
- <param name="analyticalValue">The analytical value.</param>
- <remarks>
- Use this method if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ShpFile</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetProperties">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetProperties(System.Attribute[])">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetClassName">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetAttributes">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetComponentName">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetConverter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetDefaultEvent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetDefaultProperty">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetEditor(System.Type)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetEvents(System.Attribute[])">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.GetPropertyOwner(System.ComponentModel.PropertyDescriptor)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapLayer.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.MapLayer"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Type">
- <summary>
- Gets or sets a type of layer.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.SpatialSource">
- <summary>
- Gets or sets the spatial source for the layer.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Shapefile">
- <summary>
- Gets or sets the name of ESRI shapefile.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.DataSource">
- <summary>
- Gets or sets the data source.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Filter">
- <summary>
- Gets or sets the datasource filter expression.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.SpatialColumn">
- <summary>
- Gets or sets spatial column name.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ShpFile</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Map.MapLayer.SpatialValue">
- <summary>
- Gets or sets an expression that returns spatial value.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ShpFile</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Map.MapLayer.LatitudeValue">
- <summary>
- Gets or sets an expression that returns latitude value.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ApplicationData</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Map.MapLayer.LongitudeValue">
- <summary>
- Gets or sets an expression that returns longitude value.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ApplicationData</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Map.MapLayer.LabelValue">
- <summary>
- Gets or sets an expression that returns label value.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.Map.MapLayer.SpatialSource"/> is set to <b>ApplicationData</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Map.MapLayer.AnalyticalValue">
- <summary>
- Gets or sets an expression that returns analytical value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.LabelColumn">
- <summary>
- Gets or sets label's column name.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.LabelKind">
- <summary>
- Gets or sets a value that determines how map labels are displayed.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.LabelFormat">
- <summary>
- Gets or sets the format of label's value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Accuracy">
- <summary>
- Gets or sets the map accuracy. Lower value is better, but slower.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.LabelsVisibleAtZoom">
- <summary>
- Gets or sets the value that determines the labels visiblity at a certain zoom value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Function">
- <summary>
- Gets or sets the aggregate function.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Visible">
- <summary>
- Gets or sets a value indicating that the layer is visible.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Box">
- <summary>
- Gets or sets a bounding box of layer.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Shapes">
- <summary>
- Gets a collection of map objects.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.DefaultShapeStyle">
- <summary>
- Gets the default style of shapes in this layer.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Palette">
- <summary>
- Gets or sets the palette used to highlight shapes.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.ColorRanges">
- <summary>
- Gets the color ranges used to highlight shapes based on analytical value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.SizeRanges">
- <summary>
- Gets the size ranges used to draw points based on analytical value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.ZoomPolygon">
- <summary>
- Gets or sets the expression that returns the name of polygon to zoom.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.BoxAsString">
- <summary>
- Gets or sets the bounding box as a string.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapLayer.Map">
- <summary>
- Gets a reference to the Map object.
- </summary>
- </member>
- <member name="T:FastReport.Export.Dbf.Record">
- <summary>
- Represents the record.
- </summary>
- </member>
- <member name="M:FastReport.Export.Dbf.Record.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Dbf.Record"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Export.Dbf.Record.Add(System.Text.StringBuilder)">
- <summary>
- Adds the new item into a list of fields.
- </summary>
- </member>
- <member name="M:FastReport.Export.Dbf.Record.Clear">
- <summary>
- Clears the list of fields.
- </summary>
- </member>
- <member name="P:FastReport.Export.Dbf.Record.Item(System.Int32)">
- <summary>
- Gets or sets the field with a specified index.
- </summary>
- </member>
- <member name="P:FastReport.Export.Dbf.Record.Count">
- <summary>
- Gets the count of a fields.
- </summary>
- </member>
- <member name="P:FastReport.Export.Dbf.Record.Size">
- <summary>
- Gets the size of a fields.
- </summary>
- </member>
- <member name="T:FastReport.Design.ExportPlugins.RDL.UnitsConverter">
- <summary>
- The FR units converter.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.PixelsToMillimeters(System.Single)">
- <summary>
- Converts the float size in pixels to string value in millimeters.
- </summary>
- <param name="pixels">The float value in pixels.</param>
- <returns>The string value in millimeters.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.MillimetersToString(System.Single)">
- <summary>
- Converts the float size in millimeters to string value in millimeters.
- </summary>
- <param name="millimeters">The float value in millimeters.</param>
- <returns>The string value in millimeters.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertBool(System.Boolean)">
- <summary>
- Converts the bool value to string.
- </summary>
- <param name="value">The bool value.</param>
- <returns>The string value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertPixels(System.Int32)">
- <summary>
- Converts the int size in pixels to string value in pt.
- </summary>
- <param name="pixels">The int value in pixels.</param>
- <returns>The string value in pt.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertColor(System.Drawing.Color)">
- <summary>
- Converts the Color value to string.
- </summary>
- <param name="color">The Color value.</param>
- <returns>The string representation of Color value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertLineStyle(FastReport.LineStyle)">
- <summary>
- Converts the LineStyle value to RDL BorderStyle value.
- </summary>
- <param name="ls">The LineStyle value.</param>
- <returns>The string with RDL BorderStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertGradientStyle(System.Windows.Forms.DataVisualization.Charting.GradientStyle)">
- <summary>
- Converts the GradientStyle value to RDL GradientType value.
- </summary>
- <param name="gs">The GradientStyle value.</param>
- <returns>The string with RDL GradientType value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertFontStyle(System.Drawing.FontStyle)">
- <summary>
- Converts the FontStyle value to RDL FontStyle value.
- </summary>
- <param name="fs">The FontStyle value.</param>
- <returns>The string with RDL FontStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertFontFamily(System.Drawing.FontFamily)">
- <summary>
- Converts the FontFamily value to RDL FontFamily value.
- </summary>
- <param name="ff">The FontFamily value.</param>
- <returns>The string with RDL FontFamily value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertHorzAlign(FastReport.HorzAlign)">
- <summary>
- Converts the HorzAlign value to RDL TextAlign value.
- </summary>
- <param name="ha">The HorzAlign value.</param>
- <returns>The string with RDL TextAling value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertVertAlign(FastReport.VertAlign)">
- <summary>
- Converts the VertAling value to RDL VerticalAling value.
- </summary>
- <param name="va">The VertAling value.</param>
- <returns>The string with RDL VerticalAlign value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertAngleToWritingMode(System.Int32)">
- <summary>
- Converts the Angle value to RDL WritingMode value.
- </summary>
- <param name="angle">The Angle value.</param>
- <returns>The string with RDL WritingMode value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertFontSize(System.Single)">
- <summary>
- Converts the FontSize value to RDL FontSize value.
- </summary>
- <param name="fs">The FontSize value.</param>
- <returns>The string with RDL FontSize value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertSizeMode(System.Windows.Forms.PictureBoxSizeMode)">
- <summary>
- Converts the PictureBoxSizeMode value to RDL Sizing value.
- </summary>
- <param name="sm">The PictureBoxSizeMode value.</param>
- <returns>The string with RDL Sizing value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertChartType(System.Windows.Forms.DataVisualization.Charting.SeriesChartType)">
- <summary>
- Converts the SeriesChartType value to RDL Chart.Type value.
- </summary>
- <param name="type">The SeriesChartType value.</param>
- <returns>The string with RDL Chart.Type value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertChartPalette(System.Windows.Forms.DataVisualization.Charting.ChartColorPalette)">
- <summary>
- Converts the ChartColorPalette value to RDL Chart.Palette value.
- </summary>
- <param name="palette">The ChartColorPalette value.</param>
- <returns>The string with RDL Chart.Palette value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertLegendDockingAndAlignment(System.Windows.Forms.DataVisualization.Charting.Docking,System.Drawing.StringAlignment)">
- <summary>
- Converts the Legend.Docking and Legend.Alignment values to RDL Chart.Legend.Position value.
- </summary>
- <param name="docking">The Legend.Docking value.</param>
- <param name="alignment">The Legend.Alignment value.</param>
- <returns>The string with RDL Chart.Legend.Position value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertLegendStyle(System.Windows.Forms.DataVisualization.Charting.LegendStyle)">
- <summary>
- Converts the LegendStyle value to Chart.Legend.Layout value.
- </summary>
- <param name="ls">The LegendStyle value.</param>
- <returns>The string with RDL Chart.Legend.Layout value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertLightStyle(System.Windows.Forms.DataVisualization.Charting.LightStyle)">
- <summary>
- Converts the LightStyle value to RDL Shading value.
- </summary>
- <param name="ls">The LightStyle value.</param>
- <returns>The string with RDL Shading value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertChartDashStyle(System.Windows.Forms.DataVisualization.Charting.ChartDashStyle)">
- <summary>
- Converts the ChartDashStyle value to RDL BorderStyle value.
- </summary>
- <param name="cds">The ChartDashStyle value.</param>
- <returns>The string with RDL ChartDahsStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ContentAlignmentToTextAlign(System.Drawing.ContentAlignment)">
- <summary>
- Converts the ContentAlignment value to RDL TextAlign value.
- </summary>
- <param name="ca">The ContentAlignment value.</param>
- <returns>The string with RDL TextAlign value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ContentAlignmentToVerticalAlign(System.Drawing.ContentAlignment)">
- <summary>
- Converts the ContentAlignment value to RDL VerticalAlign value.
- </summary>
- <param name="ca">The ContentAlignment value.</param>
- <returns>The string with RDL VerticalAlign value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertAxisEnabled(System.Windows.Forms.DataVisualization.Charting.AxisEnabled)">
- <summary>
- Converts the AxisEnabled value to RDL Axis.Visible value.
- </summary>
- <param name="ae">The AxisEnabled value.</param>
- <returns>The string with RDL Axis.Visible value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertTickMarkStyle(System.Windows.Forms.DataVisualization.Charting.TickMarkStyle)">
- <summary>
- Converts the TickMarkStyle value to RDL TickMarkStyle value.
- </summary>
- <param name="style">The TickMarkStyle value.</param>
- <returns>The string with RDL TickMarkStyle value.</returns>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.UnitsConverter.ConvertStringAlignment(System.Drawing.StringAlignment)">
- <summary>
- Converts the StringAlignment value to RDL TextAlign value.
- </summary>
- <param name="sa">The StringAlignment value.</param>
- <returns>The string with RDL TextAlign value.</returns>
- </member>
- <member name="T:FastReport.Wizards.NewDialogWizard">
- <summary>
- Represents the "New Dialog" wizard.
- </summary>
- </member>
- <member name="M:FastReport.Wizards.NewDialogWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Language">
- <summary>
- Specifies the language of the report's script.
- </summary>
- </member>
- <member name="F:FastReport.Language.CSharp">
- <summary>
- The C# language.
- </summary>
- </member>
- <member name="F:FastReport.Language.Vb">
- <summary>
- The VisualBasic.Net language.
- </summary>
- </member>
- <member name="T:FastReport.TextQuality">
- <summary>
- Specifies the quality of text rendering.
- </summary>
- </member>
- <member name="F:FastReport.TextQuality.Default">
- <summary>
- The default text quality, depends on system settings.
- </summary>
- </member>
- <member name="F:FastReport.TextQuality.Regular">
- <summary>
- The regular quality.
- </summary>
- </member>
- <member name="F:FastReport.TextQuality.ClearType">
- <summary>
- The "ClearType" quality.
- </summary>
- </member>
- <member name="F:FastReport.TextQuality.AntiAlias">
- <summary>
- The AntiAlias quality. This mode may be used to produce the WYSIWYG text.
- </summary>
- </member>
- <member name="T:FastReport.ReportOperation">
- <summary>
- Specifies the report operation.
- </summary>
- </member>
- <member name="F:FastReport.ReportOperation.None">
- <summary>
- Specifies no operation.
- </summary>
- </member>
- <member name="F:FastReport.ReportOperation.Running">
- <summary>
- The report is running.
- </summary>
- </member>
- <member name="F:FastReport.ReportOperation.Printing">
- <summary>
- The report is printing.
- </summary>
- </member>
- <member name="F:FastReport.ReportOperation.Exporting">
- <summary>
- The report is exporting.
- </summary>
- </member>
- <member name="T:FastReport.Report">
- <summary>
- Represents a report object.
- </summary>
- <remarks>
- <para>The instance of this class contains a report. Here are some common
- actions that can be performed with this object:</para>
- <list type="bullet">
- <item>
- <description>To load a report, use the <see cref="M:FastReport.Report.Load(System.String)"/>
- method or call static <see cref="M:FastReport.Report.FromFile(System.String)"/> method. </description>
- </item>
- <item>
- <description>To save a report, call the <see cref="M:FastReport.Report.Save(System.String)"/> method.</description>
- </item>
- <item>
- <description>To register application dataset for use it in a report, call one of the
- <b>RegisterData</b> methods.</description>
- </item>
- <item>
- <description>To pass some parameter to a report, use the
- <see cref="M:FastReport.Report.SetParameterValue(System.String,System.Object)"/> method.</description>
- </item>
- <item>
- <description>To design a report, call the <see cref="M:FastReport.Report.Design"/> method.</description>
- </item>
- <item>
- <description>To run a report and preview it, call the <see cref="M:FastReport.Report.Show"/> method.
- Another way is to call the <see cref="M:FastReport.Report.Prepare"/> method, then call the
- <see cref="M:FastReport.Report.ShowPrepared"/> method.</description>
- </item>
- <item>
- <description>To run a report and print it, call the <see cref="M:FastReport.Report.Print"/> method.
- Another way is to call the <see cref="M:FastReport.Report.Prepare"/> method, then call the
- <see cref="M:FastReport.Report.PrintPrepared"/> method.</description>
- </item>
- <item>
- <description>To load/save prepared report, use one of the <b>LoadPrepared</b> and
- <b>SavePrepared</b> methods.</description>
- </item>
- <item>
- <description>To set up some global properties, use the <see cref="T:FastReport.Utils.Config"/> static class
- or <see cref="T:FastReport.EnvironmentSettings"/> component that you can use in the Visual Studio IDE.
- </description>
- </item>
- </list>
- <para/>The report consists of one or several report pages (pages of the
- <see cref="T:FastReport.ReportPage"/> type) and/or dialog forms (pages of the <see cref="T:FastReport.Dialog.DialogPage"/> type).
- They are stored in the <see cref="P:FastReport.Report.Pages"/> collection. In turn, each page may contain report
- objects. See the example below how to create a simple report in code.
- </remarks>
- <example>This example shows how to create a report instance, load it from a file,
- register the application data, run and preview.
- <code>
- Report report = new Report();
- report.Load("reportfile.frx");
- report.RegisterData(application_dataset);
- report.Show();
- </code>
- <para/>This example shows how to create simple report in code.
- <code>
- Report report = new Report();
- // create the report page
- ReportPage page = new ReportPage();
- page.Name = "ReportPage1";
- // set paper width and height. Note: these properties are measured in millimeters.
- page.PaperWidth = 210;
- page.PaperHeight = 297;
- // add a page to the report
- report.Pages.Add(page);
- // create report title
- page.ReportTitle = new ReportTitleBand();
- page.ReportTitle.Name = "ReportTitle1";
- page.ReportTitle.Height = Units.Millimeters * 10;
- // create Text object and put it to the title
- TextObject text = new TextObject();
- text.Name = "Text1";
- text.Bounds = new RectangleF(0, 0, Units.Millimeters * 100, Units.Millimeters * 5);
- page.ReportTitle.Objects.Add(text);
- // create data band
- DataBand data = new DataBand();
- data.Name = "Data1";
- data.Height = Units.Millimeters * 10;
- // add data band to a page
- page.Bands.Add(data);
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.DeserializeSubItems(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.BeginInit">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.EndInit">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.InternalInit">
- <summary>
- Initializes the report's fields.
- </summary>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Report.GenerateReportAssembly(System.String)">
- <summary>
- Generates the file (.cs or .vb) that contains the report source code.
- </summary>
- <param name="fileName">Name of the file.</param>
- <remarks>
- Use this method to generate the report source code. This code can be attached to your project.
- In this case, you will need to call the following code to run a report:
- <code>
- SimpleListReport report = new SimpleListReport();
- report.RegisterData(your_dataset);
- report.Show();
- </code>
- </remarks>
- </member>
- <member name="M:FastReport.Report.Calc(System.String)">
- <summary>
- Calculates an expression and returns the result.
- </summary>
- <param name="expression">The expression to calculate.</param>
- <returns>If report is running, returns the result of calculation.
- Otherwise returns <b>null</b>.</returns>
- <remarks>
- <para>The expression may be any valid expression such as "1 + 2". The expression
- is calculated in the report script's <b>ReportScript</b> class instance context,
- so you may refer to any objects available in this context: private fields,
- methods, report objects.</para>
- </remarks>
- </member>
- <member name="M:FastReport.Report.Calc(System.String,FastReport.Variant)">
- <summary>
- Calculates an expression and returns the result.
- </summary>
- <param name="expression">The expression to calculate.</param>
- <param name="value">The value of currently printing object.</param>
- <returns>If report is running, returns the result of calculation.
- Otherwise returns <b>null</b>.</returns>
- <remarks>
- Do not call this method directly. Use the <b>Calc(string expression)</b> method instead.
- </remarks>
- </member>
- <member name="M:FastReport.Report.CalcExpression(System.String,FastReport.Variant)">
- <summary>
- Returns an expression value.
- </summary>
- <param name="expression">The expression.</param>
- <param name="value">The value of currently printing object.</param>
- <returns>Returns the result of calculation.</returns>
- <remarks>
- This method is for internal use only, do not call it directly.
- </remarks>
- </member>
- <member name="M:FastReport.Report.InvokeEvent(System.String,System.Object[])">
- <summary>
- Invokes the script event handler with given name.
- </summary>
- <param name="name">The name of the script method.</param>
- <param name="parms">The method parameters.</param>
- </member>
- <member name="M:FastReport.Report.GetColumnValue(System.String)">
- <summary>
- Gets the data column's value. Automatically converts null value to 0, false or ""
- depending on the column type.
- </summary>
- <param name="complexName">The name of the data column including the datasource name.</param>
- <returns>If report is running, returns the column value. Otherwise returns <b>null</b>.</returns>
- <remarks>
- The return value of this method does not depend on the <see cref="P:FastReport.Report.ConvertNulls"/> property.
- </remarks>
- <example>
- <code>
- string employeeName = (string)report.GetColumnValue("Employees.FirstName");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.GetColumnValueNullable(System.String)">
- <summary>
- Gets the data column's value. This method does not convert null values.
- </summary>
- <param name="complexName">The name of the data column including the datasource name.</param>
- <returns>If report is running, returns the column value.
- Otherwise returns <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Report.GetParameter(System.String)">
- <summary>
- Gets the report parameter with given name.
- </summary>
- <param name="complexName">The name of the parameter.</param>
- <returns>The <see cref="T:FastReport.Data.Parameter"/> object if found, otherwise <b>null</b>.</returns>
- <remarks>
- To find nested parameter, use the "." separator: "MainParameter.NestedParameter"
- </remarks>
- </member>
- <member name="M:FastReport.Report.GetParameterValue(System.String)">
- <summary>
- Gets a value of the parameter with given name.
- </summary>
- <param name="complexName">The name of the parameter.</param>
- <returns>The parameter's value if found, otherwise <b>null</b>.</returns>
- <remarks>
- To find nested parameter, use the "." separator: "MainParameter.NestedParameter"
- </remarks>
- </member>
- <member name="M:FastReport.Report.SetParameterValue(System.String,System.Object)">
- <summary>
- Sets the parameter's value.
- </summary>
- <param name="complexName">The name of the parameter.</param>
- <param name="value">Value to set.</param>
- <remarks>
- Use this method to pass a value to the parameter that you've created in the "Data" window.
- Such parameter may be used everythere in a report; for example, you can print its value
- or use it in expressions.
- <para/>You should call this method <b>after</b> the report was loaded and <b>before</b> you run it.
- <para/>To access a nested parameter, use the "." separator: "MainParameter.NestedParameter"
- <note type="caution">
- This method will create the parameter if it does not exist.
- </note>
- </remarks>
- <example>This example shows how to pass a value to the parameter with "MyParam" name:
- <code>
- // load the report
- report1.Load("report.frx");
- // setup the parameter
- report1.SetParameterValue("MyParam", 10);
- // show the report
- report1.Show();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.GetVariableValue(System.String)">
- <summary>
- Gets a value of the system variable with specified name.
- </summary>
- <param name="complexName">Name of a variable.</param>
- <returns>The variable's value if found, otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Report.GetTotalValue(System.String)">
- <summary>
- Gets a value of the total with specified name.
- </summary>
- <param name="name">Name of total.</param>
- <returns>The total's value if found, otherwise <b>0</b>.</returns>
- <remarks>This method converts null values to 0 if the <see cref="P:FastReport.Report.ConvertNulls"/> property is set to true.
- Use the <see cref="M:FastReport.Report.GetTotalValueNullable(System.String)"/> method if you don't want the null conversion.
- </remarks>
- </member>
- <member name="M:FastReport.Report.GetTotalValueNullable(System.String)">
- <summary>
- Gets a value of the total with specified name.
- </summary>
- <param name="name">Name of total.</param>
- <returns>The total's value if found, otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Report.GetDataSource(System.String)">
- <summary>
- Gets the datasource with specified name.
- </summary>
- <param name="alias">Alias name of a datasource.</param>
- <returns>The datasource object if found, otherwise <b>null</b>.</returns>
- </member>
- <member name="M:FastReport.Report.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.Abort">
- <summary>
- Aborts the report execution.
- </summary>
- </member>
- <member name="M:FastReport.Report.FindObject(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.Clear">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.ApplyStyles">
- <summary>
- Updates the report component's styles.
- </summary>
- <remarks>
- Call this method if you change the <see cref="P:FastReport.Report.Styles"/> collection.
- </remarks>
- </member>
- <member name="M:FastReport.Report.OnStartReport(System.EventArgs)">
- <summary>
- This method fires the <b>StartReport</b> event and the script code connected
- to the <b>StartReportEvent</b>.
- </summary>
- </member>
- <member name="M:FastReport.Report.OnFinishReport(System.EventArgs)">
- <summary>
- This method fires the <b>FinishReport</b> event and the script code connected
- to the <b>FinishReportEvent</b>.
- </summary>
- </member>
- <member name="M:FastReport.Report.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Report.Save(System.IO.Stream)">
- <summary>
- Saves the report to a stream.
- </summary>
- <param name="stream">The stream to save to.</param>
- </member>
- <member name="M:FastReport.Report.Save(System.String)">
- <summary>
- Saves the report to a file.
- </summary>
- <param name="fileName">The name of the file to save to.</param>
- </member>
- <member name="M:FastReport.Report.Load(System.IO.Stream)">
- <summary>
- Loads report from a stream.
- </summary>
- <param name="stream">The stream to load from.</param>
- <remarks>
- When you try to load the password-protected report, you will be asked
- for a password. You also may specify the password in the <see cref="P:FastReport.Report.Password"/>
- property before loading the report. In this case the report will load silently.
- </remarks>
- </member>
- <member name="M:FastReport.Report.Load(System.String)">
- <summary>
- Loads the report from a file.
- </summary>
- <param name="fileName">The name of the file to load from.</param>
- <remarks>
- When you try to load the password-protected report, you will be asked
- for a password. You also may specify the password in the <see cref="P:FastReport.Report.Password"/>
- property before loading the report. In this case the report will load silently.
- </remarks>
- </member>
- <member name="M:FastReport.Report.LoadFromString(System.String)">
- <summary>
- Loads the report from a string.
- </summary>
- <param name="s">The string that contains a stream in UTF8 or Base64 encoding.</param>
- </member>
- <member name="M:FastReport.Report.SaveToString">
- <summary>
- Saves the report to a string.
- </summary>
- <returns>The string that contains a stream.</returns>
- </member>
- <member name="M:FastReport.Report.SaveToStringBase64">
- <summary>
- Saves the report to a string using the Base64 encoding.
- </summary>
- <returns>The string that contains a stream.</returns>
- </member>
- <member name="M:FastReport.Report.FromStream(System.IO.Stream)">
- <summary>
- Creates the report instance and loads the report from a stream.
- </summary>
- <param name="stream">The stream to load from.</param>
- <returns>The new report instance.</returns>
- </member>
- <member name="M:FastReport.Report.FromFile(System.String)">
- <summary>
- Creates the report instance and loads the report from a file.
- </summary>
- <param name="fileName">The name of the file to load from.</param>
- <returns>The new report instance.</returns>
- </member>
- <member name="M:FastReport.Report.FromString(System.String)">
- <summary>
- Creates the report instance and loads the report from a string.
- </summary>
- <param name="utf8String">The string that contains a stream in UTF8 encoding.</param>
- <returns>The new report instance.</returns>
- </member>
- <member name="M:FastReport.Report.Design">
- <summary>
- Runs the report designer.
- </summary>
- <returns><b>true</b> if report was modified, otherwise <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Report.Design(System.Boolean)">
- <summary>
- Runs the report designer.
- </summary>
- <param name="modal">A value indicates whether the designer should run modally.</param>
- <returns><b>true</b> if report was modified, otherwise <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Report.Design(System.Windows.Forms.Form)">
- <summary>
- Runs the report designer.
- </summary>
- <param name="mdiParent">The main MDI form which will be a parent for the designer.</param>
- <returns><b>true</b> if report was modified, otherwise <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Data.DataSet)">
- <summary>
- Registers the application dataset with all its tables and relations to use it in the report.
- </summary>
- <param name="data">The application data.</param>
- <remarks>
- If you register more than one dataset, use the <see cref="M:FastReport.Report.RegisterData(System.Data.DataSet,System.String)"/> method.
- </remarks>
- <example>
- <code>
- report1.Load("report.frx");
- report1.RegisterData(dataSet1);
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Data.DataSet,System.String)">
- <summary>
- Registers the application dataset with specified name.
- </summary>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- <remarks>
- Use this method if you register more than one dataset. You may specify any value
- for the <b>name</b> parameter: it is not displayed anywhere in the designer and used only
- to load/save a report. The name must be persistent and unique for each registered dataset.
- </remarks>
- <example>
- <code>
- report1.Load("report.frx");
- report1.RegisterData(dataSet1, "NorthWind");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Data.DataTable,System.String)">
- <summary>
- Registers the application data table to use it in the report.
- </summary>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- <example>
- <code>
- report1.Load("report.frx");
- report1.RegisterData(dataSet1.Tables["Orders"], "Orders");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Data.DataView,System.String)">
- <summary>
- Registers the application data view to use it in the report.
- </summary>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- <example>
- <code>
- report1.Load("report.frx");
- report1.RegisterData(myDataView, "OrdersView");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Data.DataRelation,System.String)">
- <summary>
- Registers the application data relation to use it in the report.
- </summary>
- <param name="data">The application data.</param>
- <param name="name">The name of the data.</param>
- <remarks>
- You may specify any value for the <b>name</b> parameter: it is not displayed anywhere
- in the designer and used only to load/save a report. The name must be persistent
- and unique for each registered relation.
- </remarks>
- <example>
- <code>
- report1.Load("report.frx");
- report1.RegisterData(myDataRelation, "myRelation");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Collections.IEnumerable,System.String,FastReport.Data.BOConverterFlags,System.Int32)">
- <summary>
- <b>Obsolete</b>. Registers the application business object to use it in the report.
- </summary>
- <param name="data">Application data.</param>
- <param name="name">Name of the data.</param>
- <param name="flags">Not used.</param>
- <param name="maxNestingLevel">Maximum nesting level of business objects.</param>
- <remarks>
- This method is obsolete. Use the <see cref="M:FastReport.Report.RegisterData(System.Collections.IEnumerable,System.String)"/> method instead.
- </remarks>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Collections.IEnumerable,System.String)">
- <summary>
- Registers the application business object to use it in the report.
- </summary>
- <param name="data">Application data.</param>
- <param name="name">Name of the data.</param>
- <example>
- <code>
- report1.Load("report.frx");
- report1.RegisterData(myBusinessObject, "Customers");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.RegisterData(System.Collections.IEnumerable,System.String,System.Int32)">
- <summary>
- Registers the application business object to use it in the report.
- </summary>
- <param name="data">Application data.</param>
- <param name="name">Name of the data.</param>
- <param name="maxNestingLevel">Maximum nesting level of business objects.</param>
- <remarks>
- This method creates initial datasource with specified nesting level. It is useful if
- you create a report in code. In most cases, you don't need to specify the nesting level
- because it may be selected in the designer's "Choose Report Data" dialog.
- </remarks>
- </member>
- <member name="M:FastReport.Report.Prepare">
- <summary>
- Prepares the report.
- </summary>
- <returns><b>true</b> if report was prepared succesfully.</returns>
- </member>
- <member name="M:FastReport.Report.Prepare(System.Boolean)">
- <summary>
- Prepares the report.
- </summary>
- <param name="append">Specifies whether the new report should be added to a
- report that was prepared before.</param>
- <returns><b>true</b> if report was prepared succesfully.</returns>
- <remarks>
- Use this method to merge prepared reports.
- </remarks>
- <example>This example shows how to merge two reports and preview the result:
- <code>
- Report report = new Report();
- report.Load("report1.frx");
- report.Prepare();
- report.Load("report2.frx");
- report.Prepare(true);
- report.ShowPrepared();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.PreparePhase1">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="M:FastReport.Report.PreparePhase2">
- <summary>
- For internal use only.
- </summary>
- </member>
- <member name="M:FastReport.Report.Refresh">
- <summary>
- Refresh the current report.
- </summary>
- <remarks>
- Call this method in the Click or MouseUp event handler of a report object to refresh
- the currently previewed report. Report will be generated again, but without dialog forms.
- </remarks>
- </member>
- <member name="M:FastReport.Report.Show">
- <summary>
- Prepares the report and shows it in the preview window.
- </summary>
- </member>
- <member name="M:FastReport.Report.Show(System.Boolean)">
- <summary>
- Prepares the report and shows it in the preview window.
- </summary>
- <param name="modal">A value that specifies whether the preview window should be modal.</param>
- </member>
- <member name="M:FastReport.Report.Show(System.Boolean,System.Windows.Forms.IWin32Window)">
- <summary>
- Prepares the report and shows it in the preview window.
- </summary>
- <param name="modal">A value that specifies whether the preview window should be modal.</param>
- <param name="owner">The owner of the preview window.</param>
- </member>
- <member name="M:FastReport.Report.Show(System.Windows.Forms.Form)">
- <summary>
- Prepares the report and shows it in the preview window.
- </summary>
- <param name="mdiParent">The main MDI form which will be a parent for the preview window.</param>
- </member>
- <member name="M:FastReport.Report.Print">
- <summary>
- Prepares the report and prints it.
- </summary>
- </member>
- <member name="M:FastReport.Report.ShowPrepared">
- <summary>
- Previews the report. The report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- </member>
- <member name="M:FastReport.Report.ShowPrepared(System.Boolean)">
- <summary>
- Previews the prepared report.
- </summary>
- <param name="modal">A value that specifies whether the preview window should be modal.</param>
- </member>
- <member name="M:FastReport.Report.ShowPrepared(System.Boolean,System.Windows.Forms.IWin32Window)">
- <summary>
- Previews the prepared report.
- </summary>
- <param name="modal">A value that specifies whether the preview window should be modal.</param>
- <param name="owner">The owner of the preview window.</param>
- </member>
- <member name="M:FastReport.Report.ShowPrepared(System.Windows.Forms.Form)">
- <summary>
- Previews the prepared report.
- </summary>
- <param name="mdiParent">The main MDI form which will be a parent for the preview window.</param>
- </member>
- <member name="M:FastReport.Report.PrintPrepared">
- <summary>
- Prints the report with the "Print" dialog.
- Report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- </member>
- <member name="M:FastReport.Report.PrintPrepared(System.Drawing.Printing.PrinterSettings)">
- <summary>
- Prints the report without the "Print" dialog.
- Report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- <param name="printerSettings">Printer-specific settings.</param>
- <example>
- Use the following code if you want to show the "Print" dialog, then print:
- <code>
- if (report.Prepare())
- {
- PrinterSettings printerSettings = null;
- if (report.ShowPrintDialog(out printerSettings))
- {
- report.PrintPrepared(printerSettings);
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.ShowPrintDialog(System.Drawing.Printing.PrinterSettings@)">
- <summary>
- Shows the "Print" dialog.
- </summary>
- <param name="printerSettings">Printer-specific settings.</param>
- <returns><b>true</b> if the dialog was closed by "Print" button.</returns>
- <example>
- Use the following code if you want to show the "Print" dialog, then print:
- <code>
- if (report.Prepare())
- {
- PrinterSettings printerSettings = null;
- if (report.ShowPrintDialog(out printerSettings))
- {
- report.PrintPrepared(printerSettings);
- }
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.Report.Export(FastReport.Export.ExportBase,System.IO.Stream)">
- <summary>
- Exports a report. Report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- <param name="export">The export filter.</param>
- <param name="stream">Stream to save export result to.</param>
- </member>
- <member name="M:FastReport.Report.Export(FastReport.Export.ExportBase,System.String)">
- <summary>
- Exports a report. Report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- <param name="export">The export filter.</param>
- <param name="fileName">File name to save export result to.</param>
- </member>
- <member name="M:FastReport.Report.SavePrepared(System.String)">
- <summary>
- Saves the prepared report. Report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- <param name="fileName">File name to save to.</param>
- </member>
- <member name="M:FastReport.Report.SavePrepared(System.IO.Stream)">
- <summary>
- Saves the prepared report. Report should be prepared using the <see cref="M:FastReport.Report.Prepare"/> method.
- </summary>
- <param name="stream">Stream to save to.</param>
- </member>
- <member name="M:FastReport.Report.LoadPrepared(System.String)">
- <summary>
- Loads the prepared report from a .fpx file.
- </summary>
- <param name="fileName">File name to load form.</param>
- </member>
- <member name="M:FastReport.Report.LoadPrepared(System.IO.Stream)">
- <summary>
- Loads the prepared report from a .fpx file.
- </summary>
- <param name="stream">Stream to load from.</param>
- </member>
- <member name="M:FastReport.Report.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Report"/> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Report.LoadBaseReport">
- <summary>
- Occurs when report is inherited and trying to load a base report.
- </summary>
- <remarks>
- Typical use of this event is to load the base report from a database instead of a file.
- </remarks>
- </member>
- <member name="E:FastReport.Report.StartReport">
- <summary>
- Occurs when report execution is started.
- </summary>
- </member>
- <member name="E:FastReport.Report.FinishReport">
- <summary>
- Occurs when report execution is finished.
- </summary>
- </member>
- <member name="P:FastReport.Report.Pages">
- <summary>
- Gets the pages contained in this report.
- </summary>
- <remarks>
- This property contains pages of all types (report and dialog). Use the <b>is/as</b> operators
- if you want to work with pages of <b>ReportPage</b> type.
- </remarks>
- <example>The following code demonstrates how to access the first report page:
- <code>
- ReportPage page1 = report1.Pages[0] as ReportPage;
- </code>
- </example>
- </member>
- <member name="P:FastReport.Report.Dictionary">
- <summary>
- Gets the report's data.
- </summary>
- <remarks>
- The dictionary contains all data items such as connections, data sources, parameters,
- system variables.
- </remarks>
- </member>
- <member name="P:FastReport.Report.Parameters">
- <summary>
- Gets the collection of report parameters.
- </summary>
- <remarks>
- <para>Parameters are displayed in the "Data" window under the "Parameters" node.</para>
- <para>Typical use of parameters is to pass some static data from the application to the report.
- You can print such data, use it in the data row filter, script etc. </para>
- <para>Another way to use parameters is to define some reusable piece of code, for example,
- to define an expression that will return the concatenation of first and second employee name.
- In this case, you set the parameter's <b>Expression</b> property to something like this:
- [Employees.FirstName] + " " + [Employees.LastName]. Now this parameter may be used in the report
- to print full employee name. Each time you access such parameter, it will calculate the expression
- and return its value. </para>
- <para>You can create nested parameters. To do this, add the new <b>Parameter</b> to the
- <b>Parameters</b> collection of the root parameter. To access the nested parameter, you may use the
- <see cref="M:FastReport.Report.GetParameter(System.String)"/> method.</para>
- <para>To get or set the parameter's value, use the <see cref="M:FastReport.Report.GetParameterValue(System.String)"/> and
- <see cref="M:FastReport.Report.SetParameterValue(System.String,System.Object)"/> methods. To set the parameter's expression, use the
- <see cref="M:FastReport.Report.GetParameter(System.String)"/> method that returns a <b>Parameter</b> object and set its
- <b>Expression</b> property.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Report.ReportInfo">
- <summary>
- Gets or sets the report information such as report name, author, description etc.
- </summary>
- </member>
- <member name="P:FastReport.Report.BaseReport">
- <summary>
- Gets or sets the base report file name.
- </summary>
- <remarks>
- This property contains the name of a report file this report is inherited from.
- <b>Note:</b> setting this property to non-empty value will clear the report and
- load the base file into it.
- </remarks>
- </member>
- <member name="P:FastReport.Report.FileName">
- <summary>
- Gets or sets the name of a file the report was loaded from.
- </summary>
- <remarks>
- This property is used to support the FastReport.Net infrastructure;
- typically you don't need to use it.
- </remarks>
- </member>
- <member name="P:FastReport.Report.ScriptText">
- <summary>
- Gets or sets the report script.
- </summary>
- <remarks>
- <para>The script contains the <b>ReportScript</b> class that contains all report objects'
- event handlers and own items such as private fields, properties, methods etc. The script
- contains only items written by you. Unlike other report generators, the script does not
- contain report objects declarations, initialization code. It is added automatically when
- you run the report.</para>
- <para>By default this property contains an empty script text. You may see it in the designer
- when you switch to the Code window.</para>
- <para>If you set this property programmatically, you have to declare the <b>FastReport</b>
- namespace and the <b>ReportScript</b> class in it. Do not declare report items (such as bands,
- objects, etc) in the <b>ReportScript</b> class: the report engine does this automatically when
- you run the report.</para>
- <para><b>Security note:</b> since the report script is compiled into .NET assembly, it allows
- you to do ANYTHING. For example, you may create a script that will read/write files from/to a disk.
- To restrict such operations, use the <see cref="P:FastReport.Report.ScriptRestrictions"/> property.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Report.ScriptLanguage">
- <summary>
- Gets or sets the script language of this report.
- </summary>
- <remarks>
- Note: changing this property will reset the report script to default empty script.
- </remarks>
- </member>
- <member name="P:FastReport.Report.ConvertNulls">
- <summary>
- Gets or sets a value indicating whether the null DB value must be converted to zero, false or
- empty string depending on the data column type.
- </summary>
- <remarks>
- This property is <b>true</b> by default. If you set it to <b>false</b>, you should check
- the DB value before you do something with it (for example, typecast it to any type, use it
- in a expression etc.)
- </remarks>
- </member>
- <member name="P:FastReport.Report.DoublePass">
- <summary>
- Gets or sets a value that specifies whether the report engine should perform the second pass.
- </summary>
- <remarks>
- <para>Typically the second pass is necessary to print the number of total pages. It also
- may be used to perform some calculations on the first pass and print its results on the
- second pass.</para>
- <para>Use the <b>Engine.FirstPass</b>, <b>Engine.FinalPass</b> properties to determine which
- pass the engine is performing now.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Report.Compressed">
- <summary>
- Gets or sets a value that specifies whether to compress the report file.
- </summary>
- <remarks>
- The report file is compressed using the Gzip algorithm. So you can open the
- compressed report in any zip-compatible archiver.
- </remarks>
- </member>
- <member name="P:FastReport.Report.UseFileCache">
- <summary>
- Gets or sets a value that specifies whether to use the file cache rather than memory
- to store the prepared report pages.
- </summary>
- </member>
- <member name="P:FastReport.Report.TextQuality">
- <summary>
- Gets or sets a value that specifies the quality of text rendering.
- </summary>
- <remarks>
- <b>Note:</b> the default property value is <b>TextQuality.Default</b>. That means the report
- may look different depending on OS settings. This property does not affect the printout.
- </remarks>
- </member>
- <member name="P:FastReport.Report.SmoothGraphics">
- <summary>
- Gets or sets a value that specifies if the graphic objects such as bitmaps
- and shapes should be displayed smoothly.
- </summary>
- </member>
- <member name="P:FastReport.Report.Password">
- <summary>
- Gets or sets the report password.
- </summary>
- <remarks>
- <para>When you try to load the password-protected report, you will be asked
- for a password. You also may specify the password in this property before loading
- the report. In this case the report will load silently.</para>
- <para>Password-protected report file is crypted using Rijndael algorithm.
- Do not forget your password! It will be hard or even impossible to open
- the protected file in this case.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Report.AutoFillDataSet">
- <summary>
- Gets or sets a value indicating whether it is necessary to automatically fill
- DataSet registered with <b>RegisterData</b> call.
- </summary>
- <remarks>
- If this property is <b>true</b> (by default), FastReport will automatically fill
- the DataSet with data when you trying to run a report. Set it to <b>false</b> if
- you want to fill the DataSet by yourself.
- </remarks>
- </member>
- <member name="P:FastReport.Report.MaxPages">
- <summary>
- Gets or sets the maximum number of generated pages in a prepared report.
- </summary>
- <remarks>
- Use this property to limit the number of pages in a prepared report.
- </remarks>
- </member>
- <member name="P:FastReport.Report.PrintSettings">
- <summary>
- Gets the print settings such as printer name, copies, pages to print etc.
- </summary>
- </member>
- <member name="P:FastReport.Report.EmailSettings">
- <summary>
- Gets the email settings such as recipients, subject, message body.
- </summary>
- </member>
- <member name="P:FastReport.Report.Styles">
- <summary>
- Gets or sets the collection of styles used in this report.
- </summary>
- </member>
- <member name="P:FastReport.Report.ReferencedAssemblies">
- <summary>
- Gets or sets an array of assembly names that will be used to compile the report script.
- </summary>
- <remarks>
- By default this property contains the following assemblies: "System.dll", "System.Drawing.dll",
- "System.Windows.Forms.dll", "System.Data.dll", "System.Xml.dll". If your script uses some types
- from another assemblies, you have to add them to this property.
- </remarks>
- </member>
- <member name="P:FastReport.Report.StartReportEvent">
- <summary>
- Gets or sets a script event name that will be fired when the report starts.
- </summary>
- </member>
- <member name="P:FastReport.Report.FinishReportEvent">
- <summary>
- Gets or sets a script event name that will be fired when the report is finished.
- </summary>
- </member>
- <member name="P:FastReport.Report.Aborted">
- <summary>
- Gets a value indicating that report execution was aborted.
- </summary>
- </member>
- <member name="P:FastReport.Report.StoreInResources">
- <summary>
- Gets or sets a value that determines whether to store the report in the application resources.
- Use this property in the MS Visual Studio IDE only.
- </summary>
- <remarks>
- By default this property is <b>true</b>. When set to <b>false</b>, you should store your report
- in a file.
- </remarks>
- </member>
- <member name="P:FastReport.Report.ReportResourceString">
- <summary>
- Gets or sets the resource string that contains the report.
- </summary>
- <remarks>
- This property is used by the MS Visual Studio to store the report. Do not use it directly.
- </remarks>
- </member>
- <member name="P:FastReport.Report.HasDialogs">
- <summary>
- Gets a value indicating that this report contains dialog forms.
- </summary>
- </member>
- <member name="P:FastReport.Report.ScriptRestrictions">
- <summary>
- Gets or sets a set of permissions that will be restricted for the script code.
- </summary>
- <remarks>
- Since the report script is compiled into .NET assembly, it allows you to do ANYTHING.
- For example, you may create a script that will read/write files from/to a disk. This property
- is used to restrict such operations.
- <example>This example shows how to restrict the file IO operations in a script:
- <code>
- using System.Security;
- using System.Security.Permissions;
- ...
- PermissionSet ps = new PermissionSet(PermissionState.None);
- ps.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
- report1.ScriptRestrictions = ps;
- report1.Prepare();
- </code>
- </example>
- </remarks>
- </member>
- <member name="P:FastReport.Report.Designer">
- <summary>
- Gets a reference to the report designer.
- </summary>
- <remarks>
- This property can be used when report is designing. In other cases it returns <b>null</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Report.GraphicCache">
- <summary>
- Gets a reference to the graphics cache for this report.
- </summary>
- <remarks>
- This property is used to support the FastReport.Net infrastructure. Do not use it directly.
- </remarks>
- </member>
- <member name="P:FastReport.Report.PreparedPages">
- <summary>
- Gets a pages of the prepared report.
- </summary>
- </member>
- <member name="P:FastReport.Report.Engine">
- <summary>
- Gets a reference to the report engine.
- </summary>
- <remarks>
- This property can be used when report is running. In other cases it returns <b>null</b>.
- </remarks>
- </member>
- <member name="P:FastReport.Report.Preview">
- <summary>
- Gets or sets the report preview control.
- </summary>
- <remarks>
- Use this property to attach a custom preview to your report. To do this, place the PreviewControl
- control to your form and set the report's <b>Preview</b> property to this control.
- </remarks>
- </member>
- <member name="P:FastReport.Report.InitialPageNumber">
- <summary>
- Gets or sets the initial page number for PageN/PageNofM system variables.
- </summary>
- </member>
- <member name="P:FastReport.Report.Name">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Report.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Report.Operation">
- <summary>
- Gets the report operation that is currently performed.
- </summary>
- </member>
- <member name="T:FastReport.TypeEditors.BorderEditor">
- <summary>
- Provides a user interface for editing a component's border.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.BorderEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.BorderEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.ReportSummaryBand">
- <summary>
- Represents a report summary band.
- </summary>
- </member>
- <member name="M:FastReport.ReportSummaryBand.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.ReportSummaryBand.RepeatOnEveryPage">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.ColumnFooterBand">
- <summary>
- This class represents a column footer band.
- </summary>
- </member>
- <member name="M:FastReport.ColumnFooterBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ColumnFooterBand"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.ColumnFooterBand.StartNewPage">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.ColumnFooterBand.PrintOnBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.FormatEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.FormatEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.FormatEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Controls.TextBoxButton">
- <summary>
- Represents the control that combines a textbox and a button.
- </summary>
- </member>
- <member name="M:FastReport.Controls.TextBoxButton.OnPaint(System.Windows.Forms.PaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.TextBoxButton.SetBoundsCore(System.Int32,System.Int32,System.Int32,System.Int32,System.Windows.Forms.BoundsSpecified)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.TextBoxButton.OnLayout(System.Windows.Forms.LayoutEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Controls.TextBoxButton.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Controls.TextBoxButton"/> class.
- </summary>
- </member>
- <member name="E:FastReport.Controls.TextBoxButton.TextBoxChanged">
- <summary>
- Occurs when the textbox is changed.
- </summary>
- </member>
- <member name="E:FastReport.Controls.TextBoxButton.ButtonClick">
- <summary>
- Occurs when the button is clicked.
- </summary>
- </member>
- <member name="P:FastReport.Controls.TextBoxButton.Text">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Controls.TextBoxButton.Image">
- <summary>
- Gets or sets the button's image.
- </summary>
- </member>
- <member name="T:FastReport.Wizards.LabelWizard">
- <summary>
- Represents the "Label" wizard.
- </summary>
- </member>
- <member name="M:FastReport.Wizards.LabelWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Wizards.LabelWizard.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Wizards.LabelWizard"/> class with the default settings.
- </summary>
- </member>
- <member name="P:FastReport.Wizards.LabelWizard.SelectedManufacturer">
- <summary>
- Gets a selected label manufacturer.
- </summary>
- </member>
- <member name="P:FastReport.Wizards.LabelWizard.SelectedLabelName">
- <summary>
- Gets a selected label name.
- </summary>
- </member>
- <member name="P:FastReport.Wizards.LabelWizard.SelectedLabelParameters">
- <summary>
- Gets the XML item containing a selected label parameters.
- </summary>
- </member>
- <member name="T:FastReport.Utils.UIStyle">
- <summary>
- The style of FastReport user interface.
- </summary>
- </member>
- <member name="F:FastReport.Utils.UIStyle.VisualStudio2005">
- <summary>
- Specifies the Microsoft Visual Studio 2005 style.
- </summary>
- </member>
- <member name="F:FastReport.Utils.UIStyle.Office2003">
- <summary>
- Specifies the Microsoft Office 2003 style (blue).
- </summary>
- </member>
- <member name="F:FastReport.Utils.UIStyle.Office2007Blue">
- <summary>
- Specifies the Microsoft Office 2007 style (blue).
- </summary>
- </member>
- <member name="F:FastReport.Utils.UIStyle.Office2007Silver">
- <summary>
- Specifies the Microsoft Office 2007 style (silver).
- </summary>
- </member>
- <member name="F:FastReport.Utils.UIStyle.Office2007Black">
- <summary>
- Specifies the Microsoft Office 2007 style (black).
- </summary>
- </member>
- <member name="F:FastReport.Utils.UIStyle.VistaGlass">
- <summary>
- Specifies the Microsoft Vista style (black).
- </summary>
- </member>
- <member name="T:FastReport.Utils.UIStyleUtils">
- <summary>
- Contains conversion methods between FastReport's UIStyle to various enums.
- </summary>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetDotNetBarStyle(FastReport.Utils.UIStyle)">
- <summary>
- Converts FastReport's UIStyle to eDotNetBarStyle.
- </summary>
- <param name="style">Style to convert.</param>
- <returns>Value of eDotNetBarStyle type.</returns>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetTabStripStyle(FastReport.Utils.UIStyle)">
- <summary>
- Converts FastReport's UIStyle to eTabStripStyle.
- </summary>
- <param name="style">Style to convert.</param>
- <returns>Value of eTabStripStyle type.</returns>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetTabStripStyle1(FastReport.Utils.UIStyle)">
- <summary>
- Converts FastReport's UIStyle to eTabStripStyle.
- </summary>
- <param name="style">Style to convert.</param>
- <returns>Value of eTabStripStyle type.</returns>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetOffice2007ColorScheme(FastReport.Utils.UIStyle)">
- <summary>
- Converts FastReport's UIStyle to eOffice2007ColorScheme.
- </summary>
- <param name="style">Style to convert.</param>
- <returns>Value of eOffice2007ColorScheme type.</returns>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetColorSchemeStyle(FastReport.Utils.UIStyle)">
- <summary>
- Converts FastReport's UIStyle to eColorSchemeStyle.
- </summary>
- <param name="style">Style to convert.</param>
- <returns>Value of eColorSchemeStyle type.</returns>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetAppWorkspaceColor(FastReport.Utils.UIStyle)">
- <summary>
- Returns app workspace color for the given style.
- </summary>
- <param name="style">UI style.</param>
- <returns>The color.</returns>
- </member>
- <member name="M:FastReport.Utils.UIStyleUtils.GetControlColor(FastReport.Utils.UIStyle)">
- <summary>
- Returns control color for the given style.
- </summary>
- <param name="style">UI style.</param>
- <returns>The color.</returns>
- </member>
- <member name="T:FastReport.Matrix.MatrixEvenStylePriority">
- <summary>
- Describes how the even style is applied to a matrix.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixEvenStylePriority.Rows">
- <summary>
- The even style is applied to matrix rows.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixEvenStylePriority.Columns">
- <summary>
- The even style is applied to matrix columns.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixObject">
- <summary>
- Represents the matrix object that is used to print pivot table (also known as cross-tab).
- </summary>
- <remarks>
- The matrix consists of the following elements: columns, rows and data cells. Each element is
- represented by the <b>descriptor</b>. The <see cref="T:FastReport.Matrix.MatrixHeaderDescriptor"/> class is used
- for columns and rows; the <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> is used for data cells.
- The <see cref="P:FastReport.Matrix.MatrixObject.Data"/> property holds three collections of descriptors - <b>Columns</b>,
- <b>Rows</b> and <b>Cells</b>.
- <para/>To create the matrix in a code, you should perform the following actions:
- <list type="bullet">
- <item>
- <description>create an instance of the <b>MatrixObject</b> and add it to the report;</description>
- </item>
- <item>
- <description>create descriptors for columns, rows and cells and add it to the
- collections inside the <see cref="P:FastReport.Matrix.MatrixObject.Data"/> property;</description>
- </item>
- <item>
- <description>call the <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/> method to create the matrix template
- that will be used to create a result;</description>
- </item>
- <item>
- <description>modify the matrix template (change captions, set the visual appearance).</description>
- </item>
- </list>
- <para/>To connect the matrix to a datasource, use the <see cref="P:FastReport.Matrix.MatrixObject.DataSource"/> property. If
- this property is not set, the result matrix will be empty. In this case you may use
- the <see cref="E:FastReport.Matrix.MatrixObject.ManualBuild"/> event handler to fill the matrix.
- </remarks>
- <example>This example demonstrates how to create a matrix in a code.
- <code>
- // create an instance of MatrixObject
- MatrixObject matrix = new MatrixObject();
- matrix.Name = "Matrix1";
- // add it to the report title band of the first report page
- matrix.Parent = (report.Pages[0] as ReportPage).ReportTitle;
-
- // create two column descriptors
- MatrixHeaderDescriptor column = new MatrixHeaderDescriptor("[MatrixDemo.Year]");
- matrix.Data.Columns.Add(column);
- column = new MatrixHeaderDescriptor("[MatrixDemo.Month]");
- matrix.Data.Columns.Add(column);
-
- // create one row descriptor
- MatrixHeaderDescriptor row = new MatrixHeaderDescriptor("[MatrixDemo.Name]");
- matrix.Data.Rows.Add(row);
-
- // create one data cell
- MatrixCellDescriptor cell = new MatrixCellDescriptor("[MatrixDemo.Revenue]", MatrixAggregateFunction.Sum);
- matrix.Data.Cells.Add(cell);
-
- // connect matrix to a datasource
- matrix.DataSource = Report.GetDataSource("MatrixDemo");
-
- // create the matrix template
- matrix.BuildTemplate();
-
- // change the style
- matrix.Style = "Green";
-
- // change the column and row total's text to "Grand Total"
- matrix.Data.Columns[0].TemplateTotalCell.Text = "Grand Total";
- matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total";
- </code>
- </example>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.DeserializeSubItems(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.HandleDragOver(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.HandleDragDrop(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.BuildTemplate">
- <summary>
- Creates or updates the matrix template.
- </summary>
- <remarks>
- Call this method after you modify the matrix descriptors using the <see cref="P:FastReport.Matrix.MatrixObject.Data"/>
- object's properties.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.HandleKeyDown(System.Windows.Forms.Control,System.Windows.Forms.KeyEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.FinalizeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.OnManualBuild(System.EventArgs)">
- <summary>
- This method fires the <b>ManualBuild</b> event and the script code connected to the <b>ManualBuildEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.OnModifyResult(System.EventArgs)">
- <summary>
- This method fires the <b>ModifyResult</b> event and the script code connected to the <b>ModifyResultEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.AddValue(System.Object[],System.Object[],System.Object[])">
- <summary>
- Adds a value in the matrix.
- </summary>
- <param name="columnValues">Array of column values.</param>
- <param name="rowValues">Array of row values.</param>
- <param name="cellValues">Array of data values.</param>
- <remarks>
- This is a shortcut method to call the matrix <b>Data.AddValue</b>.
- See the <see cref="M:FastReport.Matrix.MatrixData.AddValue(System.Object[],System.Object[],System.Object[])"/> method for more details.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.Value(System.Int32)">
- <summary>
- Gets the value of the data cell with the specified index.
- </summary>
- <param name="index">Zero-based index of the data cell.</param>
- <returns>The cell's value.</returns>
- <remarks>
- Use this method in the cell's expression if the cell has custom totals
- (the total function is set to "Custom"). The example:
- <para/>Matrix1.Value(0) / Matrix1.Value(1)
- <para/>will return the result of dividing the first data cell's value by the second one.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixObject"/> class.
- </summary>
- </member>
- <member name="E:FastReport.Matrix.MatrixObject.ManualBuild">
- <summary>
- Allows to fill the matrix in code.
- </summary>
- <remarks>
- In most cases the matrix is connected to a datasource via the <see cref="P:FastReport.Matrix.MatrixObject.DataSource"/>
- property. When you run a report, the matrix is filled with datasource values automatically.
- <para/>Using this event, you can put additional values to the matrix or even completely fill it
- with own values (if <see cref="P:FastReport.Matrix.MatrixObject.DataSource"/> is set to <b>null</b>. To do this, call the
- <b>Data.AddValue</b> method. See the <see cref="M:FastReport.Matrix.MatrixData.AddValue(System.Object[],System.Object[],System.Object[])"/>
- method for more details.
- </remarks>
- <example>This example shows how to fill a matrix with own values.
- <code>
- // suppose we have a matrix with one column, row and data cell.
- // provide 3 one-dimensional arrays with one element in each to the AddValue method
- Matrix1.Data.AddValue(
- new object[] { 1996 },
- new object[] { "Andrew Fuller" },
- new object[] { 123.45f });
- Matrix1.Data.AddValue(
- new object[] { 1997 },
- new object[] { "Andrew Fuller" },
- new object[] { 21.35f });
- Matrix1.Data.AddValue(
- new object[] { 1997 },
- new object[] { "Nancy Davolio" },
- new object[] { 421.5f });
-
- // this code will produce the following matrix:
- // | 1996 | 1997 |
- // --------------+--------+--------+
- // Andrew Fuller | 123.45| 21.35|
- // --------------+--------+--------+
- // Nancy Davolio | | 421.50|
- // --------------+--------+--------+
- </code>
- </example>
- </member>
- <member name="E:FastReport.Matrix.MatrixObject.ModifyResult">
- <summary>
- Allows to modify the prepared matrix elements such as cells, rows, columns.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.AutoSize">
- <summary>
- Gets or sets a value that determines whether the matrix must calculate column/row sizes automatically.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.CellsSideBySide">
- <summary>
- Gets or sets a value that determines how to print multiple data cells.
- </summary>
- <remarks>
- This property can be used if matrix has two or more data cells. Default property value
- is <b>false</b> - that means the data cells will be stacked.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.KeepCellsSideBySide">
- <summary>
- Gets or sets a value indicating that the side-by-side cells must be kept together on the same page.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.DataSource">
- <summary>
- Gets or sets a data source.
- </summary>
- <remarks>
- When you create the matrix in the designer by drag-drop data columns into it,
- this property will be set automatically. However you need to set it if you create
- the matrix in code.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.Filter">
- <summary>
- Gets the row filter expression.
- </summary>
- <remarks>
- This property can contain any valid boolean expression. If the expression returns <b>false</b>,
- the corresponding data row will be skipped.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.ShowTitle">
- <summary>
- Gets or sets a value indicating whether to show a title row.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.Style">
- <summary>
- Gets or sets a matrix style.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.MatrixEvenStylePriority">
- <summary>
- Gets or sets even style priority for matrix cells.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.ManualBuildEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Matrix.MatrixObject.ManualBuild"/> event.
- </summary>
- <remarks>
- See the <see cref="E:FastReport.Matrix.MatrixObject.ManualBuild"/> event for more details.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.ModifyResultEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Matrix.MatrixObject.ModifyResult"/> event.
- </summary>
- <remarks>
- See the <see cref="E:FastReport.Matrix.MatrixObject.ModifyResult"/> event for more details.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.Data">
- <summary>
- Gets the object that holds the collection of descriptors used
- to build a matrix.
- </summary>
- <remarks>
- See the <see cref="T:FastReport.Matrix.MatrixData"/> class for more details.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.ColumnValues">
- <summary>
- Gets or sets array of values that describes the currently printing column.
- </summary>
- <remarks>
- Use this property when report is running. It can be used to highlight matrix elements
- depending on values of the currently printing column. To do this:
- <list type="bullet">
- <item>
- <description>select the cell that you need to highlight;</description>
- </item>
- <item>
- <description>click the "Highlight" button on the "Text" toolbar;</description>
- </item>
- <item>
- <description>add a new highlight condition. Use the <b>Matrix.ColumnValues</b> to
- refer to the value you need to analyze. Note: these values are arrays of <b>System.Object</b>,
- so you need to cast it to actual type before making any comparisons. Example of highlight
- condition: <c>(int)Matrix1.ColumnValues[0] == 2000</c>.
- </description>
- </item>
- </list>
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.RowValues">
- <summary>
- Gets or sets array of values that describes the currently printing row.
- </summary>
- <remarks>
- Use this property when report is running. It can be used to highlight matrix elements
- depending on values of the currently printing row. To do this:
- <list type="bullet">
- <item>
- <description>select the cell that you need to highlight;</description>
- </item>
- <item>
- <description>click the "Highlight" button on the "Text" toolbar;</description>
- </item>
- <item>
- <description>add a new highlight condition. Use the <b>Matrix.RowValues</b> to
- refer to the value you need to analyze. Note: these values are arrays of <b>System.Object</b>,
- so you need to cast it to actual type before making any comparisons. Example of highlight
- condition: <c>(string)Matrix1.RowValues[0] == "Andrew Fuller"</c>.
- </description>
- </item>
- </list>
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.ColumnIndex">
- <summary>
- Gets or sets the index of currently printing column.
- </summary>
- <remarks>
- This property may be used to print even columns with alternate color. To do this:
- <list type="bullet">
- <item>
- <description>select the cell that you need to highlight;</description>
- </item>
- <item>
- <description>click the "Highlight" button on the "Text" toolbar;</description>
- </item>
- <item>
- <description>add a new highlight condition that uses the <b>Matrix.ColumnIndex</b>,
- for example: <c>Matrix1.ColumnIndex % 2 == 1</c>.
- </description>
- </item>
- </list>
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.RowIndex">
- <summary>
- Gets or sets the index of currently printing row.
- </summary>
- <remarks>
- This property may be used to print even rows with alternate color. To do this:
- <list type="bullet">
- <item>
- <description>select the cell that you need to highlight;</description>
- </item>
- <item>
- <description>click the "Highlight" button on the "Text" toolbar;</description>
- </item>
- <item>
- <description>add a new highlight condition that uses the <b>Matrix.RowIndex</b>,
- for example: <c>Matrix1.RowIndex % 2 == 1</c>.
- </description>
- </item>
- </list>
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.ColumnCount">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.RowCount">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.FixedRows">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.FixedColumns">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.CanBreak">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixObject.GrowToBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.RichEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.RichEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.RichEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.CustomLabelForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.CustomLabelForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.CustomLabelForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.SortBy">
- <summary>
- Specifies how the series points are sorted.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.SortBy.None">
- <summary>
- Points are not sorted.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.SortBy.XValue">
- <summary>
- Points are sorted by X value.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.SortBy.YValue">
- <summary>
- Points are sorted by Y value.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.ChartSortOrder">
- <summary>
- Specifies the direction in which the series points are sorted.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.ChartSortOrder.Ascending">
- <summary>
- Points are sorted in ascending order.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.ChartSortOrder.Descending">
- <summary>
- Points are sorted in descending order.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.GroupBy">
- <summary>
- Specifies how the series points are grouped.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.None">
- <summary>
- Points are not grouped.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.XValue">
- <summary>
- Points are grouped by X value.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Number">
- <summary>
- Points are grouped by number specified in the <see cref="P:FastReport.MSChart.MSChartSeries.GroupInterval"/>.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Years">
- <summary>
- Points are grouped by Years.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Months">
- <summary>
- Points are grouped by Months.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Weeks">
- <summary>
- Points are grouped by Weeks.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Days">
- <summary>
- Points are grouped by Days.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Hours">
- <summary>
- Points are grouped by Hours.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Minutes">
- <summary>
- Points are grouped by Minutes.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Seconds">
- <summary>
- Points are grouped by Seconds.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GroupBy.Milliseconds">
- <summary>
- Points are grouped by Milliseconds.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.PieExplode">
- <summary>
- Specifies which pie value to explode.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.PieExplode.None">
- <summary>
- Do not explode pie values.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.PieExplode.BiggestValue">
- <summary>
- Explode the biggest value.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.PieExplode.LowestValue">
- <summary>
- Explode the lowest value.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.PieExplode.SpecificValue">
- <summary>
- Explode the value specified in the <see cref="P:FastReport.MSChart.MSChartSeries.PieExplodeValue"/> property.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.Collect">
- <summary>
- Specifies which data points to collect into one point.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.None">
- <summary>
- Do not collect points.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.TopN">
- <summary>
- Show top N points (<i>N</i> value is specified in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/>
- property), collect other points into one.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.BottomN">
- <summary>
- Show bottom N points (<i>N</i> value is specified in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/>
- property), collect other points into one.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.LessThan">
- <summary>
- Collect points which have Y value less than specified
- in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/> property.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.LessThanPercent">
- <summary>
- Collect points which have Y value less than percent specified
- in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/> property.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.GreaterThan">
- <summary>
- Collect points which have Y value greater than specified
- in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/> property.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.Collect.GreaterThanPercent">
- <summary>
- Collect points which have Y value greater than percent specified
- in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/> property.
- </summary>
- </member>
- <member name="T:FastReport.MSChart.MSChartSeries">
- <summary>
- Represents a MS Chart series wrapper.
- </summary>
- <remarks>
- This class provides a data for MS Chart series. The series itself is stored inside the
- MS Chart and is accessible via the <see cref="P:FastReport.MSChart.MSChartSeries.SeriesSettings"/> property.
- <para/>You don't need to create an instance of this class directly. Instead, use the
- <see cref="M:FastReport.MSChart.MSChartObject.AddSeries(System.Windows.Forms.DataVisualization.Charting.SeriesChartType)"/> method.
- </remarks>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.ClearValues">
- <summary>
- Clears all data points in this series.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.AddValue(System.Object,System.Object[])">
- <summary>
- Adds a data point with specified X and Y values.
- </summary>
- <param name="xValue">X value.</param>
- <param name="yValues">Array of Y values.</param>
- <remarks>
- Note: number of values in the <b>yValues</b> parameter must be the same as value returned
- by the <see cref="P:FastReport.MSChart.MSChartSeries.YValuesPerPoint"/> property.
- </remarks>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.MSChart.MSChartSeries.#ctor">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.MSChart.MSChartSeries"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.Filter">
- <summary>
- Gets os sets the data filter expression.
- </summary>
- <remarks>
- The filter is applied for this series only. You can also use the
- <see cref="P:FastReport.MSChart.MSChartObject.Filter"/> property to set a filter that will be applied to all
- series in a chart.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.SortBy">
- <summary>
- Gets or sets the sort method used to sort data points.
- </summary>
- <remarks>
- You have to specify the <see cref="P:FastReport.MSChart.MSChartSeries.SortOrder"/> property as well. Data points in this series
- will be sorted according selected sort criteria and order.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.SortOrder">
- <summary>
- Gets or sets the sort order used to sort data points.
- </summary>
- <remarks>
- You have to specify the <see cref="P:FastReport.MSChart.MSChartSeries.SortBy"/> property as well. Data points in this series
- will be sorted according selected sort criteria and order.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.GroupBy">
- <summary>
- Gets or sets the group method used to group data points.
- </summary>
- <remarks>
- This property is mainly used when series is filled with data with several identical X values.
- In this case, you need to set the property to <b>XValue</b>. All identical data points will be
- grouped into one point, their Y values will be summarized. You can choose the summary function
- using the <see cref="P:FastReport.MSChart.MSChartSeries.GroupFunction"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.GroupInterval">
- <summary>
- Gets or sets the group interval.
- </summary>
- <remarks>
- This value is used if <see cref="P:FastReport.MSChart.MSChartSeries.GroupBy"/> property is set to <b>Number</b>.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.GroupFunction">
- <summary>
- Gets or sets the function used to group data points.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.Collect">
- <summary>
- Gets or sets the collect method used to collect several data points into one.
- </summary>
- <remarks>
- This instrument for data processing allows to collect several series points into one point.
- The collected point will be displaed using the text specified in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectedItemText"/>
- property and color specified in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectedItemColor"/> property.
- <para/>For example, to display top 5 values, set this property to <b>TopN</b> and specify
- N value (5) in the <see cref="P:FastReport.MSChart.MSChartSeries.CollectValue"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.CollectValue">
- <summary>
- Gets or sets the collect value used to collect several data points into one.
- </summary>
- <remarks>
- This property is used if the <see cref="P:FastReport.MSChart.MSChartSeries.Collect"/> property is set to any value other than <b>None</b>.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.CollectedItemText">
- <summary>
- Gets or sets the text for the collected value.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.CollectedItemColor">
- <summary>
- Gets or sets the color for the collected value.
- </summary>
- <remarks>
- If this property is set to <b>Transparent</b> (by default), the default palette color
- will be used to display a collected point.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.PieExplode">
- <summary>
- Gets or sets the method used to explode values in pie-type series.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.PieExplodeValue">
- <summary>
- Gets or sets the value that must be exploded.
- </summary>
- <remarks>
- This property is used if <see cref="P:FastReport.MSChart.MSChartSeries.PieExplode"/> property is set
- to <b>SpecificValue</b>.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.XValue">
- <summary>
- Gets or sets the data column or expression that returns the X value of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.YValue1">
- <summary>
- Gets or sets the data column or expression that returns the first Y value of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.YValue2">
- <summary>
- Gets or sets the data column or expression returns the second Y value of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.YValue3">
- <summary>
- Gets or sets the data column or expression returns the third Y value of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.YValue4">
- <summary>
- Gets or sets the data column or expression returns the fourth Y value of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.Color">
- <summary>
- Gets or sets the data column or expression that returns the color of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.Label">
- <summary>
- Gets or sets the data column or expression returns the label value of data point.
- </summary>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.SeriesSettings">
- <summary>
- Gets a reference to MS Chart <b>Series</b> object.
- </summary>
- <remarks>
- Use this property to set many options available for the <b>Series</b> object. These options
- include: visual appearance, labels, marks, value types. Refer to the Microsoft Chart control
- documentation to learn more.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.YValuesPerPoint">
- <summary>
- Gets a number of Y value per data point.
- </summary>
- <remarks>
- Number of Y values depends on series type. Most of series have only one Y value. Financial
- series such as Stock and Candlestick, use four Y values.
- </remarks>
- </member>
- <member name="P:FastReport.MSChart.MSChartSeries.Restrictions">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Map.SizeRanges">
- <summary>
- Represents a set of size ranges used to draw points based on analytical value.
- </summary>
- </member>
- <member name="M:FastReport.Map.SizeRanges.Assign(FastReport.Map.SizeRanges)">
- <summary>
- Copies the contents of another SizeRanges.
- </summary>
- <param name="src">The SizeRanges instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Map.SizeRanges.GetSize(System.Double)">
- <summary>
- Gets a size associated with given analytical value.
- </summary>
- <param name="value">The analytical value.</param>
- <returns>The size associated with this value, or 0 if no association found.</returns>
- </member>
- <member name="M:FastReport.Map.SizeRanges.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.SizeRanges"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRanges.Ranges">
- <summary>
- Gets the list of ranges.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRanges.RangeCount">
- <summary>
- Gets or sets the number of ranges.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRanges.StartSize">
- <summary>
- Gets or sets the start size.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRanges.EndSize">
- <summary>
- Gets or sets the end size.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRanges.RangesAsString">
- <summary>
- Gets or sets ranges as a string.
- </summary>
- </member>
- <member name="T:FastReport.Map.SizeRange">
- <summary>
- Represents a single size range.
- </summary>
- </member>
- <member name="M:FastReport.Map.SizeRange.Assign(FastReport.Map.SizeRange)">
- <summary>
- Copies the contents of another SizeRange.
- </summary>
- <param name="src">The SizeRange instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Map.SizeRange.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.SizeRange"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Map.SizeRange.#ctor(System.Single,System.Double,System.Double)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.SizeRange"/> class with a specified parameters.
- </summary>
- <param name="size">The size of the range.</param>
- <param name="startValue">The start value of the range.</param>
- <param name="endValue">The end value of the range.</param>
- </member>
- <member name="P:FastReport.Map.SizeRange.Size">
- <summary>
- Gets or sets size of the range.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRange.StartValue">
- <summary>
- Gets or sets start value of the range.
- </summary>
- </member>
- <member name="P:FastReport.Map.SizeRange.EndValue">
- <summary>
- Gets or sets end value of the range.
- </summary>
- </member>
- <member name="T:FastReport.Map.MapObject">
- <summary>
- Represents a map object.
- </summary>
- </member>
- <member name="F:FastReport.Map.MapObject.ShapefileFolder">
- <summary>
- Gets or sets the path to folder containing shapefiles.
- </summary>
- <remarks>
- This property is used by the map editor when selecting a shapefile.
- </remarks>
- </member>
- <member name="M:FastReport.Map.MapObject.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.SaveState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.RestoreState">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.GetData">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.FinalizeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.Load(System.String)">
- <summary>
- Loads a map from ESRI shp/dbf files.
- </summary>
- <param name="filename">Name of file that contains a map.</param>
- </member>
- <member name="M:FastReport.Map.MapObject.CreateUniqueNames">
- <summary>
- Creates unique names for all contained objects such as layers, shapes, etc.
- </summary>
- </member>
- <member name="M:FastReport.Map.MapObject.GetPreferredSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.HandleMouseHover(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.HandleMouseDown(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.HandleMouseMove(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.HandleMouseUp(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.HandleMouseWheel(FastReport.Utils.FRMouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnMouseWheel(System.Windows.Forms.MouseEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnMouseEnter(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.OnMouseLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.MapObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.MapObject"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.Zoom">
- <summary>
- Gets or sets the map zoom.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.MinZoom">
- <summary>
- Gets or sets minimum zoom value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.MaxZoom">
- <summary>
- Gets or sets maximum zoom value.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.OffsetX">
- <summary>
- Gets or sets the X offset of the map.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.OffsetY">
- <summary>
- Gets or sets the Y offset of the map.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.MercatorProjection">
- <summary>
- Gets or sets the value indicating that mercator projection must be used to view the map.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.ColorScale">
- <summary>
- Gets the color scale settings.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.Layers">
- <summary>
- Gets or sets a collection of map layers.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.Padding">
- <summary>
- Gets or sets padding within the map.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.CanGrow">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.CanShrink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.Style">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.EvenStyle">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.EvenStylePriority">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.HoverStyle">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Map.MapObject.IsSelected">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Map.BoundingBox">
- <summary>
- Represents four coordinates that define a bounding box.
- </summary>
- </member>
- <member name="M:FastReport.Map.BoundingBox.Assign(FastReport.Map.BoundingBox)">
- <summary>
- Copies the contents of another <see cref="T:FastReport.Map.BoundingBox"/> instance.
- </summary>
- <param name="src">Source box to copy the contents from.</param>
- </member>
- <member name="P:FastReport.Map.BoundingBox.MinX">
- <summary>
- Gets or sets the minimum X-coordinate of a bounding box.
- </summary>
- </member>
- <member name="P:FastReport.Map.BoundingBox.MinY">
- <summary>
- Gets or sets the minimum Y-coordinate of a bounding box.
- </summary>
- </member>
- <member name="P:FastReport.Map.BoundingBox.MaxX">
- <summary>
- Gets or sets the maximum X-coordinate of a bounding box.
- </summary>
- </member>
- <member name="P:FastReport.Map.BoundingBox.MaxY">
- <summary>
- Gets or sets the maximum Y-coordinate of a bounding box.
- </summary>
- </member>
- <member name="T:FastReport.Export.Svg.Dashes">
- <summary>
- Contains Dashes enum
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.Dashes.Dash">
- <summary>
- Specifies the Dash.
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.Dashes.Dot">
- <summary>
- Specifies the Dot.
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.Dashes.DashDot">
- <summary>
- Specifies the DashDot.
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.Dashes.DashDotDot">
- <summary>
- Specifies the DashDotDot.
- </summary>
- </member>
- <member name="F:FastReport.Export.Svg.Dashes.Double">
- <summary>
- Specifies the Double line.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.CreateWindow(System.String,System.Single,System.Single)">
- <summary>
- Create Window.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddTextObject(System.Single,System.Single,System.Single,System.Single,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Single,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.Single,System.String,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Single,System.Boolean,System.Single,System.Boolean,System.String,System.Drawing.Font)">
- <summary>
- Method for add TextObject.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddRectangle(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String,System.Boolean)">
- <summary>
- Method to add rectangle.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddEllipse(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add ellips.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddTriangle(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add triangle.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddDiamond(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,System.String)">
- <summary>
- Method for add Diamond.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddLine(System.Single,System.Single,System.Single,System.Single,System.String,System.Single)">
- <summary>
- Method for add line.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddLine(System.Single,System.Single,System.Single,System.Single,System.String,System.Single,FastReport.Export.Svg.Dashes)">
- <summary>
- Method for add line with dash.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.AddImage(System.String,System.Single,System.Single,System.Single,System.Single)">
- <summary>
- Add image
- </summary>
- <param name="filename"></param>
- <param name="left"></param>
- <param name="top"></param>
- <param name="width"></param>
- <param name="height"></param>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.Save(System.String)">
- <summary>
- Save svg file.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.Save(System.IO.Stream)">
- <summary>
- Save svg stream.
- </summary>
- </member>
- <member name="M:FastReport.Export.Svg.SVGDocument.#ctor(System.String,System.Single,System.Single)">
- <param name="name"></param>
- <param name="Width"></param>
- <param name="Height"></param>
- </member>
- <member name="F:FastReport.Forms.TextExportForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.TextExportForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.TextExportForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugins.RDL.SizeUnits">
- <summary>
- The RDL Size units.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnits.Millimeter">
- <summary>
- Specifies the units measured in millimeters.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnits.Centimeter">
- <summary>
- Specifies the units measured in centimeters.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnits.Inch">
- <summary>
- Specifies the units measured in inches.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnits.Point">
- <summary>
- Specifies the units measured in points.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnits.Pica">
- <summary>
- Specifies the units measured in picas.
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugins.RDL.SizeUnitsP">
- <summary>
- Defines the constants used to convert between RDL Size and pixels.
- </summary>
- <remarks>
- To convert pixels to inches, use the code:
- <code>inches = pixels / SizeUnitsP.Inch;</code>
- To convert inches to pixels, use the code:
- <code>pixels = inches * SizeUnitsP.Inch;</code>
- </remarks>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsP.Millimeter">
- <summary>
- The number of pixels in one millimeter.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsP.Centimeter">
- <summary>
- The number of pixels in one centimeter.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsP.Inch">
- <summary>
- The number of pixels in one inch.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsP.Point">
- <summary>
- The number of pixels in one point.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsP.Pica">
- <summary>
- The number of pixels in one pica.
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugins.RDL.SizeUnitsM">
- <summary>
- Defines the constants used to convert between RDL Size and millimeters.
- </summary>
- <remarks>
- To convert millimeters to inches, use the code:
- <code>inches = millimeters / SizeUnitsM.Inch;</code>
- To convert inches to millimeters, use the code:
- <code>millimeters = inches * SizeUnitsM.Inch;</code>
- </remarks>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsM.Centimeter">
- <summary>
- The number of millimeters in one centimeter.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsM.Inch">
- <summary>
- The number of millimeters in one inch.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsM.Point">
- <summary>
- The number of millimeters in one point.
- </summary>
- </member>
- <member name="F:FastReport.Design.ImportPlugins.RDL.SizeUnitsM.Pica">
- <summary>
- The number of millimeters in one pica.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig">
- <summary>
- Contains information needed to access the Dropbox storage.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig.#ctor(System.String,System.String,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig"/> class.
- </summary>
- <param name="requestTokenUrl">The request token URL.</param>
- <param name="userAuthorizationUrl">The user authorization URL.</param>
- <param name="callbackUrl">The callback URL.</param>
- <param name="accessTokenUrl">The access token URL.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig"/> class.
- </summary>
- <param name="callbackUrl">The callback URL.</param>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig.RequestTokenUrl">
- <summary>
- Gets the request token URL.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig.UserAuthorizationUrl">
- <summary>
- Gets the user authorization URL.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig.CallbackUrl">
- <summary>
- Gets the callback URL;
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig.AccessTokenUrl">
- <summary>
- Gets the access token URL.
- </summary>
- </member>
- <member name="T:FastReport.Code.FindTextArgs">
- <summary>
- This class is used to pass find arguments to some methods of the <b>CodeUtils</b> class.
- </summary>
- </member>
- <member name="F:FastReport.Code.FindTextArgs.StartIndex">
- <summary>
- The start position of the search. After the search, this property points to
- the begin of an expression.
- </summary>
- </member>
- <member name="F:FastReport.Code.FindTextArgs.EndIndex">
- <summary>
- After the search, this property points to the end of an expression.
- </summary>
- </member>
- <member name="F:FastReport.Code.FindTextArgs.OpenBracket">
- <summary>
- The char sequence used to find the expression's begin.
- </summary>
- </member>
- <member name="F:FastReport.Code.FindTextArgs.CloseBracket">
- <summary>
- The char sequence used to find the expression's end.
- </summary>
- </member>
- <member name="F:FastReport.Code.FindTextArgs.Text">
- <summary>
- The text with embedded expressions.
- </summary>
- </member>
- <member name="F:FastReport.Code.FindTextArgs.FoundText">
- <summary>
- The last found expression.
- </summary>
- </member>
- <member name="T:FastReport.Code.CodeUtils">
- <summary>
- This static class contains methods that may be used to find expressions embedded
- in the object's text.
- </summary>
- </member>
- <member name="M:FastReport.Code.CodeUtils.GetExpressions(System.String,System.String,System.String)">
- <summary>
- Returns expressions found in the text.
- </summary>
- <param name="text">Text that may contain expressions.</param>
- <param name="openBracket">The char sequence used to find the start of expression.</param>
- <param name="closeBracket">The char sequence used to find the end of expression.</param>
- <returns>Array of expressions if found; otherwise return an empty array.</returns>
- </member>
- <member name="M:FastReport.Code.CodeUtils.GetExpression(FastReport.Code.FindTextArgs,System.Boolean)">
- <summary>
- Gets first expression found in the text.
- </summary>
- <param name="args">Object with find arguments.</param>
- <param name="skipStrings">Indicates whether to skip strings.</param>
- <returns>The expression if found; otherwise, returns an empty string.</returns>
- </member>
- <member name="T:FastReport.TypeEditors.AngleEditor">
- <summary>
- Provides a user interface for editing an angle in degrees.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.AngleEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.AngleEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.ShapeKind">
- <summary>
- Specifies a kind of the shape.
- </summary>
- </member>
- <member name="F:FastReport.ShapeKind.Rectangle">
- <summary>
- Specifies a rectangle shape.
- </summary>
- </member>
- <member name="F:FastReport.ShapeKind.RoundRectangle">
- <summary>
- Specifies a round rectangle shape.
- </summary>
- </member>
- <member name="F:FastReport.ShapeKind.Ellipse">
- <summary>
- Specifies an ellipse shape.
- </summary>
- </member>
- <member name="F:FastReport.ShapeKind.Triangle">
- <summary>
- Specifies a triangle shape.
- </summary>
- </member>
- <member name="F:FastReport.ShapeKind.Diamond">
- <summary>
- Specifies a diamond shape.
- </summary>
- </member>
- <member name="T:FastReport.ShapeObject">
- <summary>
- Represents a shape object.
- </summary>
- <remarks>
- Use the <see cref="T:FastReport.ShapeKind"/> property to specify a shape. To set the width, style and color of the
- shape's border, use the <b>Border.Width</b>, <b>Border.Style</b> and <b>Border.Color</b> properties.
- </remarks>
- </member>
- <member name="M:FastReport.ShapeObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ShapeObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ShapeObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ShapeObject.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ShapeObject.OnBeforeInsert(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.ShapeObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ShapeObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.ShapeObject.Shape">
- <summary>
- Gets or sets a shape kind.
- </summary>
- </member>
- <member name="P:FastReport.ShapeObject.Curve">
- <summary>
- Gets or sets a shape curvature if <see cref="T:FastReport.ShapeKind"/> is <b>RoundRectangle</b>.
- </summary>
- <remarks>
- 0 value means automatic curvature.
- </remarks>
- </member>
- <member name="F:FastReport.Forms.StyleEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.StyleEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.StyleEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.MaskedTextBoxControl">
- <summary>
- Uses a mask to distinguish between proper and improper user input.
- Wraps the <see cref="T:System.Windows.Forms.MaskedTextBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.ShouldSerializeCursor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.OnLeave(System.EventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.MaskedTextBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>MaskedTextBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MaskedTextBoxControl.MaskedTextBox">
- <summary>
- Gets an internal <b>MaskedTextBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MaskedTextBoxControl.Mask">
- <summary>
- Gets or sets the input mask to use at run time.
- Wraps the <see cref="P:System.Windows.Forms.MaskedTextBox.Mask"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MaskedTextBoxControl.SkipLiterals">
- <summary>
- Gets or sets a value indicating whether the user is allowed to reenter literal values.
- Wraps the <see cref="P:System.Windows.Forms.MaskedTextBox.SkipLiterals"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.MaskedTextBoxControl.TextAlign">
- <summary>
- Gets or sets how text is aligned in a masked text box control.
- Wraps the <see cref="P:System.Windows.Forms.MaskedTextBox.TextAlign"/> property.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.CheckedListBoxControl">
- <summary>
- Displays a ListBox in which a check box is displayed to the left of each item.
- Wraps the <see cref="T:System.Windows.Forms.CheckedListBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.OnItemCheck(System.Windows.Forms.ItemCheckEventArgs)">
- <summary>
- This method fires the <b>ItemCheck</b> event and the script code connected to the <b>ItemCheckEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.CheckedListBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>CheckedListBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.CheckedListBoxControl.ItemCheck">
- <summary>
- Occurs after item's check state was changed.
- Wraps the <see cref="E:System.Windows.Forms.CheckedListBox.ItemCheck"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.CheckedListBox">
- <summary>
- Gets an internal <b>CheckedListBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.CheckOnClick">
- <summary>
- Gets or sets a value indicating whether the check box should be toggled when an item is selected.
- Wraps the <see cref="P:System.Windows.Forms.CheckedListBox.CheckOnClick"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.CheckedIndices">
- <summary>
- Collection of checked indexes in this CheckedListBox.
- Wraps the <see cref="P:System.Windows.Forms.CheckedListBox.CheckedIndices"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.CheckedItems">
- <summary>
- Collection of checked items in this CheckedListBox.
- Wraps the <see cref="P:System.Windows.Forms.CheckedListBox.CheckedItems"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.ItemCheckEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.CheckedListBoxControl.ItemCheck"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.DrawMode">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.CheckedListBoxControl.ItemHeight">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="F:FastReport.Forms.PreviewForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PreviewForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PreviewForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Restrictions">
- <summary>
- Specifies a set of actions that cannot be performed on the object in the design mode.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.None">
- <summary>
- Specifies no restrictions.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.DontMove">
- <summary>
- Restricts moving the object.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.DontResize">
- <summary>
- Restricts resizing the object.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.DontModify">
- <summary>
- Restricts modifying the object's properties.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.DontEdit">
- <summary>
- Restricts editing the object.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.DontDelete">
- <summary>
- Restricts deleting the object.
- </summary>
- </member>
- <member name="F:FastReport.Restrictions.HideAllProperties">
- <summary>
- Hides all properties of the object.
- </summary>
- </member>
- <member name="T:FastReport.Flags">
- <summary>
- Specifies a set of actions that can be performed on the object in the design mode.
- </summary>
- </member>
- <member name="F:FastReport.Flags.None">
- <summary>
- Specifies no actions.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanMove">
- <summary>
- Allows moving the object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanResize">
- <summary>
- Allows resizing the object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanDelete">
- <summary>
- Allows deleting the object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanEdit">
- <summary>
- Allows editing the object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanChangeOrder">
- <summary>
- Allows changing the Z-order of an object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanChangeParent">
- <summary>
- Allows moving the object to another parent.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanCopy">
- <summary>
- Allows copying the object to the clipboard.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanDraw">
- <summary>
- Allows drawing the object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanGroup">
- <summary>
- Allows grouping the object.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanWriteChildren">
- <summary>
- Allows write children in the preview mode by itself.
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanWriteBounds">
- <summary>
- Allows write object's bounds into the report stream.
- </summary>
- </member>
- <member name="F:FastReport.Flags.HasSmartTag">
- <summary>
- Allows the "smart tag" functionality.
- </summary>
- </member>
- <member name="F:FastReport.Flags.HasGlobalName">
- <summary>
- Specifies that the object's name is global (this is true for all report objects
- such as Text, Picture and so on).
- </summary>
- </member>
- <member name="F:FastReport.Flags.CanShowChildrenInReportTree">
- <summary>
- Specifies that the object can display children in the designer's Report Tree window.
- </summary>
- </member>
- <member name="F:FastReport.Flags.InterceptsPreviewMouseEvents">
- <summary>
- Specifies that the object supports mouse wheel in the preview window.
- </summary>
- </member>
- <member name="T:FastReport.InsertFrom">
- <summary>
- Specifies an origin where the new objects inserted from.
- </summary>
- </member>
- <member name="F:FastReport.InsertFrom.NewObject">
- <summary>
- Specifies that a new object was inserted from the "Objects" toolbar or "Insert" menu.
- </summary>
- </member>
- <member name="F:FastReport.InsertFrom.Dictionary">
- <summary>
- Specifies that a new object was dragged from the "Dictionary" window.
- </summary>
- </member>
- <member name="F:FastReport.InsertFrom.Clipboard">
- <summary>
- Specifies that a new object was pasted from the clipboard.
- </summary>
- </member>
- <member name="T:FastReport.BandCollection">
- <summary>
- Represents a collection of bands.
- </summary>
- </member>
- <member name="M:FastReport.BandCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.BandCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.BandCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.BandCollection"/> class with specified owner.
- </summary>
- <param name="owner">Owner that owns this collection.</param>
- </member>
- <member name="P:FastReport.BandCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Map.ScaleDock">
- <summary>
- Specifies the position of a scale control inside the map.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.TopLeft">
- <summary>
- The scale is displayed at top left corner.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.TopCenter">
- <summary>
- The scale is displayed at top center side.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.TopRight">
- <summary>
- The scale is displayed at top right corner.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.MiddleLeft">
- <summary>
- The scale is displayed at middle left side.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.MiddleRight">
- <summary>
- The scale is displayed at middle right side.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.BottomLeft">
- <summary>
- The scale is displayed at bottom left corner.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.BottomCenter">
- <summary>
- The scale is displayed at bottom center side.
- </summary>
- </member>
- <member name="F:FastReport.Map.ScaleDock.BottomRight">
- <summary>
- The scale is displayed at bottom right corner.
- </summary>
- </member>
- <member name="T:FastReport.Gauge.Linear.LinearScale">
- <summary>
- Represents a linear scale.
- </summary>
- </member>
- <member name="T:FastReport.Gauge.GaugeScale">
- <summary>
- Represents a scale of a gauge.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.GaugeScale.#ctor(FastReport.Gauge.GaugeObject)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.GaugeScale"/> class.
- </summary>
- <param name="parent">The parent gauge object.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugeScale.Assign(FastReport.Gauge.GaugeScale)">
- <summary>
- Copies the contents of another GaugeScale.
- </summary>
- <param name="src">The GaugeScale instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugeScale.Draw(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the scale of gauge.
- </summary>
- <param name="e">Draw event arguments.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugeScale.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Gauge.GaugeScale)">
- <summary>
- Serializes the gauge scale.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">Scale property name.</param>
- <param name="diff">Another GaugeScale to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="P:FastReport.Gauge.GaugeScale.Parent">
- <summary>
- Gets or sets the parent gauge object.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugeScale.Font">
- <summary>
- Gets or sets the font of scale.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearScale.#ctor(FastReport.Gauge.GaugeObject)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.Linear.LinearScale"/> class.
- </summary>
- <param name="parent">The parent gauge object.</param>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearScale.Assign(FastReport.Gauge.GaugeScale)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearScale.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearScale.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Gauge.GaugeScale)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Gauge.Linear.LinearScale.MajorTicks">
- <summary>
- Gets or sets major ticks of scale.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.Linear.LinearScale.MinorTicks">
- <summary>
- Gets or sets minor ticks of scale.
- </summary>
- </member>
- <member name="T:FastReport.Gauge.GaugePointer">
- <summary>
- Represents a pointer of gauge.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.GaugePointer.#ctor(FastReport.Gauge.GaugeObject)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.GaugePointer"/> class.
- </summary>
- <param name="parent">The parent gauge object.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugePointer.Assign(FastReport.Gauge.GaugePointer)">
- <summary>
- Copies the contents of another GaugePointer.
- </summary>
- <param name="src">The GaugePointer instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugePointer.Draw(FastReport.Utils.FRPaintEventArgs)">
- <summary>
- Draws the gauge pointer.
- </summary>
- <param name="e">Draw event arguments.</param>
- </member>
- <member name="M:FastReport.Gauge.GaugePointer.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Gauge.GaugePointer)">
- <summary>
- Serializes the gauge pointer.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">Gauge pointer property name.</param>
- <param name="diff">Another GaugePointer to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="P:FastReport.Gauge.GaugePointer.Parent">
- <summary>
- Gets or sets the parent gauge object.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugePointer.Color">
- <summary>
- Gets or sets the color of a pointer.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugePointer.BorderWidth">
- <summary>
- Gets or sets the border width of a pointer.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.GaugePointer.BorderColor">
- <summary>
- Gets or sets the border color of a pointer.
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLDrawing">
- <summary>
- Drawing class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLSharedStringTable">
- <summary>
- Share all strings in document
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLSharedURLTable">
- <summary>
- Share all URL in document
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLDocumentStyles">
- <summary>
- Document styles
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLWorkbook">
- <summary>
- Workbook
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.OoXMLSheet">
- <summary>
- OoXMLSheet class
- </summary>
- </member>
- <member name="T:FastReport.Export.OoXML.Excel2007Export">
- <summary>
- Excel 2007 export class
- </summary>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.OoXML.Excel2007Export.#ctor">
- <summary>
- Initializes a new instance of the class.
- </summary>
- </member>
- <member name="P:FastReport.Export.OoXML.Excel2007Export.Wysiwyg">
- <summary>
- Gets or sets a value that determines whether the wysiwyg mode should be used
- for better results.
- </summary>
- <remarks>
- Default value is <b>true</b>. In wysiwyg mode, the resulting Excel file will look
- as close as possible to the prepared report. On the other side, it may have a lot
- of small rows/columns, which will make it less editable. If you set this property
- to <b>false</b>, the number of rows/columns in the resulting file will be decreased.
- You will get less wysiwyg, but more editable file.
- </remarks>
- </member>
- <member name="P:FastReport.Export.OoXML.Excel2007Export.PageBreaks">
- <summary>
- Gets or sets a value that determines whether to insert page breaks in the output file or not.
- </summary>
- </member>
- <member name="P:FastReport.Export.OoXML.Excel2007Export.DataOnly">
- <summary>
- Gets or sets a value that determines whether to export the databand rows only.
- </summary>
- </member>
- <member name="T:FastReport.Export.Csv.CSVExport">
- <summary>
- Represents the CSV export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.Csv.CSVExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Csv.CSVExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Csv.CSVExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Csv.CSVExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Csv.CSVExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Csv.CSVExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Csv.CSVExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Csv.CSVExport.Encoding">
- <summary>
- Gets or set the resulting file encoding.
- </summary>
- </member>
- <member name="P:FastReport.Export.Csv.CSVExport.Separator">
- <summary>
- Gets or set the separator character used in csv format.
- </summary>
- </member>
- <member name="P:FastReport.Export.Csv.CSVExport.DataOnly">
- <summary>
- Gets or sets a value that determines whether to export the databand rows only.
- </summary>
- </member>
- <member name="T:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin">
- <summary>
- Represents the RDL export plugin.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin"/> class with a specified designer.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin.GetFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ExportPlugins.RDL.RDLExportPlugin.SaveReport(FastReport.Report,System.String)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient">
- <summary>
- Google Drive cloud storage client.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.#ctor(FastReport.Cloud.StorageClient.SkyDrive.ClientInfo)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient"/> class.
- </summary>
- <param name="clientInfo">The storage client info.</param>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.GetAuthorizationUrl">
- <summary>
- Gets the authorization URL.
- </summary>
- <returns>The authorization URL stirng.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.GetAccessToken">
- <summary>
- Gets the access token.
- </summary>
- <returns>The access token string.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.SaveReport(FastReport.Report,FastReport.Export.ExportBase)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.ClientInfo">
- <summary>
- Gets or sets the client info.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.AuthCode">
- <summary>
- Gets or sets the authorization code.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient.AccessToken">
- <summary>
- Gets or sets the access token.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.RequestUtils">
- <summary>
- Provides utils for the web request.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.RequestUtils.SetProxySettings(System.Net.WebRequest,FastReport.Cloud.CloudProxySettings)">
- <summary>
- Sets proxy settings for web request.
- </summary>
- <param name="request">The web request.</param>
- <param name="settings">The cloud proxy settings.</param>
- </member>
- <member name="T:FastReport.Utils.FloatCollection">
- <summary>
- Represents a collection of float values.
- </summary>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.AddRange(System.Single[])">
- <summary>
- Adds the specified values to the end of this collection.
- </summary>
- <param name="range"></param>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.Add(System.Single)">
- <summary>
- Adds a value to the end of this collection.
- </summary>
- <param name="value">Value to add.</param>
- <returns>Index of the added value.</returns>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.Insert(System.Int32,System.Single)">
- <summary>
- Inserts a value into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The value to insert.</param>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.Remove(System.Single)">
- <summary>
- Removes the specified value from the collection.
- </summary>
- <param name="value">Value to remove.</param>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.IndexOf(System.Single)">
- <summary>
- Returns the zero-based index of the first occurrence of a value.
- </summary>
- <param name="value">The value to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of value within the entire collection, if found;
- otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.Contains(System.Single)">
- <summary>
- Determines whether a value is in the collection.
- </summary>
- <param name="value">The value to locate in the collection.</param>
- <returns><b>true</b> if value is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Utils.FloatCollection.Assign(FastReport.Utils.FloatCollection)">
- <summary>
- Copies values from another collection.
- </summary>
- <param name="source">Collection to copy from.</param>
- </member>
- <member name="P:FastReport.Utils.FloatCollection.Item(System.Int32)">
- <summary>
- Gets or sets the value at the specified index.
- </summary>
- <param name="index">Index of a value.</param>
- <returns>The value at the specified index.</returns>
- </member>
- <member name="T:FastReport.PageCollection">
- <summary>
- Holds the list of objects of <see cref="T:FastReport.PageBase"/> type.
- </summary>
- </member>
- <member name="M:FastReport.PageCollection.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PageCollection"/> class with default settings.
- </summary>
- </member>
- <member name="M:FastReport.PageCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PageCollection"/> class with specified owner.
- </summary>
- </member>
- <member name="P:FastReport.PageCollection.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.TypeEditors.FillEditor">
- <summary>
- Provides a user interface for editing a fill.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.FillEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.FillEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.TypeEditors.PageComponentRefEditor">
- <summary>
- Provides a user interface for selecting a component inside the same page.
- </summary>
- </member>
- <member name="M:FastReport.TypeEditors.PageComponentRefEditor.GetEditStyle(System.ComponentModel.ITypeDescriptorContext)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.TypeEditors.PageComponentRefEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.TypeEditors.PageComponentRefEditor.IsDropDownResizable">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.PageFooterBand">
- <summary>
- Represents a page footer band.
- </summary>
- </member>
- <member name="M:FastReport.PageFooterBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.PageFooterBand"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.PageFooterBand.StartNewPage">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.PageFooterBand.PrintOnBottom">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.GraphicCache">
- <summary>
- Represents a cache of graphics objects such as pens, brushes, fonts and text formats.
- </summary>
- <remarks>
- Cache holds all used graphics objects. There is no need to dispose objects returned
- by GetXXX calls.
- </remarks>
- <example>This example demonstrates how to use graphic cache.
- <code>
- public void Draw(FRPaintEventArgs e)
- {
- Brush brush = e.Cache.GetBrush(BackColor);
- Pen pen = e.Cache.GetPen(BorderColor, 1, BorderStyle);
- e.Graphics.FillRectangle(brush, Bounds);
- e.Graphics.DrawRectangle(pen, Bounds);
- }
- </code>
- </example>
- </member>
- <member name="M:FastReport.GraphicCache.GetPen(System.Drawing.Color,System.Single,System.Drawing.Drawing2D.DashStyle)">
- <summary>
- Gets a pen with specified settings.
- </summary>
- <param name="color">Color of a pen.</param>
- <param name="width">Width of a pen.</param>
- <param name="style">Dash style of a pen.</param>
- <returns>The <b>Pen</b> object.</returns>
- </member>
- <member name="M:FastReport.GraphicCache.GetPen(System.Drawing.Color,System.Single,System.Drawing.Drawing2D.DashStyle,System.Drawing.Drawing2D.LineJoin)">
- <summary>
- Gets a pen with specified settings.
- </summary>
- <param name="color">Color of a pen.</param>
- <param name="width">Width of a pen.</param>
- <param name="style">Dash style of a pen.</param>
- <param name="lineJoin">Line join of a pen.</param>
- <returns>The <b>Pen</b> object.</returns>
- </member>
- <member name="M:FastReport.GraphicCache.GetBrush(System.Drawing.Color)">
- <summary>
- Gets a brush with specified color.
- </summary>
- <param name="color">Color of a brush.</param>
- <returns>The <b>SolidBrush</b> object.</returns>
- </member>
- <member name="M:FastReport.GraphicCache.GetFont(System.String,System.Single,System.Drawing.FontStyle)">
- <summary>
- Gets a font with specified settings.
- </summary>
- <param name="name">Name of a font.</param>
- <param name="size">Size of a font.</param>
- <param name="style">Style of a font.</param>
- <returns>The <b>Font</b> object.</returns>
- </member>
- <member name="M:FastReport.GraphicCache.GetStringFormat(System.Drawing.StringAlignment,System.Drawing.StringAlignment,System.Drawing.StringTrimming,System.Drawing.StringFormatFlags,System.Single,System.Single)">
- <summary>
- Gets a string format with specified settings.
- </summary>
- <param name="align">Text alignment information on the vertical plane.</param>
- <param name="lineAlign">Line alignment on the horizontal plane.</param>
- <param name="trimming"><b>StringTrimming</b> enumeration.</param>
- <param name="flags"><b>StringFormatFlags</b> enumeration that contains formatting information.</param>
- <param name="firstTab">The number of spaces between the beginning of a line of text and the first tab stop.</param>
- <param name="tabWidth">Distance between tab stops.</param>
- <returns>The <b>StringFormat</b> object.</returns>
- </member>
- <member name="M:FastReport.GraphicCache.Dispose">
- <summary>
- Disposes resources used by this object.
- </summary>
- </member>
- <member name="M:FastReport.GraphicCache.#ctor">
- <summary>
- Initializes a new instance of the <b>GraphicCache</b> class with default settings.
- </summary>
- </member>
- <member name="F:FastReport.Forms.PrinterSetupForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.PrinterSetupForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.PrinterSetupForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="F:FastReport.Forms.BorderEditorForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Forms.BorderEditorForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Forms.BorderEditorForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.GridControl">
- <summary>
- Displays data in a customizable grid.
- Wraps the <see cref="T:System.Windows.Forms.DataGridView"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.GridControl.DeserializeSubItems(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.Clear">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.InitializeControl">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.FinalizeControl">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.GridControl.#ctor">
- <summary>
- Initializes a new instance of the <b>GridControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.DataGridView">
- <summary>
- Gets an internal <b>DataGridView</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.DataSource">
- <summary>
- Gets or sets the data source that the DataGridView is displaying data for.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.AllowUserToAddRows">
- <summary>
- Gets or sets a value indicating whether the option to add rows is displayed to the user.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.AllowUserToAddRows"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.AllowUserToDeleteRows">
- <summary>
- Gets or sets a value indicating whether the user is allowed to delete rows from the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.AllowUserToDeleteRows"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.AlternatingRowsDefaultCellStyle">
- <summary>
- Gets or sets the default cell style applied to odd-numbered rows of the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.AlternatingRowsDefaultCellStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.AutoSizeColumnsMode">
- <summary>
- Gets or sets a value indicating how column widths are determined.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.AutoSizeColumnsMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.AutoSizeRowsMode">
- <summary>
- Gets or sets a value indicating how row heights are determined.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.AutoSizeRowsMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.BackgroundColor">
- <summary>
- Gets or sets the background color of the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.BackgroundColor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.BorderStyle">
- <summary>
- Gets or sets the border style for the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.BorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.CellBorderStyle">
- <summary>
- Gets the cell border style for the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.CellBorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ColumnHeadersBorderStyle">
- <summary>
- Gets the border style applied to the column headers.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ColumnHeadersBorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ColumnHeadersDefaultCellStyle">
- <summary>
- Gets or sets the default column header style.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ColumnHeadersDefaultCellStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ColumnHeadersHeight">
- <summary>
- Gets or sets the height, in pixels, of the column headers row.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ColumnHeadersHeight"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ColumnHeadersHeightSizeMode">
- <summary>
- Gets or sets a value indicating whether the height of the column headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ColumnHeadersHeightSizeMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ColumnHeadersVisible">
- <summary>
- Gets or sets a value indicating whether the column header row is displayed.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ColumnHeadersVisible"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.Columns">
- <summary>
- Gets the collection of <see cref="T:FastReport.Dialog.GridControlColumn"/> objects that represents the grid columns.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.DefaultCellStyle">
- <summary>
- Gets or sets the default cell style to be applied to the cells in the DataGridView if no other cell style properties are set.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.DefaultCellStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.GridColor">
- <summary>
- Gets or sets the color of the grid lines separating the cells of the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.GridColor"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.MultiSelect">
- <summary>
- Gets or sets a value indicating whether the user is allowed to select more than one cell, row, or column of the DataGridView at a time.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.MultiSelect"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ReadOnly">
- <summary>
- Gets a value indicating whether the user can edit the cells of the DataGridView control.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ReadOnly"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.RowHeadersBorderStyle">
- <summary>
- Gets or sets the border style of the row header cells.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowHeadersBorderStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.RowHeadersDefaultCellStyle">
- <summary>
- Gets or sets the default style applied to the row header cells.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowHeadersDefaultCellStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.RowHeadersVisible">
- <summary>
- Gets or sets a value indicating whether the column that contains row headers is displayed.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowHeadersVisible"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.RowHeadersWidth">
- <summary>
- Gets or sets the width, in pixels, of the column that contains the row headers.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowHeadersWidth"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.RowHeadersWidthSizeMode">
- <summary>
- Gets or sets a value indicating whether the width of the row headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowHeadersWidthSizeMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.RowsDefaultCellStyle">
- <summary>
- Gets or sets the default style applied to the row cells of the DataGridView.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowsDefaultCellStyle"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ScrollBars">
- <summary>
- Gets or sets the type of scroll bars to display for the DataGridView control.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.ScrollBars"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.SelectionMode">
- <summary>
- Gets or sets a value indicating how the cells of the DataGridView can be selected.
- Wraps the <see cref="P:System.Windows.Forms.DataGridView.SelectionMode"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.BackColor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.ForeColor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GridControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Format.NumberFormat">
- <summary>
- Defines how numeric values are formatted and displayed.
- </summary>
- </member>
- <member name="M:FastReport.Format.NumberFormat.Clone">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.NumberFormat.Equals(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.NumberFormat.GetHashCode">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.NumberFormat.FormatValue(System.Object)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Format.NumberFormat.#ctor">
- <summary>
- Initializes a new instance of the <b>NumberFormat</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Format.NumberFormat.UseLocale">
- <summary>
- Gets or sets a value that determines whether to use system locale settings to format a value.
- </summary>
- </member>
- <member name="P:FastReport.Format.NumberFormat.DecimalDigits">
- <summary>
- Gets or sets the number of decimal places to use in numeric values.
- </summary>
- </member>
- <member name="P:FastReport.Format.NumberFormat.DecimalSeparator">
- <summary>
- Gets or sets the string to use as the decimal separator in numeric values.
- </summary>
- </member>
- <member name="P:FastReport.Format.NumberFormat.GroupSeparator">
- <summary>
- Gets or sets the string that separates groups of digits to the left of the decimal in numeric values.
- </summary>
- </member>
- <member name="P:FastReport.Format.NumberFormat.NegativePattern">
- <summary>
- Gets or sets the format pattern for negative numeric values.
- </summary>
- <remarks>This property can have one of the values in the following table.
- The symbol <i>n</i> is a number.
- <list type="table">
- <listheader><term>Value</term><description>Associated Pattern</description></listheader>
- <item><term>0</term><description>(n)</description></item>
- <item><term>1</term><description>-n</description></item>
- <item><term>2</term><description>- n</description></item>
- <item><term>3</term><description>n-</description></item>
- <item><term>4</term><description>n -</description></item>
- </list>
- </remarks>
- </member>
- <member name="T:FastReport.Data.ConnectionCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.DataConnectionBase"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Data.ConnectionCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.ConnectionCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.ConnectionCollection.Item(System.Int32)">
- <summary>
- Gets or sets a data connection.
- </summary>
- <param name="index">The index of a data connection in this collection.</param>
- <returns>The data connection with specified index.</returns>
- </member>
- <member name="T:FastReport.Wizards.StandardReportWizard">
- <summary>
- Represents the "Standard Report" wizard.
- </summary>
- </member>
- <member name="M:FastReport.Wizards.StandardReportWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Utils.ZipArchive">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.Clear">
- <summary>
-
- </summary>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.AddFile(System.String)">
- <summary>
-
- </summary>
- <param name="FileName"></param>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.AddDir(System.String)">
- <summary>
-
- </summary>
- <param name="DirName"></param>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.AddStream(System.String,System.IO.Stream)">
- <summary>
-
- </summary>
- <param name="fileName"></param>
- <param name="stream"></param>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.SaveToStream(System.IO.Stream)">
- <summary>
-
- </summary>
- <param name="Stream"></param>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.SaveToFile(System.String)">
- <summary>
-
- </summary>
- <param name="FileName"></param>
- </member>
- <member name="M:FastReport.Utils.ZipArchive.#ctor">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Utils.ZipArchive.RootFolder">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Utils.ZipArchive.Errors">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Utils.ZipArchive.Comment">
- <summary>
-
- </summary>
- </member>
- <member name="P:FastReport.Utils.ZipArchive.FileCount">
- <summary>
-
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixCells">
- <summary>
- Represents a collection of matrix data descriptors used in the <see cref="T:FastReport.Matrix.MatrixObject"/>.
- </summary>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.AddRange(FastReport.Matrix.MatrixCellDescriptor[])">
- <summary>
- Adds the specified descriptors to the end of this collection.
- </summary>
- <param name="range">Array of descriptors to add.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.Add(FastReport.Matrix.MatrixCellDescriptor)">
- <summary>
- Adds a descriptor to the end of this collection.
- </summary>
- <param name="value">Descriptor to add.</param>
- <returns>Index of the added descriptor.</returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.Insert(System.Int32,FastReport.Matrix.MatrixCellDescriptor)">
- <summary>
- Inserts a descriptor into this collection at the specified index.
- </summary>
- <param name="index">The zero-based index at which value should be inserted.</param>
- <param name="value">The descriptor to insert.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.Remove(FastReport.Matrix.MatrixCellDescriptor)">
- <summary>
- Removes the specified descriptor from the collection.
- </summary>
- <param name="value">Descriptor to remove.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.IndexOf(FastReport.Matrix.MatrixCellDescriptor)">
- <summary>
- Returns the zero-based index of the first occurrence of a descriptor.
- </summary>
- <param name="value">The descriptor to locate in the collection.</param>
- <returns>The zero-based index of the first occurrence of descriptor within
- the entire collection, if found; otherwise, -1.</returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.Contains(FastReport.Matrix.MatrixCellDescriptor)">
- <summary>
- Determines whether a descriptor is in the collection.
- </summary>
- <param name="value">The descriptor to locate in the collection.</param>
- <returns><b>true</b> if descriptor is found in the collection; otherwise, <b>false</b>.</returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.ToArray">
- <summary>
- Copies the elements of this collection to a new array.
- </summary>
- <returns>An array containing copies of this collection elements. </returns>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixCells.Deserialize(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Matrix.MatrixCells.Item(System.Int32)">
- <summary>
- Gets or sets the element at the specified index.
- </summary>
- <param name="index">Index of an element.</param>
- <returns>The element at the specified index.</returns>
- </member>
- <member name="T:FastReport.Export.Image.ImageExportFormat">
- <summary>
- Specifies the image export format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportFormat.Bmp">
- <summary>
- Specifies the .bmp format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportFormat.Png">
- <summary>
- Specifies the .png format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportFormat.Jpeg">
- <summary>
- Specifies the .jpg format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportFormat.Gif">
- <summary>
- Specifies the .gif format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportFormat.Tiff">
- <summary>
- Specifies the .tif format.
- </summary>
- </member>
- <member name="F:FastReport.Export.Image.ImageExportFormat.Metafile">
- <summary>
- Specifies the .emf format.
- </summary>
- </member>
- <member name="T:FastReport.Export.Image.ImageExport">
- <summary>
- Represents the image export filter.
- </summary>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.GetFileFilter">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.Start">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.ExportPage(System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.Finish">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.ShowDialog">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Export.Image.ImageExport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Image.ImageExport"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.ImageFormat">
- <summary>
- Gets or sets the image format.
- </summary>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.SeparateFiles">
- <summary>
- Gets or sets a value that determines whether to generate separate image file
- for each exported page.
- </summary>
- <remarks>
- If this property is set to <b>true</b>, the export filter will produce one big image
- containing all exported pages. Be careful using this property with a big report
- because it may produce out of memory error.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.Resolution">
- <summary>
- Gets or sets image resolution, in dpi.
- </summary>
- <remarks>
- By default this property is set to 96 dpi. Use bigger values (300-600 dpi)
- if you going to print the exported images.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.ResolutionX">
- <summary>
- Gets or sets horizontal image resolution, in dpi.
- </summary>
- <remarks>
- Separate horizontal and vertical resolution is used when exporting to TIFF. In other
- cases, use the <see cref="P:FastReport.Export.Image.ImageExport.Resolution"/> property instead.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.ResolutionY">
- <summary>
- Gets or sets vertical image resolution, in dpi.
- </summary>
- <remarks>
- Separate horizontal and vertical resolution is used when exporting to TIFF. In other
- cases, use the <see cref="P:FastReport.Export.Image.ImageExport.Resolution"/> property instead.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.JpegQuality">
- <summary>
- Gets or sets the jpg image quality.
- </summary>
- <remarks>
- This property is used if <see cref="P:FastReport.Export.Image.ImageExport.ImageFormat"/> is set to <b>Jpeg</b>. By default
- it is set to 100. Use lesser value to decrease the jpg file size.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.MultiFrameTiff">
- <summary>
- Gets or sets the value determines whether to produce multi-frame tiff file.
- </summary>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.MonochromeTiff">
- <summary>
- Gets or sets a value that determines whether the Tiff export must produce monochrome image.
- </summary>
- <remarks>
- Monochrome tiff image is compressed using the compression method specified in the
- <see cref="P:FastReport.Export.Image.ImageExport.MonochromeTiffCompression"/> property.
- </remarks>
- </member>
- <member name="P:FastReport.Export.Image.ImageExport.MonochromeTiffCompression">
- <summary>
- Gets or sets the compression method for a monochrome TIFF image.
- </summary>
- <remarks>
- This property is used only when exporting to TIFF image, and the <see cref="P:FastReport.Export.Image.ImageExport.MonochromeTiff"/> property
- is set to <b>true</b>.
- <para/>The valid values for this property are: <b>EncoderValue.CompressionNone</b>,
- <b>EncoderValue.CompressionLZW</b>, <b>EncoderValue.CompressionRle</b>,
- <b>EncoderValue.CompressionCCITT3</b>, <b>EncoderValue.CompressionCCITT4</b>.
- The default compression method is CCITT4.
- </remarks>
- </member>
- <member name="T:FastReport.Barcode.Barcode2of5Interleaved">
- <summary>
- Generates the "2/5 Interleaved" barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.Barcode2of5Interleaved.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.Barcode2of5Interleaved"/> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.Barcode2of5Industrial">
- <summary>
- Generates the "2/5 Industrial" barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.Barcode2of5Matrix">
- <summary>
- Generates the "2/5 Matrix" barcode.
- </summary>
- </member>
- <member name="M:FastReport.Barcode.Barcode2of5Matrix.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.Barcode2of5Matrix"/> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Export.Text.TextExportPrint">
- <summary>
- Represents supplement class for print of any stream directly in printer.
- </summary>
- </member>
- <member name="M:FastReport.Export.Text.TextExportPrint.PrintStream(System.String,System.String,System.Int32,System.IO.Stream)">
- <summary>
- Prints a stream.
- </summary>
- <param name="PrinterName">Printer name on which should be print.</param>
- <param name="DocName">Document title for printer spooler.</param>
- <param name="Copies">Count of copies.</param>
- <param name="Stream">Stream that will be printed.</param>
- <example>This example demonstrates the printing of Stream.
- <code>
- TextExportPrint.PrintStream("EPSON FX-1000", "My Report", 1, txtStream)</code>
- </example>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont">
- <summary>
- Specifies the export font class.
- </summary>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.FillOutlineTextMetrix">
- <summary>
- Run fill outline text metric structure
- </summary>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.GetGlyphWidth(System.Char)">
- <summary>
- Return glyph width
- </summary>
- <param name="c"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.GetFontData">
- <summary>
- Return font file
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.RemapString(System.String,System.Boolean)">
- <summary>
- Remap str in glyph indexes. Return string with glyph indexes.
- </summary>
- <param name="str"></param>
- <param name="rtl"></param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.GetEnglishFontName">
- <summary>
- Return english name of source font
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.GetPANOSE">
- <summary>
- Return PANOSE string
- </summary>
- <returns></returns>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.#ctor(System.Drawing.Font)">
- <summary>
- Create object of ExportTTFFont.
- </summary>
- <param name="font"></param>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.Dispose">
- <summary>
- Destructor
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.Widths">
- <summary>
- Return widths array
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.UsedGlyphIndexes">
- <summary>
- Return array with used glyph indexes - glyphs alphabet
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.UsedAlphabetUnicode">
- <summary>
- Return used unicode alphabet
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.TextMetric">
- <summary>
- Return text metric structure, need to use after FillOutlineTextMetrix()
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.Name">
- <summary>
- Gets or sets internal font name
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.SourceFont">
- <summary>
- Return source font used in constructor
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.Reference">
- <summary>
- Gets or sets internal reference
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.Saved">
- <summary>
- Gets or sets internal property - save flag
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.SCRIPT_STATE">
- <summary>
- Description of SCRIPT_STATE structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_STATE.data">
- <summary>
- data
- </summary>
- </member>
- <member name="M:FastReport.Export.TTF.ExportTTFFont.SCRIPT_STATE.SetRtl">
- <summary>
- SetRtl
- </summary>
- </member>
- <member name="P:FastReport.Export.TTF.ExportTTFFont.SCRIPT_STATE.uBidiLevel">
- <summary>
- uBidiLevel
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.SCRIPT_ANALYSIS">
- <summary>
- Description of SCRIPT_ANALYSIS structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_ANALYSIS.data">
- <summary>
- data
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_ANALYSIS.state">
- <summary>
- state
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.SCRIPT_CONTROL">
- <summary>
- Description of SCRIPT_CONTROL structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_CONTROL.data">
- <summary>
- data
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.SCRIPT_DIGITSUBSTITUTE">
- <summary>
- Description of SCRIPT_DIGITSUBSTITUTE structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_DIGITSUBSTITUTE.NationalDigitLanguage">
- <summary>
- NationalDigitLanguage
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_DIGITSUBSTITUTE.TraditionalDigitLanguage">
- <summary>
- TraditionalDigitLanguage
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_DIGITSUBSTITUTE.DigitSubstitute">
- <summary>
- DigitSubstitute
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_DIGITSUBSTITUTE.dwReserved">
- <summary>
- dwReserved
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.SCRIPT_ITEM">
- <summary>
- Description of SCRIPT_ITEM structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_ITEM.iCharPos">
- <summary>
- iCharPos
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_ITEM.analysis">
- <summary>
- analysis
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.SCRIPT_VISATTR">
- <summary>
- Description of SCRIPT_VISATTR structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.SCRIPT_VISATTR.data">
- <summary>
- data
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.GOFFSET">
- <summary>
- Description of GOFFSET structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.GOFFSET.du">
- <summary>
- du
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.GOFFSET.dv">
- <summary>
- dv
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.ABC">
- <summary>
- Description of ABC structure
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.ABC.abcA">
- <summary>
- abcA
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.ABC.abcB">
- <summary>
- abcB
- </summary>
- </member>
- <member name="F:FastReport.Export.TTF.ExportTTFFont.ABC.abcC">
- <summary>
- abcC
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.FontPanose">
- <summary>
- Description of FontPanose structure
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.FontRect">
- <summary>
- Description of FontRect structure
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.FontPoint">
- <summary>
- Description of FontPoint structure
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.FontTextMetric">
- <summary>
- Description of FontTextMetric structure
- </summary>
- </member>
- <member name="T:FastReport.Export.TTF.ExportTTFFont.OutlineTextMetric">
- <summary>
- Description of OutlineTextMetric structure
- </summary>
- </member>
- <member name="T:FastReport.Design.ImportPlugins.ComponentsFactory">
- <summary>
- The components factory.
- </summary>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateReportPage(FastReport.Report)">
- <summary>
- Creates a ReportPage instance in the specified Report.
- </summary>
- <param name="report">The Report instance.</param>
- <returns>The ReportPage instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateReportTitleBand(FastReport.ReportPage)">
- <summary>
- Creates a ReportTitleBand instance in the specified ReportPage.
- </summary>
- <param name="page">The ReportPage instance.</param>
- <returns>The ReportTitleBand instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateReportSummaryBand(FastReport.ReportPage)">
- <summary>
- Creates a ReportSummaryBand instance in the specified ReportPage.
- </summary>
- <param name="page">The ReportPage instance.</param>
- <returns>The ReportSummaryBand instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreatePageHeaderBand(FastReport.ReportPage)">
- <summary>
- Creates a PageHeaderBand instance in the specified ReportPage.
- </summary>
- <param name="page">The ReportPage instance.</param>
- <returns>The PageHeaderBand instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreatePageFooterBand(FastReport.ReportPage)">
- <summary>
- Creates a PageFooterBand instance in the specified ReportPage.
- </summary>
- <param name="page">The ReportPage instance.</param>
- <returns>The PageFooterBand instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateDataBand(FastReport.ReportPage)">
- <summary>
- Creates a DataBand instance in the specified ReportPage.
- </summary>
- <param name="page">The ReportPage instance.</param>
- <returns>The DataBand instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateChildBand(FastReport.BandBase)">
- <summary>
- Creates a ChildBand instance in the specified BandBase.
- </summary>
- <param name="parent">The BandBase instance.</param>
- <returns>The ChildBand instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateLineObject(System.String,FastReport.Base)">
- <summary>
- Creates a LineObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the LineObject instance.</param>
- <param name="parent">The parent of the LineObject instance.</param>
- <returns>The LineObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateShapeObject(System.String,FastReport.Base)">
- <summary>
- Creates a ShapeObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the ShapeObject instance.</param>
- <param name="parent">The parent of the ShapeObject instance.</param>
- <returns>The ShapeObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateTextObject(System.String,FastReport.Base)">
- <summary>
- Creates a TextObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the TextObject instance.</param>
- <param name="parent">The parent of the TextObject instance.</param>
- <returns>The TextObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreatePictureObject(System.String,FastReport.Base)">
- <summary>
- Creates a PictureObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the PictureObject instance.</param>
- <param name="parent">The parent of the PictureObject instance.</param>
- <returns>The PictureObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateSubreportObject(System.String,FastReport.Base)">
- <summary>
- Creates a SubreportObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the SubreportObject instance.</param>
- <param name="parent">The parent of the SubreportObject instance.</param>
- <returns>The SubreportObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateMSChartObject(System.String,FastReport.Base)">
- <summary>
- Creates a MSChartObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the MSChartObject instance.</param>
- <param name="parent">The parent of the MSChartObject instance.</param>
- <returns>The MSChartObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateTableObject(System.String,FastReport.Base)">
- <summary>
- Creates a TableObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the TableObject instance.</param>
- <param name="parent">The parent of the TableObject instance.</param>
- <returns>The TableObject instance.</returns>
- </member>
- <member name="M:FastReport.Design.ImportPlugins.ComponentsFactory.CreateMatrixObject(System.String,FastReport.Base)">
- <summary>
- Creates a MatrixObject instance with the specified name and parent.
- </summary>
- <param name="name">The name of the MatrixObject instance.</param>
- <param name="parent">The parent of the MatrixObject instance.</param>
- <returns>The MatrixObject instance.</returns>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.Session">
- <summary>
- Represents the Dropbox session.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.Session.#ctor(FastReport.Cloud.CloudProxySettings)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.StorageClient.Dropbox.Session"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.Session.ObtainDropboxRequestToken(FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig,FastReport.Cloud.OAuth.ConsumerContext)">
- <summary>
- Obtains the request token.
- </summary>
- <param name="config">The Dropbox storage configuration.</param>
- <param name="consumer">The consumer context.</param>
- <returns>The request token.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.Session.ObtainAuthorizationUrl(FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig,FastReport.Cloud.OAuth.Token)">
- <summary>
- Obtains the authorization URL.
- </summary>
- <param name="config">The Dropbox storage configuration.</param>
- <param name="requestToken">The request token.</param>
- <returns></returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.Session.ObtainDropboxAccessToken(FastReport.Cloud.StorageClient.Dropbox.DropboxStorageConfig,FastReport.Cloud.OAuth.ConsumerContext,FastReport.Cloud.OAuth.Token)">
- <summary>
- Obtains the access token.
- </summary>
- <param name="config">The Dropbox storage configuration.</param>
- <param name="consumer">The consumer.</param>
- <param name="requestToken">The request token string.</param>
- <returns>The access token.</returns>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.Session.ObtainFilesPutUrl(System.String,System.String,System.String,FastReport.Cloud.OAuth.ConsumerContext,FastReport.Cloud.OAuth.Token)">
- <summary>
- Obtains the URL for uploading a file using PUT semantics.
- </summary>
- <param name="baseFilesPutUrl">The base URL for files_put command.</param>
- <param name="root">The root relative to which path is specified.</param>
- <param name="filename">The name of file you want to write to.</param>
- <param name="consumer">The consumer.</param>
- <param name="accessToken">The access token.</param>
- <returns>The URL for uploading a file.</returns>
- </member>
- <member name="T:FastReport.Cloud.OAuth.ConsumerContext">
- <summary>
- Represents the consumer.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.OAuth.ConsumerContext.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Cloud.OAuth.ConsumerContext"/> class.
- </summary>
- <param name="consumerKey">The consumer key.</param>
- <param name="consumerSecret">The consumer secret.</param>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ConsumerContext.ConsumerKey">
- <summary>
- Gets the consumer key.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ConsumerContext.ConsumerSecret">
- <summary>
- Gest the consumer secret.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.OAuth.ConsumerContext.SignatureMethod">
- <summary>
- Gets the consumer's signature method.
- </summary>
- </member>
- <member name="T:FastReport.WatermarkImageSize">
- <summary>
- Specifies the watermark image size mode.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkImageSize.Normal">
- <summary>
- Specifies the normal (original) size.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkImageSize.Center">
- <summary>
- Specifies the centered image.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkImageSize.Stretch">
- <summary>
- Specifies the stretched image.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkImageSize.Zoom">
- <summary>
- Specifies the stretched image that keeps its aspect ratio.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkImageSize.Tile">
- <summary>
- Specifies the tiled image.
- </summary>
- </member>
- <member name="T:FastReport.WatermarkTextRotation">
- <summary>
- Specifies the watermark text rotation.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkTextRotation.Horizontal">
- <summary>
- Specifies a horizontal text.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkTextRotation.Vertical">
- <summary>
- Specifies a vertical text.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkTextRotation.ForwardDiagonal">
- <summary>
- Specifies a diagonal text.
- </summary>
- </member>
- <member name="F:FastReport.WatermarkTextRotation.BackwardDiagonal">
- <summary>
- Specifies a backward diagonal text.
- </summary>
- </member>
- <member name="T:FastReport.Watermark">
- <summary>
- Represents the report page watermark.
- </summary>
- <remarks>
- Watermark can draw text and/or image behind the page objects on in front of them. To enable
- watermark, set its <b>Enabled</b> property to <b>true</b>.
- </remarks>
- </member>
- <member name="M:FastReport.Watermark.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Watermark)">
- <summary>
- Serializes the watermark.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">The watermark property name.</param>
- <param name="c">Another Watermark object to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="M:FastReport.Watermark.Dispose">
- <summary>
- Disposes resources used by the watermark.
- </summary>
- </member>
- <member name="M:FastReport.Watermark.Assign(FastReport.Watermark)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="M:FastReport.Watermark.Clone">
- <summary>
- Creates exact copy of this <b>Watermark</b>.
- </summary>
- <returns>Copy of this watermark.</returns>
- </member>
- <member name="M:FastReport.Watermark.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Watermark"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.Enabled">
- <summary>
- Gets or sets avalue indicating that watermark is enabled.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.Image">
- <summary>
- Gets or sets the watermark image.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.ImageSize">
- <summary>
- Gets or sets the watermark image size mode.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.ImageTransparency">
- <summary>
- Gets or sets an image transparency.
- </summary>
- <remarks>
- Valid values are 0..1. 1 means totally transparent image.
- </remarks>
- </member>
- <member name="P:FastReport.Watermark.Text">
- <summary>
- Gets or sets the watermark text.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.Font">
- <summary>
- Gets or sets a font of the watermark text.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.TextFill">
- <summary>
- Gets or sets a text fill.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.TextRotation">
- <summary>
- Gets or sets a text rotation.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.ShowTextOnTop">
- <summary>
- Gets or sets a value indicates that the text should be displayed on top of all page objects.
- </summary>
- </member>
- <member name="P:FastReport.Watermark.ShowImageOnTop">
- <summary>
- Gets or sets a value indicates that the image should be displayed on top of all page objects.
- </summary>
- </member>
- <member name="T:FastReport.Utils.Profiler">
- <summary>
- The profiler.
- </summary>
- </member>
- <member name="M:FastReport.Utils.Profiler.Start">
- <summary>
- Starts the profiler.
- </summary>
- </member>
- <member name="M:FastReport.Utils.Profiler.Stop">
- <summary>
- Finishes the profiler and displays results.
- </summary>
- </member>
- <member name="T:FastReport.Dialog.DateTimePickerControl">
- <summary>
- Represents a Windows control that allows the user to select a date and a time and to display the date and time with a specified format.
- Wraps the <see cref="T:System.Windows.Forms.DateTimePicker"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.ShouldSerializeBackColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.ShouldSerializeForeColor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.AttachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.DetachEvents">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.GetValue">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.OnValueChanged(System.EventArgs)">
- <summary>
- This method fires the <b>ValueChanged</b> event and the script code connected to the <b>ValueChangedEvent</b>.
- </summary>
- <param name="e">Event data.</param>
- </member>
- <member name="M:FastReport.Dialog.DateTimePickerControl.#ctor">
- <summary>
- Initializes a new instance of the <b>DateTimePickerControl</b> class with default settings.
- </summary>
- </member>
- <member name="E:FastReport.Dialog.DateTimePickerControl.ValueChanged">
- <summary>
- Occurs after the date has been changed.
- Wraps the <see cref="E:System.Windows.Forms.DateTimePicker.ValueChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.DateTimePicker">
- <summary>
- Gets an internal <b>DateTimePicker</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.Checked">
- <summary>
- Gets or sets a value indicating whether the Value property has been set with a valid date/time value and the displayed value is able to be updated.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.Checked"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.CustomFormat">
- <summary>
- Gets or sets the custom date/time format string.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.CustomFormat"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.DropDownAlign">
- <summary>
- Gets or sets the alignment of the drop-down calendar on the DateTimePicker control.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.DropDownAlign"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.Format">
- <summary>
- Gets or sets the format of the date and time displayed in the control.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.Format"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.MaxDate">
- <summary>
- Gets or sets the maximum date and time that can be selected in the control.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.MaxDate"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.MinDate">
- <summary>
- Gets or sets the minimum date and time that can be selected in the control.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.MinDate"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.ShowCheckBox">
- <summary>
- Gets or sets a value indicating whether a check box is displayed to the left of the selected date.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.ShowCheckBox"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.ShowUpDown">
- <summary>
- Gets or sets a value indicating whether a spin button control (also known as an up-down control) is used to adjust the date/time value.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.ShowUpDown"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.Value">
- <summary>
- Gets or sets the date/time value assigned to the control.
- Wraps the <see cref="P:System.Windows.Forms.DateTimePicker.Value"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.ValueChangedEvent">
- <summary>
- Gets or sets a script method name that will be used to handle the
- <see cref="E:FastReport.Dialog.DateTimePickerControl.ValueChanged"/> event.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.DateTimePickerControl.Text">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="M:FastReport.Preview.OutlineControl.#ctor">
- <summary>
- Initializes a new instance of the <b>OutlineControl</b> class with default settings.
- </summary>
- </member>
- <member name="T:FastReport.Data.TableCollection">
- <summary>
- Represents the collection of <see cref="T:FastReport.Data.TableDataSource"/> objects.
- </summary>
- </member>
- <member name="M:FastReport.Data.TableCollection.#ctor(FastReport.Base)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Data.TableCollection"/> class with default settings.
- </summary>
- <param name="owner">The owner of this collection.</param>
- </member>
- <member name="P:FastReport.Data.TableCollection.Item(System.Int32)">
- <summary>
- Gets or sets a data table.
- </summary>
- <param name="index">The index of a data table in this collection.</param>
- <returns>The data table with specified index.</returns>
- </member>
- <member name="T:FastReport.ColumnLayout">
- <summary>
- The layout of the data band columns.
- </summary>
- </member>
- <member name="F:FastReport.ColumnLayout.AcrossThenDown">
- <summary>
- Print columns across then down.
- </summary>
- </member>
- <member name="F:FastReport.ColumnLayout.DownThenAcross">
- <summary>
- Print columns down then across.
- </summary>
- </member>
- <member name="T:FastReport.BandColumns">
- <summary>
- This class holds the band columns settings. It is used in the <see cref="P:FastReport.DataBand.Columns"/> property.
- </summary>
- </member>
- <member name="M:FastReport.BandColumns.Assign(FastReport.BandColumns)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="M:FastReport.BandColumns.#ctor(FastReport.DataBand)">
- <summary>
- Initializes a new instance of the <b>BandColumns</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.BandColumns.Count">
- <summary>
- Gets or sets the number of columns.
- </summary>
- <remarks>
- Set this property to 0 or 1 if you don't want to use columns.
- </remarks>
- </member>
- <member name="P:FastReport.BandColumns.Width">
- <summary>
- The column width, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.BandColumns.Layout">
- <summary>
- Gets or sets the layout of the columns.
- </summary>
- </member>
- <member name="P:FastReport.BandColumns.MinRowCount">
- <summary>
- Gets or sets the minimum row count that must be printed.
- </summary>
- <remarks>
- This property is used if the <b>Layout</b> property is set to <b>DownThenAcross</b>. 0 means that
- FastReport should calculate the optimal number of rows.
- </remarks>
- </member>
- <member name="T:FastReport.Dialog.RichTextBoxControl">
- <summary>
- Represents a Windows rich text box control.
- Wraps the <see cref="T:System.Windows.Forms.RichTextBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.RichTextBoxControl.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Dialog.RichTextBoxControl.LoadFile(System.String)">
- <summary>
- Loads rtf from a file.
- </summary>
- <param name="path">File to load from.</param>
- </member>
- <member name="M:FastReport.Dialog.RichTextBoxControl.LoadFile(System.IO.Stream,System.Windows.Forms.RichTextBoxStreamType)">
- <summary>
- Loads rtf from a stream using specified stream type.
- </summary>
- <param name="data">Stream to load from.</param>
- <param name="fileType">Type of a stream.</param>
- </member>
- <member name="M:FastReport.Dialog.RichTextBoxControl.LoadFile(System.String,System.Windows.Forms.RichTextBoxStreamType)">
- <summary>
- Loads rtf from a file using specified stream type.
- </summary>
- <param name="path">File to load from.</param>
- <param name="fileType">Type of a stream.</param>
- </member>
- <member name="M:FastReport.Dialog.RichTextBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>RichTextBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RichTextBoxControl.RichTextBox">
- <summary>
- Gets an internal <b>RichTextBox</b>.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RichTextBoxControl.Rtf">
- <summary>
- Gets or sets the text of the RichTextBox control, including all rich text format (RTF) codes.
- Wraps the <see cref="P:System.Windows.Forms.RichTextBox.Rtf"/> property.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.RichTextBoxControl.ScrollBars">
- <summary>
- Gets or sets the type of scroll bars to display in the RichTextBox control.
- Wraps the <see cref="P:System.Windows.Forms.RichTextBox.ScrollBars"/> property.
- </summary>
- </member>
- <member name="T:FastReport.Wizards.NewDataSourceWizard">
- <summary>
- Represents the "New Data Source" wizard.
- </summary>
- </member>
- <member name="M:FastReport.Wizards.NewDataSourceWizard.Run(FastReport.Design.Designer)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Table.TableResult">
- <summary>
- Represents a result table.
- </summary>
- <remarks>
- Do not use this class directly. It is used by the <see cref="T:FastReport.Table.TableObject"/> and
- <see cref="T:FastReport.Matrix.MatrixObject"/> objects to render a result.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableResult.Dispose(System.Boolean)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableResult.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableResult.#ctor">
- <summary>
- Creates a new instance of the <see cref="T:FastReport.Table.TableResult"/> class.
- </summary>
- </member>
- <member name="E:FastReport.Table.TableResult.AfterCalcBounds">
- <summary>
- Occurs after calculation of table bounds.
- </summary>
- <remarks>
- You may use this event to change automatically calculated rows/column sizes. It may be useful
- if you need to fit dynamically printed table on a page.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixHelper.UpdateTemplateSizes">
- <summary>
- Updates HeaderWidth, HeaderHeight, BodyWidth, BodyHeight properties.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixData">
- <summary>
- Contains a set of properties and methods to hold and manipulate the matrix descriptors.
- </summary>
- <remarks>
- This class contains three collections of descriptors such as <see cref="P:FastReport.Matrix.MatrixData.Columns"/>,
- <see cref="P:FastReport.Matrix.MatrixData.Rows"/> and <see cref="P:FastReport.Matrix.MatrixData.Cells"/>. Use collections' methods to add/remove
- descriptors. When you are done, call the <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/>
- method to refresh the matrix.
- <para/>To fill a matrix in code, use the <b>AddValue</b> method.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixData.Clear">
- <summary>
- Clears all descriptors.
- </summary>
- </member>
- <member name="M:FastReport.Matrix.MatrixData.AddValue(System.Object[],System.Object[],System.Object[])">
- <summary>
- Adds a value in the matrix.
- </summary>
- <param name="columnValues">Array of column values.</param>
- <param name="rowValues">Array of row values.</param>
- <param name="cellValues">Array of data values.</param>
- <remarks>
- The number of elements in an array passed to this method must be the same as
- a number of descriptors in the appropriate collection. That is, if your matrix
- has one column, two row and one cell descriptors (in <b>Columns</b>, <b>Rows</b> and
- <b>Cells</b> collections respectively), you have to pass one-element array for the
- <b>columnValues</b> param, two-element array for the <b>rowValues</b> and one-element
- array for the <b>cellValues</b>.
- </remarks>
- <example>This example demonstrates how to fill a simple matrix that contains one column,
- row and cell.
- <code>
- MatrixObject matrix;
- matrix.Data.AddValue(
- new object[] { 1996 },
- new object[] { "Andrew Fuller" },
- new object[] { 123.45f });
-
- // this will produce the following result:
- // | 1996 |
- // --------------+----------+
- // Andrew Fuller | 123.45|
- // --------------+----------+
- </code>
- </example>
- </member>
- <member name="M:FastReport.Matrix.MatrixData.AddValue(System.Object[],System.Object[],System.Object[],System.Int32)">
- <summary>
- Adds a value in the matrix.
- </summary>
- <param name="columnValues">Array of column values.</param>
- <param name="rowValues">Array of row values.</param>
- <param name="cellValues">Array of data values.</param>
- <param name="dataRowNo">Datasource row index.</param>
- <remarks>
- See the <see cref="M:FastReport.Matrix.MatrixData.AddValue(System.Object[],System.Object[],System.Object[])"/> method for more details.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixData.Columns">
- <summary>
- Gets a collection of column descriptors.
- </summary>
- <remarks>
- Note: after you change something in this collection, call the
- <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/> method to refresh the matrix.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixData.Rows">
- <summary>
- Gets a collection of row descriptors.
- </summary>
- <remarks>
- Note: after you change something in this collection, call the
- <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/> method to refresh the matrix.
- </remarks>
- </member>
- <member name="P:FastReport.Matrix.MatrixData.Cells">
- <summary>
- Gets a collection of data cell descriptors.
- </summary>
- <remarks>
- Note: after you change something in this collection, call the
- <see cref="M:FastReport.Matrix.MatrixObject.BuildTemplate"/> method to refresh the matrix.
- </remarks>
- </member>
- <member name="T:FastReport.Matrix.MatrixAggregateFunction">
- <summary>
- Specifies the aggregate function used in the <see cref="T:FastReport.Matrix.MatrixObject"/>.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.None">
- <summary>
- No aggregates are used.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.Sum">
- <summary>
- Specifies the sum of values.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.Min">
- <summary>
- Specifies the minimum of values.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.Max">
- <summary>
- Specifies the maximum of values.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.Avg">
- <summary>
- Specifies the average of values.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.Count">
- <summary>
- Specifies the count of values.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixAggregateFunction.Custom">
- <summary>
- Specifies the custom function.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixPercent">
- <summary>
- Determines how matrix percents are calculated.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixPercent.None">
- <summary>
- Do not calculate percent value.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixPercent.ColumnTotal">
- <summary>
- Calculate percent of the column total value.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixPercent.RowTotal">
- <summary>
- Calculate percent of the row total value.
- </summary>
- </member>
- <member name="F:FastReport.Matrix.MatrixPercent.GrandTotal">
- <summary>
- Calculate percent of the grand total value.
- </summary>
- </member>
- <member name="T:FastReport.Matrix.MatrixCellDescriptor">
- <summary>
- The descriptor that is used to describe one matrix data cell.
- </summary>
- <remarks>
- The <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> class is used to define one data cell of the matrix.
- The key properties are <see cref="P:FastReport.Matrix.MatrixDescriptor.Expression"/> and <see cref="P:FastReport.Matrix.MatrixCellDescriptor.Function"/>.
- To set visual appearance of the data cell, use the <see cref="P:FastReport.Matrix.MatrixDescriptor.TemplateCell"/>
- property.
- <para/>The collection of descriptors used to represent the matrix data cells is stored
- in the <b>MatrixObject.Data.Cells</b> property.
- </remarks>
- </member>
- <member name="M:FastReport.Matrix.MatrixCellDescriptor.Assign(FastReport.Matrix.MatrixDescriptor)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixCellDescriptor.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Matrix.MatrixCellDescriptor.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> class
- with default settings.
- </summary>
- </member>
- <member name="M:FastReport.Matrix.MatrixCellDescriptor.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> class
- with specified expression.
- </summary>
- <param name="expression">The descriptor's expression.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixCellDescriptor.#ctor(System.String,FastReport.Matrix.MatrixAggregateFunction)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> class
- with specified expression and aggregate function.
- </summary>
- <param name="expression">The descriptor's expression.</param>
- <param name="function">The aggregate function.</param>
- </member>
- <member name="M:FastReport.Matrix.MatrixCellDescriptor.#ctor(System.String,FastReport.Matrix.MatrixAggregateFunction,FastReport.Matrix.MatrixPercent)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> class
- with specified expression, aggregate function, and a percent.
- </summary>
- <param name="expression">The descriptor's expression.</param>
- <param name="function">The aggregate function.</param>
- <param name="percent">The percent setting.</param>
- </member>
- <member name="P:FastReport.Matrix.MatrixCellDescriptor.Function">
- <summary>
- Gets or sets an aggregate function used to calculate totals for this cell.
- </summary>
- </member>
- <member name="P:FastReport.Matrix.MatrixCellDescriptor.Percent">
- <summary>
- Gets or sets a value that determines how to calculate the percent value for this cell.
- </summary>
- </member>
- <member name="T:FastReport.Data.MsSqlDataConnection">
- <summary>
- Represents a connection to MS SQL database.
- </summary>
- <example>This example shows how to add a new connection to the report.
- <code>
- Report report1;
- MsSqlDataConnection conn = new MsSqlDataConnection();
- conn.ConnectionString = "your_connection_string";
- report1.Dictionary.Connections.Add(conn);
- conn.CreateAllTables();
- </code>
- </example>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetConnectionStringWithLoginInfo(System.String,System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.QuoteIdentifier(System.String,System.Data.Common.DbConnection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetTableNames">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetConnectionType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetDefaultParameterType">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Data.MsSqlDataConnection.GetConnectionId">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Barcode.BarcodePostNet">
- <summary>
- Generates the PostNet barcode.
- </summary>
- </member>
- <member name="F:FastReport.MSChart.GalleryForm.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.MSChart.GalleryForm.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.MSChart.GalleryForm.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="T:FastReport.Functions.Roman">
- <summary>
- Based on code of Stefan B褑ther, xprocs@hotmail.de
- </summary>
- </member>
- <member name="T:FastReport.Map.ColorScale">
- <summary>
- Represents the color scale.
- </summary>
- </member>
- <member name="M:FastReport.Map.ColorScale.Assign(FastReport.Map.ScaleBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ColorScale.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Map.ScaleBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ColorScale.CalcSize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ColorScale.Draw(FastReport.Utils.FRPaintEventArgs,FastReport.Map.MapObject)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ColorScale.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ColorScale"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorScale.Data">
- <summary>
- Gets or sets <see cref="T:FastReport.Map.ColorRanges"/> that must be displayed in this color scale.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorScale.Format">
- <summary>
- Gets or sets the format string used to format data values.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorScale.HideIfNoData">
- <summary>
- Gets or sets a value indicating whether the color scale must be hidden if there is no data in it.
- </summary>
- </member>
- <member name="P:FastReport.Map.ColorScale.NoDataText">
- <summary>
- Gets or sets the text displayed in the color scale if there is no data in it.
- </summary>
- </member>
- <member name="T:FastReport.Gauge.Linear.LinearGauge">
- <summary>
- Represents a linear gauge.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearGauge.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.Linear.LinearGauge"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearGauge.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Gauge.ScaleTicks">
- <summary>
- Represents a scale ticks.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.ScaleTicks.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.ScaleTicks"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.ScaleTicks.#ctor(System.Single,System.Int32,System.Drawing.Color)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.ScaleTicks"/> class.
- </summary>
- <param name="length">Ticks length.</param>
- <param name="width">Ticks width.</param>
- <param name="color">Ticks color.</param>
- </member>
- <member name="M:FastReport.Gauge.ScaleTicks.Assign(FastReport.Gauge.ScaleTicks)">
- <summary>
- Copies the contents of another ScaleTicks.
- </summary>
- <param name="src">The ScaleTicks instance to copy the contents from.</param>
- </member>
- <member name="M:FastReport.Gauge.ScaleTicks.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Gauge.ScaleTicks)">
- <summary>
- Serializes the scale ticks.
- </summary>
- <param name="writer">Writer object.</param>
- <param name="prefix">Scale ticks property name.</param>
- <param name="diff">Another ScaleTicks to compare with.</param>
- <remarks>
- This method is for internal use only.
- </remarks>
- </member>
- <member name="P:FastReport.Gauge.ScaleTicks.Length">
- <summary>
- Gets or sets the length of ticks.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.ScaleTicks.Width">
- <summary>
- Gets or sets the width of ticks.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.ScaleTicks.Color">
- <summary>
- Gets or sets the color of ticks.
- </summary>
- </member>
- <member name="T:FastReport.Design.StandardDesigner.DesignerControl">
- <summary>
- Represents the standard report designer.
- </summary>
- <remarks>
- This control extends the <see cref="T:FastReport.Design.Designer"/> control with
- standard menu, status bar, and toolbars.
- <para/>To choose toolbars and tool windows in design-time, click the "View" menu
- in this control and select what you want to see. Toolbars can be reordered using the mouse.
- <para/>To restore the designer layout at runtime, you need to call the
- <see cref="M:FastReport.Design.Designer.RefreshLayout">RefreshLayout</see> method in your
- form's <b>Load</b> event handler.
- </remarks>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerControl.InitPlugins">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerControl.ShowStatus(System.String,System.String,System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerControl.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/> class with default settings.
- </summary>
- </member>
- <member name="F:FastReport.Design.StandardDesigner.DesignerControl.components">
- <summary>
- Required designer variable.
- </summary>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerControl.Dispose(System.Boolean)">
- <summary>
- Clean up any resources being used.
- </summary>
- <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- </member>
- <member name="M:FastReport.Design.StandardDesigner.DesignerControl.InitializeComponent">
- <summary>
- Required method for Designer support - do not modify
- the contents of this method with the code editor.
- </summary>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.DesignerControl.MainMenu">
- <summary>
- Gets the main menu.
- </summary>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.DesignerControl.ShowMainMenu">
- <summary>
- Gets or sets a value indicating whether the main menu should be displayed or not.
- </summary>
- </member>
- <member name="P:FastReport.Design.StandardDesigner.DesignerControl.ShowStatusBar">
- <summary>
- Gets or sets a value indicating whether the status bar should be displayed or not.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.OAuth.UserContext">
- <summary>
- Represents the user.
- </summary>
- </member>
- <member name="T:FastReport.Utils.Res">
- <summary>
- Used to get localized values from the language resource file.
- </summary>
- <remarks>
- The resource file used by default is english. To load another locale, call
- the <see cref="M:FastReport.Utils.Res.LoadLocale(System.String)"/> method. It should be done at application start
- before you use any FastReport classes.
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Res.LoadLocale(System.String)">
- <summary>
- Loads the locale from a file.
- </summary>
- <param name="fileName">The name of the file that contains localized strings.</param>
- </member>
- <member name="M:FastReport.Utils.Res.LoadLocale(System.IO.Stream)">
- <summary>
- Loads the locale from a stream.
- </summary>
- <param name="stream">The stream that contains localized strings.</param>
- </member>
- <member name="M:FastReport.Utils.Res.LoadEnglishLocale">
- <summary>
- Loads the english locale.
- </summary>
- </member>
- <member name="M:FastReport.Utils.Res.Get(System.String)">
- <summary>
- Gets a string with specified ID.
- </summary>
- <param name="id">The resource ID.</param>
- <returns>The localized string.</returns>
- <remarks>
- Since the locale file is xml-based, it may contain several xml node levels. For example,
- the file contains the following items:
- <code>
- <Objects>
- <Report Text="Report"/>
- <Bands Text="Bands">
- <ReportTitle Text="Report Title"/>
- </Bands>
- </Objects>
- </code>
- To get the localized "ReportTitle" value, you should pass the following ID
- to this method: "Objects,Bands,ReportTitle".
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Res.Set(System.String,System.String)">
- <summary>
- Replaces the specified locale string with the new value.
- </summary>
- <param name="id">Comma-separated path to the existing locale string.</param>
- <param name="value">The new string.</param>
- <remarks>
- Use this method if you want to replace some existing locale value with the new one.
- </remarks>
- <example>
- <code>
- Res.Set("Messages,SaveChanges", "My text that will appear when you close the designer");
- </code>
- </example>
- </member>
- <member name="M:FastReport.Utils.Res.TryGet(System.String)">
- <summary>
- Tries to get a string with specified ID.
- </summary>
- <param name="id">The resource ID.</param>
- <returns>The localized value, if specified ID exists; otherwise, the ID itself.</returns>
- </member>
- <member name="M:FastReport.Utils.Res.StringExists(System.String)">
- <summary>
- Checks if specified ID exists.
- </summary>
- <param name="id">The resource ID.</param>
- <returns><b>true</b> if specified ID exists.</returns>
- </member>
- <member name="M:FastReport.Utils.Res.GetImages">
- <summary>
- Gets the standard images used in FastReport as an <b>ImageList</b>.
- </summary>
- <returns><b>ImageList</b> object that contains standard images.</returns>
- <remarks>
- FastReport contains about 240 truecolor images of 16x16 size that are stored in one
- big image side-by-side. This image can be found in FastReport resources (the "buttons.png" resource).
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Res.GetImage(System.Int32)">
- <summary>
- Gets an image with specified index.
- </summary>
- <param name="index">Image index (zero-based).</param>
- <returns>The image with specified index.</returns>
- <remarks>
- FastReport contains about 240 truecolor images of 16x16 size that are stored in one
- big image side-by-side. This image can be found in FastReport resources (the "buttons.png" resource).
- </remarks>
- </member>
- <member name="M:FastReport.Utils.Res.GetIcon(System.Int32)">
- <summary>
- Gets an image with specified index and converts it to <b>Icon</b>.
- </summary>
- <param name="index">Image index (zero-based).</param>
- <returns>The <b>Icon</b> object.</returns>
- </member>
- <member name="P:FastReport.Utils.Res.LocaleFolder">
- <summary>
- Gets or set the folder that contains localization files (*.frl).
- </summary>
- </member>
- <member name="P:FastReport.Utils.Res.LocaleName">
- <summary>
- Returns the current UI locale name, for example "en".
- </summary>
- </member>
- <member name="T:FastReport.Utils.MyRes">
- <summary>
- Used to access to resource IDs inside the specified branch.
- </summary>
- <remarks>
- Using the <see cref="M:FastReport.Utils.Res.Get(System.String)"/> method, you have to specify the full path to your resource.
- Using this class, you can shorten the path:
- <code>
- // using the Res.Get method
- miKeepTogether = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,KeepTogether"));
- miResetPageNumber = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,ResetPageNumber"));
- miRepeatOnEveryPage = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,RepeatOnEveryPage"));
-
- // using MyRes.Get method
- MyRes res = new MyRes("ComponentMenu,HeaderBand");
- miKeepTogether = new ToolStripMenuItem(res.Get("KeepTogether"));
- miResetPageNumber = new ToolStripMenuItem(res.Get("ResetPageNumber"));
- miRepeatOnEveryPage = new ToolStripMenuItem(res.Get("RepeatOnEveryPage"));
-
- </code>
- </remarks>
- </member>
- <member name="M:FastReport.Utils.MyRes.Get(System.String)">
- <summary>
- Gets a string with specified ID inside the main branch.
- </summary>
- <param name="id">The resource ID.</param>
- <returns>The localized value.</returns>
- </member>
- <member name="M:FastReport.Utils.MyRes.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Utils.MyRes"/> class with spevified branch.
- </summary>
- <param name="category">The main resource branch.</param>
- </member>
- <member name="T:FastReport.Utils.SRCategory">
- <summary>
- Localized CategoryAttribute class.
- </summary>
- </member>
- <member name="M:FastReport.Utils.SRCategory.GetLocalizedString(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Utils.SRCategory.#ctor(System.String)">
- <summary>
- Initializes a new instance of the SRCategory class.
- </summary>
- <param name="value">The category name.</param>
- </member>
- <member name="T:FastReport.Table.TableRow">
- <summary>
- Represents a table row.
- </summary>
- <remarks>
- Use the <see cref="P:FastReport.Table.TableRow.Height"/> property to set the height of a row. If <see cref="P:FastReport.Table.TableRow.AutoSize"/>
- property is <b>true</b>, the row will calculate its height automatically.
- <para/>You can also set the <see cref="P:FastReport.Table.TableRow.MinHeight"/> and <see cref="P:FastReport.Table.TableRow.MaxHeight"/> properties
- to restrict the row's height.
- </remarks>
- </member>
- <member name="M:FastReport.Table.TableRow.GetSelectionPoints">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.UpdateLayout(System.Single,System.Single)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.Clear">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.SelectionChanged">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Table.TableRow.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Table.TableRow"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.Height">
- <summary>
- Gets or sets a height of the row, in pixels.
- </summary>
- <remarks>
- The row height cannot exceed the range defined by the <see cref="P:FastReport.Table.TableRow.MinHeight"/>
- and <see cref="P:FastReport.Table.TableRow.MaxHeight"/> properties.
- <note>To convert between pixels and report units, use the constants defined
- in the <see cref="T:FastReport.Utils.Units"/> class.</note>
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableRow.MinHeight">
- <summary>
- Gets or sets the minimal height for this row, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.MaxHeight">
- <summary>
- Gets or sets the maximal height for this row, in pixels.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.AutoSize">
- <summary>
- Gets or sets a value determines if the row should calculate its height automatically.
- </summary>
- <remarks>
- The row height cannot exceed the range defined by the <see cref="P:FastReport.Table.TableRow.MinHeight"/>
- and <see cref="P:FastReport.Table.TableRow.MaxHeight"/> properties.
- </remarks>
- </member>
- <member name="P:FastReport.Table.TableRow.Index">
- <summary>
- Gets the index of this row.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.Top">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Table.TableRow.Item(System.Int32)">
- <summary>
- Gets or sets the cell with specified index.
- </summary>
- <param name="col">Column index.</param>
- <returns>The <b>TableCell</b> object.</returns>
- </member>
- <member name="P:FastReport.Table.TableRow.Left">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.Width">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.Dock">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.Anchor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.PageBreak">
- <summary>
- Gets or sets the page break flag for this row.
- </summary>
- </member>
- <member name="P:FastReport.Table.TableRow.KeepRows">
- <summary>
- Gets or sets the number of rows to keep on the same page.
- </summary>
- </member>
- <member name="T:FastReport.Design.PluginCollection">
- <summary>
- Represents collection of designer plugins.
- </summary>
- <remarks>
- <para>This class is used in the <b>Designer.Plugins</b> property.</para>
- <para>To register own plugin, add its type to the <see cref="T:FastReport.Design.DesignerPlugins"/> global collection:
- <code>
- DesignerPlugins.Add(typeof(MyToolbar));
- </code>
- </para>
- </remarks>
- </member>
- <member name="M:FastReport.Design.PluginCollection.Find(System.String)">
- <summary>
- Finds a plugin by its name.
- </summary>
- <param name="pluginName">The plugin's name.</param>
- <returns>The plugin, if found; otherwise, <b>null</b>.</returns>
- <example>This example shows how to find a plugin.
- <code>
- MessagesWindow window = designer.Plugins.Find("MessagesWindow") as MessagesWindow;
- </code>
- </example>
- </member>
- <member name="M:FastReport.Design.PluginCollection.FindType(System.String)">
- <summary>
- Finds a plugin by its type name.
- </summary>
- <param name="typeName">The plugin's type name.</param>
- <returns>The plugin, if found; otherwise, <b>null</b>.</returns>
- <example>This example shows how to find a plugin.
- <code>
- MessagesWindow window = designer.Plugins.FindType("MessagesWindow") as MessagesWindow;
- </code>
- </example>
- </member>
- <member name="T:FastReport.Dialog.GroupBoxControl">
- <summary>
- Represents a Windows control that displays a frame around a group of controls with an optional caption.
- Wraps the <see cref="T:System.Windows.Forms.GroupBox"/> control.
- </summary>
- </member>
- <member name="M:FastReport.Dialog.GroupBoxControl.#ctor">
- <summary>
- Initializes a new instance of the <b>GroupBoxControl</b> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Dialog.GroupBoxControl.GroupBox">
- <summary>
- Gets an internal <b>GroupBox</b>.
- </summary>
- </member>
- <member name="T:FastReport.DataFooterBand">
- <summary>
- This class represents a data band footer.
- </summary>
- </member>
- <member name="T:FastReport.DataBand">
- <summary>
- This class represents the Data band.
- </summary>
- <remarks>
- Use the <see cref="P:FastReport.DataBand.DataSource"/> property to connect the band to a datasource. Set the
- <see cref="P:FastReport.DataBand.Filter"/> property if you want to filter data rows. The <see cref="P:FastReport.DataBand.Sort"/>
- property can be used to sort data rows.
- </remarks>
- </member>
- <member name="M:FastReport.DataBand.DeserializeSubItems(FastReport.Utils.FRReader)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.GetChildObjects(FastReport.ObjectCollection)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.CanContain(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.AddChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.RemoveChild(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.GetChildOrder(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.SetChildOrder(FastReport.Base,System.Int32)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.GetSmartTag">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.InvokeEditor">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.GetExpressions">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.InitDataSource">
- <summary>
- Initializes the data source connected to this band.
- </summary>
- </member>
- <member name="M:FastReport.DataBand.InitializeComponent">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.DataBand.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.DataBand"/> class.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.Header">
- <summary>
- Gets or sets a header band.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.Bands">
- <summary>
- Gets a collection of detail bands.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.Footer">
- <summary>
- Gets or sets a footer band.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.DataSource">
- <summary>
- Gets or sets a data source.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.RowCount">
- <summary>
- Gets or sets a number of rows in the virtual data source.
- </summary>
- <remarks>
- Use this property if your data band is not connected to any data source. In this case
- the virtual data source with the specified number of rows will be used.
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.MaxRows">
- <summary>
- Limits the maximum number of rows in a datasource. 0 means no limit.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.Relation">
- <summary>
- Gets or sets a relation used to establish a master-detail relationship between
- this band and its parent.
- </summary>
- <remarks>
- Use this property if there are several relations exist between two data sources.
- If there is only one relation (in most cases it is), you can leave this property empty.
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.Sort">
- <summary>
- Gets the collection of sort conditions.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.Filter">
- <summary>
- Gets the row filter expression.
- </summary>
- <remarks>
- This property can contain any valid boolean expression. If the expression returns <b>false</b>,
- the corresponding data row will not be printed.
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.Columns">
- <summary>
- Gets the band columns.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.PrintIfDetailEmpty">
- <summary>
- Gets or sets a value that determines whether to print a band if all its detail rows are empty.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.PrintIfDatasourceEmpty">
- <summary>
- Gets or sets a value that determines whether to print a band if its datasource is empty.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.KeepTogether">
- <summary>
- Gets or sets a value indicating that all band rows should be printed together on one page.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.KeepDetail">
- <summary>
- Gets or sets a value indicating that the band should be printed together with all its detail rows.
- </summary>
- </member>
- <member name="P:FastReport.DataBand.IdColumn">
- <summary>
- Gets or sets the key column that identifies the data row.
- </summary>
- <remarks>
- <para>This property is used when printing a hierarchic list.</para>
- <para>To print the hierarchic list, you have to setup three properties: <b>IdColumn</b>,
- <b>ParentIdColumn</b> and <b>Indent</b>. First two properties are used to identify the data
- row and its parent; the <b>Indent</b> property specifies the indent that will be used to shift
- the databand according to its hierarchy level.</para>
- <para/>When printing hierarchy, FastReport shifts the band to the right
- (by value specified in the <see cref="P:FastReport.DataBand.Indent"/> property), and also decreases the
- width of the band by the same value. You may use the <b>Anchor</b> property of the
- objects on a band to indicate whether the object should move with the band, or stay
- on its original position, or shrink.
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.ParentIdColumn">
- <summary>
- Gets or sets the column that identifies the parent data row.
- </summary>
- <remarks>
- This property is used when printing a hierarchic list. See description of the
- <see cref="P:FastReport.DataBand.IdColumn"/> property for more details.
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.Indent">
- <summary>
- Gets or sets the indent that will be used to shift the databand according to its hierarchy level.
- </summary>
- <remarks>
- This property is used when printing a hierarchic list. See description of the
- <see cref="P:FastReport.DataBand.IdColumn"/> property for more details.
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.CollectChildRows">
- <summary>
- Gets or sets a value indicating that the databand should collect child data rows.
- </summary>
- <remarks>
- This property determines how the master-detail report is printed. Default behavior is:
- <para/>MasterData row1
- <para/>-- DetailData row1
- <para/>-- DetailData row2
- <para/>-- DetailData row3
- <para/>MasterData row2
- <para/>-- DetailData row1
- <para/>-- DetailData row2
- <para/>When you set this property to <b>true</b>, the master databand will collect all child data rows
- under a single master data row:
- <para/>MasterData row1
- <para/>-- DetailData row1
- <para/>-- DetailData row2
- <para/>-- DetailData row3
- <para/>-- DetailData row4
- <para/>-- DetailData row5
- </remarks>
- </member>
- <member name="P:FastReport.DataBand.ResetPageNumber">
- <summary>
- Gets or sets a value that determines whether to reset the page numbers when this band starts print.
- </summary>
- <remarks>
- Typically you should set the <see cref="P:FastReport.BandBase.StartNewPage"/> property to <b>true</b> as well.
- </remarks>
- </member>
- <member name="T:FastReport.SubreportObject">
- <summary>
- Represents a subreport object.
- </summary>
- <remarks>
- To create a subreport in code, you should create the report page first and
- connect it to the subreport using the <see cref="P:FastReport.SubreportObject.ReportPage"/> property.
- </remarks>
- <example>The following example shows how to create a subreport object in code.
- <code>
- // create the main report page
- ReportPage reportPage = new ReportPage();
- reportPage.Name = "Page1";
- report.Pages.Add(reportPage);
- // create report title band
- reportPage.ReportTitle = new ReportTitleBand();
- reportPage.ReportTitle.Name = "ReportTitle1";
- reportPage.ReportTitle.Height = Units.Millimeters * 10;
- // add subreport on it
- SubreportObject subreport = new SubreportObject();
- subreport.Name = "Subreport1";
- subreport.Bounds = new RectangleF(0, 0, Units.Millimeters * 25, Units.Millimeters * 5);
- reportPage.ReportTitle.Objects.Add(subreport);
- // create subreport page
- ReportPage subreportPage = new ReportPage();
- subreportPage.Name = "SubreportPage1";
- report.Pages.Add(subreportPage);
- // connect the subreport to the subreport page
- subreport.ReportPage = subreportPage;
- </code>
- </example>
- </member>
- <member name="M:FastReport.SubreportObject.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.SetName(System.String)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.OnAfterInsert(FastReport.InsertFrom)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.Delete">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.GetContextMenu">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.SubreportObject.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.SubreportObject"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.ReportPage">
- <summary>
- Gets or sets a report page that contains the subreport bands and objects.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.PrintOnParent">
- <summary>
- Gets or sets a value indicating that subreport must print its objects on a parent band to which it belongs.
- </summary>
- <remarks>
- Default behavior of the subreport is to print subreport objects they own separate bands.
- </remarks>
- </member>
- <member name="P:FastReport.SubreportObject.Printable">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.Exportable">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.Border">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.Fill">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.Cursor">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.Hyperlink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.CanGrow">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.CanShrink">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.Style">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.BeforePrintEvent">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.AfterPrintEvent">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="P:FastReport.SubreportObject.ClickEvent">
- <summary>
- This property is not relevant to this class.
- </summary>
- </member>
- <member name="T:FastReport.Design.ToolWindows.MessagesWindow">
- <summary>
- Represents the "Messages" window.
- </summary>
- <remarks>
- To get this window, use the following code:
- <code>
- Designer designer;
- MessagesWindow window = designer.Plugins.FindType("MessagesWindow") as MessagesWindow;
- </code>
- </remarks>
- </member>
- <member name="M:FastReport.Design.ToolWindows.MessagesWindow.Localize">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Design.ToolWindows.MessagesWindow.ClearMessages">
- <summary>
- Clears the message list.
- </summary>
- </member>
- <member name="M:FastReport.Design.ToolWindows.MessagesWindow.AddMessage(System.String,System.String)">
- <summary>
- Adds a new message.
- </summary>
- <param name="description">The message text.</param>
- <param name="objName">The name of object related to a message.</param>
- </member>
- <member name="M:FastReport.Design.ToolWindows.MessagesWindow.AddMessage(System.String,System.Int32,System.Int32)">
- <summary>
- Adds a new script-related message.
- </summary>
- <param name="description">The message text.</param>
- <param name="line">The line of the script.</param>
- <param name="column">The column of the script.</param>
- </member>
- <member name="M:FastReport.Design.ToolWindows.MessagesWindow.#ctor(FastReport.Design.Designer)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Design.ToolWindows.MessagesWindow"/> class with default settings.
- </summary>
- <param name="designer">The report designer.</param>
- </member>
- <member name="T:FastReport.CustomLoadEventArgs">
- <summary>
- Provides data for the <see cref="E:FastReport.Report.LoadBaseReport"/> event.
- </summary>
- </member>
- <member name="M:FastReport.CustomLoadEventArgs.#ctor(System.String,FastReport.Report)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.CustomLoadEventArgs"/> class using the specified
- file name and the report.
- </summary>
- <param name="fileName">The name of the file to load the report from.</param>
- <param name="report">The report.</param>
- </member>
- <member name="P:FastReport.CustomLoadEventArgs.FileName">
- <summary>
- Gets a name of the file to load the report from.
- </summary>
- </member>
- <member name="P:FastReport.CustomLoadEventArgs.Report">
- <summary>
- The reference to a report.
- </summary>
- </member>
- <member name="T:FastReport.CustomLoadEventHandler">
- <summary>
- Represents the method that will handle the <see cref="E:FastReport.Report.LoadBaseReport"/> event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.ProgressEventArgs">
- <summary>
- Provides data for the Progress event.
- </summary>
- </member>
- <member name="M:FastReport.ProgressEventArgs.#ctor(System.String,System.Int32,System.Int32)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.ProgressEventArgs"/> class using the specified
- message, page number and total number of pages.
- </summary>
- <param name="message">The progress message.</param>
- <param name="progress">Current page number.</param>
- <param name="total">Number of total pages.</param>
- </member>
- <member name="P:FastReport.ProgressEventArgs.Message">
- <summary>
- Gets a progress message.
- </summary>
- </member>
- <member name="P:FastReport.ProgressEventArgs.Progress">
- <summary>
- Gets the current page number.
- </summary>
- </member>
- <member name="P:FastReport.ProgressEventArgs.Total">
- <summary>
- Gets the number of total pages.
- </summary>
- </member>
- <member name="T:FastReport.ProgressEventHandler">
- <summary>
- Represents the method that will handle the Progress event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.DatabaseLoginEventArgs">
- <summary>
- Provides data for the DatabaseLogin event.
- </summary>
- </member>
- <member name="M:FastReport.DatabaseLoginEventArgs.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.DatabaseLoginEventArgs"/> class using the specified
- connection string.
- </summary>
- <param name="connectionString">The connection string.</param>
- </member>
- <member name="P:FastReport.DatabaseLoginEventArgs.ConnectionString">
- <summary>
- Gets or sets the connection string.
- </summary>
- </member>
- <member name="P:FastReport.DatabaseLoginEventArgs.UserName">
- <summary>
- Gets or sets an user name.
- </summary>
- </member>
- <member name="P:FastReport.DatabaseLoginEventArgs.Password">
- <summary>
- Gets or sets a password.
- </summary>
- </member>
- <member name="T:FastReport.DatabaseLoginEventHandler">
- <summary>
- Represents the method that will handle the DatabaseLogin event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.AfterDatabaseLoginEventArgs">
- <summary>
- Provides data for the AfterDatabaseLogin event.
- </summary>
- </member>
- <member name="M:FastReport.AfterDatabaseLoginEventArgs.#ctor(System.Data.Common.DbConnection)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.AfterDatabaseLoginEventArgs"/> class using
- the specified connection.
- </summary>
- <param name="connection">The connection object.</param>
- </member>
- <member name="P:FastReport.AfterDatabaseLoginEventArgs.Connection">
- <summary>
- Gets the <b>DbConnection</b> object.
- </summary>
- </member>
- <member name="T:FastReport.AfterDatabaseLoginEventHandler">
- <summary>
- Represents the method that will handle the AfterDatabaseLogin event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.FilterPropertiesEventArgs">
- <summary>
- Provides data for the FilterProperties event.
- </summary>
- </member>
- <member name="P:FastReport.FilterPropertiesEventArgs.Property">
- <summary>
- Gets the property descriptor.
- </summary>
- </member>
- <member name="P:FastReport.FilterPropertiesEventArgs.Skip">
- <summary>
- Gets or sets a value that indicates whether this property should be skipped.
- </summary>
- </member>
- <member name="T:FastReport.FilterPropertiesEventHandler">
- <summary>
- Represents the method that will handle the FilterProperties event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.GetPropertyKindEventArgs">
- <summary>
- Provides data for the GetPropertyKind event.
- </summary>
- </member>
- <member name="P:FastReport.GetPropertyKindEventArgs.PropertyName">
- <summary>
- Gets the property name.
- </summary>
- </member>
- <member name="P:FastReport.GetPropertyKindEventArgs.PropertyType">
- <summary>
- Gets the property type.
- </summary>
- </member>
- <member name="P:FastReport.GetPropertyKindEventArgs.PropertyKind">
- <summary>
- Gets or sets the kind of property.
- </summary>
- </member>
- <member name="T:FastReport.GetPropertyKindEventHandler">
- <summary>
- Represents the method that will handle the GetPropertyKind event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.GetTypeInstanceEventArgs">
- <summary>
- Provides data for the GetTypeInstance event.
- </summary>
- </member>
- <member name="P:FastReport.GetTypeInstanceEventArgs.Type">
- <summary>
- Gets the type.
- </summary>
- </member>
- <member name="P:FastReport.GetTypeInstanceEventArgs.Instance">
- <summary>
- Gets or sets the instance of type.
- </summary>
- </member>
- <member name="T:FastReport.GetTypeInstanceEventHandler">
- <summary>
- Represents the method that will handle the GetPropertyKind event.
- </summary>
- <param name="sender">The source of the event.</param>
- <param name="e">The event data.</param>
- </member>
- <member name="T:FastReport.HyperlinkKind">
- <summary>
- Specifies the hyperlink type.
- </summary>
- </member>
- <member name="F:FastReport.HyperlinkKind.URL">
- <summary>
- Specifies the hyperlink to external URL such as "http://www.fast-report.com", "mailto:"
- or any other system command.
- </summary>
- </member>
- <member name="F:FastReport.HyperlinkKind.PageNumber">
- <summary>
- Specifies hyperlink to a given page number.
- </summary>
- </member>
- <member name="F:FastReport.HyperlinkKind.Bookmark">
- <summary>
- Specifies hyperlink to a bookmark.
- </summary>
- </member>
- <member name="F:FastReport.HyperlinkKind.DetailReport">
- <summary>
- Specifies hyperlink to external report. This report will be run when you follow the hyperlink.
- </summary>
- </member>
- <member name="F:FastReport.HyperlinkKind.DetailPage">
- <summary>
- Specifies hyperlink to this report's page. The page will be run when you follow the hyperlink.
- </summary>
- </member>
- <member name="F:FastReport.HyperlinkKind.Custom">
- <summary>
- Specifies a custom hyperlink. No actions performed when you click it, you should handle it
- in the object's Click event handler.
- </summary>
- </member>
- <member name="T:FastReport.Hyperlink">
- <summary>
- This class contains a hyperlink settings.
- </summary>
- </member>
- <member name="M:FastReport.Hyperlink.Assign(FastReport.Hyperlink)">
- <summary>
- Assigns values from another source.
- </summary>
- <param name="source">Source to assign from.</param>
- </member>
- <member name="P:FastReport.Hyperlink.Kind">
- <summary>
- Gets or sets the kind of hyperlink.
- </summary>
- <remarks>
- <para>Use the <b>Kind</b> property to define hyperlink's behavior.
- The hyperlink may be used to navigate to the external url, the page number,
- the bookmark defined by other report object, the external report, the other page of this report,
- and custom hyperlink.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Hyperlink.Expression">
- <summary>
- Gets or sets the expression which value will be used for navigation.
- </summary>
- <remarks>
- <para>Normally you should set the <b>Expression</b> property to
- any valid expression that will be calculated when this object is about to print.
- The value of an expression will be used for navigation.</para>
- <para>If you want to navigate to some fixed data (URL or page number, for example),
- use the <see cref="P:FastReport.Hyperlink.Value"/> property instead.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Hyperlink.Value">
- <summary>
- Gets or sets a value that will be used for navigation.
- </summary>
- <remarks>
- Use this property to specify the fixed data (such as URL, page number etc). If you want to
- navigate to some dynamically calculated value, use the <see cref="P:FastReport.Hyperlink.Expression"/> property instead.
- </remarks>
- </member>
- <member name="P:FastReport.Hyperlink.DetailReportName">
- <summary>
- Gets or sets an external report file name.
- </summary>
- <remarks>
- <para>Use this property if <see cref="P:FastReport.Hyperlink.Kind"/> is set to <b>DetailReport</b>. </para>
- <para>When you follow the hyperlink, this report will be loaded and run.
- You also may specify the report's parameter in the <see cref="P:FastReport.Hyperlink.ReportParameter"/> property.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Hyperlink.DetailPageName">
- <summary>
- Gets or sets the name of this report's page.
- </summary>
- <remarks>
- <para>Use this property if <see cref="P:FastReport.Hyperlink.Kind"/> is set to <b>DetailPage</b>. </para>
- <para>When you follow the hyperlink, the specified page will be executed. It may contain the
- detailed report. You also may specify the report's parameter in the
- <see cref="P:FastReport.Hyperlink.ReportParameter"/> property.</para>
- </remarks>
- </member>
- <member name="P:FastReport.Hyperlink.ReportParameter">
- <summary>
- Gets or sets a parameter's name that will be set to hyperlink's value.
- </summary>
- <remarks>
- Use this property if <see cref="P:FastReport.Hyperlink.Kind"/> is set to <b>DetailReport</b> or <b>DetailPage</b>.
- <para>If you want to pass the hyperlink's value to the report's parameter, specify the
- parameter name in this property. This parameter will be set to the hyperlink's value
- before running a report. It may be used to display detailed information about clicked item.</para>
- <para>It is also possible to pass multiple values to several parameters. If hyperlink's value
- contains separators (the separator string can be set in the <see cref="P:FastReport.Hyperlink.ValuesSeparator"/>
- property), it will be splitted to several values. That values will be passed to nested parameters
- of the <b>ReportParameter</b> (you should create nested parameters by youself). For example, you have
- the <b>ReportParameter</b> called "SelectedValue" which has two nested parameters: the first one is
- "Employee" and the second is "Category". The hyperlink's value is "Andrew Fuller;Beverages".
- It will be splitted to two values: "Andrew Fuller" and "Beverages". The first nested parameter
- of the <b>ReportParameter</b> that is "Employee" in our case will be set to "Andrew Fuller";
- the second nested parameter ("Category") will be set to "Beverages".</para>
- <para>Note: when you create a parameter in the detailed report, don't forget to set
- its <b>DataType</b> property. It is used to convert string values to actual data type.
- </para>
- </remarks>
- </member>
- <member name="P:FastReport.Hyperlink.ValuesSeparator">
- <summary>
- Gets or sets a string that will be used as a separator to pass several values
- to the external report parameters.
- </summary>
- </member>
- <member name="T:FastReport.EnvironmentSettings">
- <summary>
- This class contains some global settings that used in the FastReport.Net.
- </summary>
- <remarks>
- This component is intended for use in the Visual Studio IDE to quickly configure
- FastReport global settings. To use it, drop the component on your Form and set up
- its properties and events.
- <para/>Here are some common actions that can be performed with this object:
- <list type="bullet">
- <item>
- <description>To define own open/save dialogs that will be used in the report designer,
- use the <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/> events;
- </description>
- </item>
- <item>
- <description>To pass connection string to the connection object defined in a report,
- or to define own database login dialog, use the <see cref="E:FastReport.EnvironmentSettings.DatabaseLogin"/> event;
- </description>
- </item>
- <item>
- <description>To adjust the connection object after it is opened,
- use the <see cref="E:FastReport.EnvironmentSettings.AfterDatabaseLogin"/> event;
- </description>
- </item>
- <item>
- <description>To define own progress window, use the <see cref="E:FastReport.EnvironmentSettings.StartProgress"/>,
- <see cref="E:FastReport.EnvironmentSettings.FinishProgress"/> and <see cref="E:FastReport.EnvironmentSettings.Progress"/> events;
- </description>
- </item>
- <item>
- <description>To setup some common properties of the report, designer and preview,
- use properties defined in this class;
- </description>
- </item>
- <item>
- <description>To set UI style of the designer and preview window,
- use <see cref="P:FastReport.EnvironmentSettings.UIStyle"/> property.
- </description>
- </item>
- </list>
- <para/>This component actually uses the <see cref="T:FastReport.Utils.Config"/> static class which
- contains <see cref="P:FastReport.Utils.Config.ReportSettings"/>, <see cref="P:FastReport.Utils.Config.DesignerSettings"/> and
- <see cref="P:FastReport.Utils.Config.PreviewSettings"/> properties. You can use <b>Config</b> class as well.
- </remarks>
- </member>
- <member name="P:FastReport.EnvironmentSettings.UIStyle">
- <summary>
- Gets or sets the UI style of the designer and preview windows.
- </summary>
- <remarks>
- This property affects both designer and preview windows.
- </remarks>
- </member>
- <member name="P:FastReport.EnvironmentSettings.UseOffice2007Form">
- <summary>
- Gets or sets a value indicating whether the Office2007-style window should be used
- instead of standard Form when Office2007 color scheme is selected.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.StartProgress">
- <summary>
- Occurs before displaying a progress window.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.FinishProgress">
- <summary>
- Occurs after closing a progress window.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.Progress">
- <summary>
- Occurs when progress state is changed.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.DatabaseLogin">
- <summary>
- Occurs when database connection is about to open.
- </summary><remarks>
- Use this event to provide own connection string or user name/password to the connection
- object that is about to open.
- <para/>To provide own connection string, set the <b>e.ConnectionString</b> property.
- In this case the new connection string will be used.
- <para/>To provide own user name/password, set the <b>e.UserName</b> and <b>e.Password</b> properties.
- You may ask these values in own login dialog.
- </remarks><example>This example shows how to provide username/password using own login dialog.
- <code>
- private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e)
- {
- using (MyLoginDialog dialog = new MyLoginDialog())
- {
- if (dialog.ShowDialog() == DialogResult.OK)
- {
- e.UserName = dialog.UserName;
- e.Password = dialog.Password;
- }
- }
- }
- </code>
- </example><example>This example shows how to provide own connection string.
- <code>
- private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e)
- {
- e.ConnectionString = my_connection_string;
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.AfterDatabaseLogin">
- <summary>
- Occurs after the database connection is established.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.FilterBusinessObjectProperties">
- <summary>
- Occurs when discovering the business object's structure.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.GetBusinessObjectPropertyKind">
- <summary>
- Occurs when determining the kind of business object's property.
- </summary>
- </member>
- <member name="P:FastReport.EnvironmentSettings.ReportSettings">
- <summary>
- Gets or sets the report settings.
- </summary>
- </member>
- <member name="E:FastReport.EnvironmentSettings.DesignerLoaded">
- <summary>
- Occurs when the designer is loaded.
- </summary>
- <remarks>
- Use this event if you want to customize some aspects of the designer, for example,
- to hide some menu items.
- </remarks>
- <example>
- This example demonstrates how to hide the "File|Select Language..." menu item.
- <code>
- environmentSettings1.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded);
-
- void DesignerSettings_DesignerLoaded(object sender, EventArgs e)
- {
- (sender as DesignerControl).MainMenu.miFileSelectLanguage.Visible = false;
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.ReportLoaded">
- <summary>
- Occurs when report is loaded in the designer.
- </summary>
- <remarks>
- Use this event handler to register application data in a report.
- </remarks>
- </member>
- <member name="E:FastReport.EnvironmentSettings.ObjectInserted">
- <summary>
- Occurs when object is inserted in the designer.
- </summary>
- <remarks>
- Use this event handler to set some object's properties when it is inserted.
- </remarks>
- </member>
- <member name="E:FastReport.EnvironmentSettings.CustomOpenDialog">
- <summary>
- Occurs when the report designer is about to show the "Open" dialog.
- </summary><remarks>
- Use this event to attach own "Open" dialog to the designer. In the event handler, you must
- display a dialog window to allow user to choose a report file.
- If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
- <b>e.FileName</b> to the selected file name.
- <para/>You also need to use <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/> event to provide code that
- will open the report.
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.CustomSaveDialog">
- <summary>
- Occurs when the report designer is about to show the "Save" dialog.
- </summary><remarks>
- Use this event to attach own "Save" dialog to the designer. In the event handler, you must
- display a dialog window to allow user to choose a report file.
- If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
- <b>e.FileName</b> to the selected file name.
- <para/>You also need to use <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/> event to provide code that
- will save the report.
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.CustomOpenReport">
- <summary>
- Occurs when the report designer is about to load the report.
- </summary><remarks>
- <para/>This event is used together with the <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/> event.
- <para/>Use this event to attach own "Open" dialog to the designer. In the event handler, you must
- load the <b>e.Report</b> from the location specified in the <b>e.FileName</b> property.
- For example, if you work with files: <c>e.Report.Load(e.FileName);</c>
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.CustomSaveReport">
- <summary>
- Occurs when the report designer is about to save the report.
- </summary><remarks>
- <para/>This event is used together with the <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/> event.
- <para/>Use this event to attach own "Save" dialog to the designer. In the event handler, you must
- save the <b>e.Report</b> to the location specified in the <b>e.FileName</b> property.
- For example, if you work with files: <c>e.Report.Save(e.FileName);</c>
- </remarks>
- <example>
- This example shows how to attach own "Open" and "Save" dialogs to the designer.
- It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
- <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/>.
- <code>
- private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (OpenFileDialog dialog = new OpenFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
- {
- using (SaveFileDialog dialog = new SaveFileDialog())
- {
- dialog.Filter = "Report files (*.frx)|*.frx";
- // get default file name from e.FileName
- dialog.FileName = e.FileName;
-
- // set e.Cancel to false if dialog was succesfully executed
- e.Cancel = dialog.ShowDialog() != DialogResult.OK;
- // set e.FileName to the selected file name
- e.FileName = dialog.FileName;
- }
- }
-
- private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // load the report from the given e.FileName
- e.Report.Load(e.FileName);
- }
-
- private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
- {
- // save the report to the given e.FileName
- e.Report.Save(e.FileName);
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.CustomPreviewReport">
- <summary>
- Occurs when previewing a report from the designer.
- </summary>
- <remarks>
- Use this event to show own preview window.
- </remarks>
- <example>
- <code>
- environmentSettings1.CustomPreviewReport += new EventHandler(MyPreviewHandler);
-
- private void MyPreviewHandler(object sender, EventArgs e)
- {
- Report report = sender as Report;
- using (MyPreviewForm form = new MyPreviewForm())
- {
- report.Preview = form.previewControl1;
- report.ShowPreparedReport();
- form.ShowDialog();
- }
- }
- </code>
- </example>
- </member>
- <member name="E:FastReport.EnvironmentSettings.FilterConnectionTables">
- <summary>
- Occurs when getting available table names from the connection.
- </summary>
- <remarks>
- Use this handler to filter the list of tables returned by the connection object.
- </remarks>
- <example>
- This example demonstrates how to hide the table with "Table 1" name from the Data Wizard.
- <code>
- environmentSettings1.FilterConnectionTables += DesignerSettings_FilterConnectionTables;
-
- private void DesignerSettings_FilterConnectionTables(object sender, FilterConnectionTablesEventArgs e)
- {
- if (e.TableName == "Table 1")
- e.Skip = true;
- }
- </code>
- </example>
- </member>
- <member name="P:FastReport.EnvironmentSettings.DesignerSettings">
- <summary>
- Gets or sets the designer settings.
- </summary>
- </member>
- <member name="P:FastReport.EnvironmentSettings.PreviewSettings">
- <summary>
- Gets or sets the preview settings.
- </summary>
- </member>
- <member name="P:FastReport.EnvironmentSettings.EmailSettings">
- <summary>
- Gets or sets the email settings.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.Barcode93">
- <summary>
- Generates the Code93 barcode.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.Barcode93.IsNumeric">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Barcode.Barcode93Extended">
- <summary>
- Generates the Code93 extended barcode.
- </summary>
- </member>
- <member name="T:FastReport.Barcode.Barcode128">
- <summary>
- Generates the Code128 barcode.
- </summary>
- <remarks>
- This barcode supports three code pages: A, B and C. You need to set appropriate code page
- in the barcode text, or use the auto encode feature. See the <see cref="P:FastReport.Barcode.Barcode128.AutoEncode"/> property
- for more details.
- </remarks>
- <example>This example shows how to configure the BarcodeObject to display Code128 barcode.
- <code>
- BarcodeObject barcode;
- ...
- barcode.Barcode = new Barcode128();
- (barcode.Barcode as Barcode128).AutoEncode = false;
- </code>
- </example>
- </member>
- <member name="M:FastReport.Barcode.Barcode128.Assign(FastReport.Barcode.BarcodeBase)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Barcode.Barcode128.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Barcode.Barcode128"/> class with default settings.
- </summary>
- </member>
- <member name="P:FastReport.Barcode.Barcode128.AutoEncode">
- <summary>
- Gets or sets a value that determines whether the barcode should automatically
- use appropriate encoding.
- </summary>
- <remarks>
- You may use this property to encode data automatically. If you set it to <b>false</b>,
- you must specify the code page inside the data string. The following control codes are available:
- <list type="table">
- <listheader>
- <term>Sequence</term>
- <description>Code128 control code</description>
- </listheader>
- <item>
- <term>&A;</term>
- <description>START A / CODE A</description>
- </item>
- <item>
- <term>&B;</term>
- <description>START B / CODE B</description>
- </item>
- <item>
- <term>&C;</term>
- <description>START C / CODE C</description>
- </item>
- </list>
- <item>
- <term>&S;</term>
- <description>SHIFT</description>
- </item>
- <item>
- <term>&1;</term>
- <description>FNC1</description>
- </item>
- <item>
- <term>&2;</term>
- <description>FNC2</description>
- </item>
- <item>
- <term>&3;</term>
- <description>FNC3</description>
- </item>
- <item>
- <term>&4;</term>
- <description>FNC4</description>
- </item>
- </remarks>
- <example>The following example shows how to specify control codes:
- <code>
- BarcodeObject barcode;
- barcode.Barcode = new Barcode128();
- (barcode.Barcode as Barcode128).AutoEncode = false;
- barcode.Text = "&C;1234&A;ABC";
- </code>
- </example>
- </member>
- <member name="P:FastReport.Barcode.Barcode128.IsNumeric">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Map.ShapePoint">
- <summary>
- Represents a map point.
- </summary>
- </member>
- <member name="M:FastReport.Map.ShapePoint.Assign(FastReport.Base)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePoint.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePoint.DrawLabel(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePoint.Serialize(FastReport.Utils.FRWriter)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePoint.HitTest(System.Drawing.PointF)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Map.ShapePoint.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.ShapePoint"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapePoint.X">
- <summary>
- Gets or sets the X-coordinate of the point.
- </summary>
- </member>
- <member name="P:FastReport.Map.ShapePoint.Y">
- <summary>
- Gets or sets the Y-coordinate of the point.
- </summary>
- </member>
- <member name="T:FastReport.Map.Import.DbfFileImport">
- <summary>
- Represents loading map data from dbf-file.
- </summary>
- </member>
- <member name="M:FastReport.Map.Import.DbfFileImport.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.Import.DbfFileImport"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Map.Import.DbfFileImport.GetFilter">
- <summary>
- Returns a file filter for an open file dialog.
- </summary>
- <returns>String that contains a file filter.</returns>
- </member>
- <member name="M:FastReport.Map.Import.DbfFileImport.ImportFile(FastReport.Map.MapLayer,System.String)">
- <summary>
- Imports the map data from a specified file into a specfied layer.
- </summary>
- <param name="layer">The MapObject for an importing map.</param>
- <param name="filename">The name of a file that contains map.</param>
- </member>
- <member name="P:FastReport.Map.Import.DbfFileImport.Filter">
- <summary>
- Gets or sets the filter string used in an open file dialog.
- </summary>
- </member>
- <member name="T:FastReport.Map.Import.DBaseFieldDescription">
- <summary>
- Represents the description of dBase field.
- </summary>
- </member>
- <member name="M:FastReport.Map.Import.DBaseFieldDescription.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.Import.DBaseFieldDescription"/> class.
- </summary>
- </member>
- <member name="M:FastReport.Map.Import.DBaseFieldDescription.#ctor(System.String,FastReport.Map.Import.DBaseFieldType,System.Int32)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.Import.DBaseFieldDescription"/> class with a specified parameters.
- </summary>
- <param name="name">The field name.</param>
- <param name="type">The field type.</param>
- <param name="length">The field length.</param>
- </member>
- <member name="M:FastReport.Map.Import.DBaseFieldDescription.#ctor(System.String,System.String,System.Int32)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Map.Import.DBaseFieldDescription"/> class with a specified parameters.
- </summary>
- <param name="name">The field name.</param>
- <param name="type">The field type.</param>
- <param name="length">The field length.</param>
- </member>
- <member name="P:FastReport.Map.Import.DBaseFieldDescription.Name">
- <summary>
- Gets the field name.
- </summary>
- </member>
- <member name="P:FastReport.Map.Import.DBaseFieldDescription.Type">
- <summary>
- Gets the field type.
- </summary>
- </member>
- <member name="P:FastReport.Map.Import.DBaseFieldDescription.Length">
- <summary>
- Gets the field length.
- </summary>
- </member>
- <member name="T:FastReport.Map.Import.DBaseFieldType">
- <summary>
- The type of dBase field.
- </summary>
- </member>
- <member name="F:FastReport.Map.Import.DBaseFieldType.Char">
- <summary>
- Character field.
- </summary>
- </member>
- <member name="F:FastReport.Map.Import.DBaseFieldType.Date">
- <summary>
- Date field.
- </summary>
- </member>
- <member name="F:FastReport.Map.Import.DBaseFieldType.Numeric">
- <summary>
- Numeric field.
- </summary>
- </member>
- <member name="F:FastReport.Map.Import.DBaseFieldType.Logical">
- <summary>
- Logical field.
- </summary>
- </member>
- <member name="F:FastReport.Map.Import.DBaseFieldType.Memo">
- <summary>
- Memo field.
- </summary>
- </member>
- <member name="T:FastReport.Gauge.Linear.LinearPointer">
- <summary>
- Represents a linear pointer.
- </summary>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearPointer.#ctor(FastReport.Gauge.GaugeObject)">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Gauge.Linear.LinearPointer"/>
- </summary>
- <param name="parent">The parent gauge object.</param>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearPointer.Assign(FastReport.Gauge.GaugePointer)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearPointer.Draw(FastReport.Utils.FRPaintEventArgs)">
- <inheritdoc/>
- </member>
- <member name="M:FastReport.Gauge.Linear.LinearPointer.Serialize(FastReport.Utils.FRWriter,System.String,FastReport.Gauge.GaugePointer)">
- <inheritdoc/>
- </member>
- <member name="P:FastReport.Gauge.Linear.LinearPointer.Height">
- <summary>
- Gets o sets the height of gauge pointer.
- </summary>
- </member>
- <member name="P:FastReport.Gauge.Linear.LinearPointer.Width">
- <summary>
- Gets or sets the width of a pointer.
- </summary>
- </member>
- <member name="T:FastReport.Export.Html.HtmlTemplates">
- <summary>
- Represents the HTML export templates.
- </summary>
- </member>
- <member name="M:FastReport.Export.Html.HtmlTemplates.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:FastReport.Export.Html.HtmlTemplates"/> class.
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HtmlTemplates.PageTemplateTitle">
- <summary>
- Page Template Title
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HtmlTemplates.PageTemplateFooter">
- <summary>
- Page Template Footer
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HtmlTemplates.NavigatorTemplate">
- <summary>
- Navigator Template
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HtmlTemplates.OutlineTemplate">
- <summary>
- OutlineTemplate
- </summary>
- </member>
- <member name="P:FastReport.Export.Html.HtmlTemplates.IndexTemplate">
- <summary>
- Index Template
- </summary>
- </member>
- <member name="T:FastReport.Cloud.RequestParameter">
- <summary>
- Represents the parameter of http request.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.RequestParameter.#ctor(System.String,System.String)">
- <summary>
- Initializes a naw instance of the <see cref="T:FastReport.Cloud.RequestParameter"/> class with a specified parameters.
- </summary>
- <param name="name">The name of a request parameter.</param>
- <param name="value">The value of a request paramter.</param>
- </member>
- <member name="P:FastReport.Cloud.RequestParameter.Name">
- <summary>
- Gets the name of a request parameter.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.RequestParameter.Value">
- <summary>
- Gets the value of a request parameter.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.RequestParameterComparer">
- <summary>
- Comparer class for comparing request parameters.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.RequestParameterComparer.Compare(FastReport.Cloud.RequestParameter,FastReport.Cloud.RequestParameter)">
- <inheritdoc/>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.AppInfo">
- <summary>
- Represents the information about Dropbox application.
- </summary>
- </member>
- <member name="M:FastReport.Cloud.StorageClient.Dropbox.AppInfo.#ctor(System.String,System.String,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cret="AppInfo"/> class with a specified properties.
- </summary>
- <param name="name">The app name.</param>
- <param name="key">The app key.</param>
- <param name="secret">The app secret.</param>
- <param name="folder">The name of app folder.</param>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AppInfo.Name">
- <summary>
- Gets or sets the app name.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AppInfo.Key">
- <summary>
- Gets or sets the app key.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AppInfo.Secret">
- <summary>
- Gets or sets the app secret.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AppInfo.AccessType">
- <summary>
- Gets or sets the access type.
- </summary>
- </member>
- <member name="P:FastReport.Cloud.StorageClient.Dropbox.AppInfo.Folder">
- <summary>
- Gets or sets the name of app folder.
- </summary>
- </member>
- <member name="T:FastReport.Cloud.StorageClient.Dropbox.AccessType">
- <summary>
- Represents the access type of application.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.AccessType.Dropbox">
- <summary>
- Full access to all the files and folders in a user's Dropbox.
- </summary>
- </member>
- <member name="F:FastReport.Cloud.StorageClient.Dropbox.AccessType.Sandbox">
- <summary>
- Access to app folder only (sandbox).
- </summary>
- </member>
- </members>
-</doc>
diff --git a/VueWebApi/bin/VueWebApi.dll b/VueWebApi/bin/VueWebApi.dll
index bb33a10..74956e1 100644
--- a/VueWebApi/bin/VueWebApi.dll
+++ b/VueWebApi/bin/VueWebApi.dll
Binary files differ
diff --git a/VueWebApi/bin/VueWebApi.pdb b/VueWebApi/bin/VueWebApi.pdb
index 0bf6c8b..f4d4098 100644
--- a/VueWebApi/bin/VueWebApi.pdb
+++ b/VueWebApi/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
index 2106ae9..1fc12bc 100644
--- a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
+++ b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/HelpPage.css b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/HelpPage.css
new file mode 100644
index 0000000..aff2230
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/HelpPage.css
@@ -0,0 +1,134 @@
+.help-page h1,
+.help-page .h1,
+.help-page h2,
+.help-page .h2,
+.help-page h3,
+.help-page .h3,
+#body.help-page,
+.help-page-table th,
+.help-page-table pre,
+.help-page-table p {
+ font-family: "Segoe UI Light", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
+}
+
+.help-page pre.wrapped {
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+ white-space: pre-wrap;
+}
+
+.help-page .warning-message-container {
+ margin-top: 20px;
+ padding: 0 10px;
+ color: #525252;
+ background: #EFDCA9;
+ border: 1px solid #CCCCCC;
+}
+
+.help-page-table {
+ width: 100%;
+ border-collapse: collapse;
+ text-align: left;
+ margin: 0px 0px 20px 0px;
+ border-top: 1px solid #D4D4D4;
+}
+
+.help-page-table th {
+ text-align: left;
+ font-weight: bold;
+ border-bottom: 1px solid #D4D4D4;
+ padding: 5px 6px 5px 6px;
+}
+
+.help-page-table td {
+ border-bottom: 1px solid #D4D4D4;
+ padding: 10px 8px 10px 8px;
+ vertical-align: top;
+}
+
+.help-page-table pre,
+.help-page-table p {
+ margin: 0px;
+ padding: 0px;
+ font-family: inherit;
+ font-size: 100%;
+}
+
+.help-page-table tbody tr:hover td {
+ background-color: #F3F3F3;
+}
+
+.help-page a:hover {
+ background-color: transparent;
+}
+
+.help-page .sample-header {
+ border: 2px solid #D4D4D4;
+ background: #00497E;
+ color: #FFFFFF;
+ padding: 8px 15px;
+ border-bottom: none;
+ display: inline-block;
+ margin: 10px 0px 0px 0px;
+}
+
+.help-page .sample-content {
+ display: block;
+ border-width: 0;
+ padding: 15px 20px;
+ background: #FFFFFF;
+ border: 2px solid #D4D4D4;
+ margin: 0px 0px 10px 0px;
+}
+
+.help-page .api-name {
+ width: 40%;
+}
+
+.help-page .api-documentation {
+ width: 60%;
+}
+
+.help-page .parameter-name {
+ width: 20%;
+}
+
+.help-page .parameter-documentation {
+ width: 40%;
+}
+
+.help-page .parameter-type {
+ width: 20%;
+}
+
+.help-page .parameter-annotations {
+ width: 20%;
+}
+
+.help-page h1,
+.help-page .h1 {
+ font-size: 36px;
+ line-height: normal;
+}
+
+.help-page h2,
+.help-page .h2 {
+ font-size: 24px;
+}
+
+.help-page h3,
+.help-page .h3 {
+ font-size: 20px;
+}
+
+#body.help-page {
+ font-size: 14px;
+ line-height: 143%;
+ color: #333;
+}
+
+.help-page a {
+ color: #0000EE;
+ text-decoration: none;
+}
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Api.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Api.cshtml
new file mode 100644
index 0000000..8d4661c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Api.cshtml
@@ -0,0 +1,22 @@
+@using System.Web.Http
+@using VueWebApi.Areas.HelpPage.Models
+@model HelpPageApiModel
+
+@{
+ var description = Model.ApiDescription;
+ ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath;
+}
+
+<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
+<div id="body" class="help-page">
+ <section class="featured">
+ <div class="content-wrapper">
+ <p>
+ @Html.ActionLink("Help Page Home", "Index")
+ </p>
+ </div>
+ </section>
+ <section class="content-wrapper main-content clear-fix">
+ @Html.DisplayForModel()
+ </section>
+</div>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml
new file mode 100644
index 0000000..fb364d6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml
@@ -0,0 +1,41 @@
+@using System.Web.Http
+@using System.Web.Http.Controllers
+@using System.Web.Http.Description
+@using VueWebApi.Areas.HelpPage
+@using VueWebApi.Areas.HelpPage.Models
+@model IGrouping<HttpControllerDescriptor, ApiDescription>
+
+@{
+ var controllerDocumentation = ViewBag.DocumentationProvider != null ?
+ ViewBag.DocumentationProvider.GetDocumentation(Model.Key) :
+ null;
+}
+
+<h2 id="@Model.Key.ControllerName">@Model.Key.ControllerName</h2>
+@if (!String.IsNullOrEmpty(controllerDocumentation))
+{
+ <p>@controllerDocumentation</p>
+}
+<table class="help-page-table">
+ <thead>
+ <tr><th>API</th><th>Description</th></tr>
+ </thead>
+ <tbody>
+ @foreach (var api in Model)
+ {
+ <tr>
+ <td class="api-name"><a href="@Url.Action("Api", "Help", new { apiId = api.GetFriendlyId() })">@api.HttpMethod.Method @api.RelativePath</a></td>
+ <td class="api-documentation">
+ @if (api.Documentation != null)
+ {
+ <p>@api.Documentation</p>
+ }
+ else
+ {
+ <p>No documentation available.</p>
+ }
+ </td>
+ </tr>
+ }
+ </tbody>
+</table>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml
new file mode 100644
index 0000000..f535087
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml
@@ -0,0 +1,6 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model CollectionModelDescription
+@if (Model.ElementDescription is ComplexTypeModelDescription)
+{
+ @Html.DisplayFor(m => m.ElementDescription)
+}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml
new file mode 100644
index 0000000..b637f3b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml
@@ -0,0 +1,3 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model ComplexTypeModelDescription
+@Html.DisplayFor(m => m.Properties, "Parameters")
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml
new file mode 100644
index 0000000..a532eef
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml
@@ -0,0 +1,4 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model DictionaryModelDescription
+Dictionary of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key]
+and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value]
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml
new file mode 100644
index 0000000..00fc3e1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml
@@ -0,0 +1,24 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model EnumTypeModelDescription
+
+<p>Possible enumeration values:</p>
+
+<table class="help-page-table">
+ <thead>
+ <tr><th>Name</th><th>Value</th><th>Description</th></tr>
+ </thead>
+ <tbody>
+ @foreach (EnumValueDescription value in Model.Values)
+ {
+ <tr>
+ <td class="enum-name"><b>@value.Name</b></td>
+ <td class="enum-value">
+ <p>@value.Value</p>
+ </td>
+ <td class="enum-description">
+ <p>@value.Documentation</p>
+ </td>
+ </tr>
+ }
+ </tbody>
+</table>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml
new file mode 100644
index 0000000..866fc0d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml
@@ -0,0 +1,67 @@
+@using System.Web.Http
+@using System.Web.Http.Description
+@using VueWebApi.Areas.HelpPage.Models
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model HelpPageApiModel
+
+@{
+ ApiDescription description = Model.ApiDescription;
+}
+<h1>@description.HttpMethod.Method @description.RelativePath</h1>
+<div>
+ <p>@description.Documentation</p>
+
+ <h2>Request Information</h2>
+
+ <h3>URI Parameters</h3>
+ @Html.DisplayFor(m => m.UriParameters, "Parameters")
+
+ <h3>Body Parameters</h3>
+
+ <p>@Model.RequestDocumentation</p>
+
+ @if (Model.RequestModelDescription != null)
+ {
+ @Html.DisplayFor(m => m.RequestModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.RequestModelDescription })
+ if (Model.RequestBodyParameters != null)
+ {
+ @Html.DisplayFor(m => m.RequestBodyParameters, "Parameters")
+ }
+ }
+ else
+ {
+ <p>None.</p>
+ }
+
+ @if (Model.SampleRequests.Count > 0)
+ {
+ <h3>Request Formats</h3>
+ @Html.DisplayFor(m => m.SampleRequests, "Samples")
+ }
+
+ <h2>Response Information</h2>
+
+ <h3>Resource Description</h3>
+
+ <p>@description.ResponseDescription.Documentation</p>
+
+ @if (Model.ResourceDescription != null)
+ {
+ @Html.DisplayFor(m => m.ResourceDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ResourceDescription })
+ if (Model.ResourceProperties != null)
+ {
+ @Html.DisplayFor(m => m.ResourceProperties, "Parameters")
+ }
+ }
+ else
+ {
+ <p>None.</p>
+ }
+
+ @if (Model.SampleResponses.Count > 0)
+ {
+ <h3>Response Formats</h3>
+ @Html.DisplayFor(m => m.SampleResponses, "Samples")
+ }
+
+</div>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml
new file mode 100644
index 0000000..d63f27e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml
@@ -0,0 +1,4 @@
+@using VueWebApi.Areas.HelpPage
+@model ImageSample
+
+<img src="@Model.Src" />
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml
new file mode 100644
index 0000000..7140c6d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml
@@ -0,0 +1,13 @@
+@using VueWebApi.Areas.HelpPage
+@model InvalidSample
+
+@if (HttpContext.Current.IsDebuggingEnabled)
+{
+ <div class="warning-message-container">
+ <p>@Model.ErrorMessage</p>
+ </div>
+}
+else
+{
+ <p>Sample not available.</p>
+}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml
new file mode 100644
index 0000000..5361ef6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml
@@ -0,0 +1,4 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model KeyValuePairModelDescription
+Pair of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key]
+and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value]
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml
new file mode 100644
index 0000000..7399bcf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml
@@ -0,0 +1,26 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model Type
+@{
+ ModelDescription modelDescription = ViewBag.modelDescription;
+ if (modelDescription is ComplexTypeModelDescription || modelDescription is EnumTypeModelDescription)
+ {
+ if (Model == typeof(Object))
+ {
+ @:Object
+ }
+ else
+ {
+ @Html.ActionLink(modelDescription.Name, "ResourceModel", "Help", new { modelName = modelDescription.Name }, null)
+ }
+ }
+ else if (modelDescription is CollectionModelDescription)
+ {
+ var collectionDescription = modelDescription as CollectionModelDescription;
+ var elementDescription = collectionDescription.ElementDescription;
+ @:Collection of @Html.DisplayFor(m => elementDescription.ModelType, "ModelDescriptionLink", new { modelDescription = elementDescription })
+ }
+ else
+ {
+ @Html.DisplayFor(m => modelDescription)
+ }
+}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml
new file mode 100644
index 0000000..6e95fb8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml
@@ -0,0 +1,48 @@
+@using System.Collections.Generic
+@using System.Collections.ObjectModel
+@using System.Web.Http.Description
+@using System.Threading
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model IList<ParameterDescription>
+
+@if (Model.Count > 0)
+{
+ <table class="help-page-table">
+ <thead>
+ <tr><th>Name</th><th>Description</th><th>Type</th><th>Additional information</th></tr>
+ </thead>
+ <tbody>
+ @foreach (ParameterDescription parameter in Model)
+ {
+ ModelDescription modelDescription = parameter.TypeDescription;
+ <tr>
+ <td class="parameter-name">@parameter.Name</td>
+ <td class="parameter-documentation">
+ <p>@parameter.Documentation</p>
+ </td>
+ <td class="parameter-type">
+ @Html.DisplayFor(m => modelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = modelDescription })
+ </td>
+ <td class="parameter-annotations">
+ @if (parameter.Annotations.Count > 0)
+ {
+ foreach (var annotation in parameter.Annotations)
+ {
+ <p>@annotation.Documentation</p>
+ }
+ }
+ else
+ {
+ <p>None.</p>
+ }
+ </td>
+ </tr>
+ }
+ </tbody>
+ </table>
+}
+else
+{
+ <p>None.</p>
+}
+
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml
new file mode 100644
index 0000000..c19596f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml
@@ -0,0 +1,30 @@
+@using System.Net.Http.Headers
+@model Dictionary<MediaTypeHeaderValue, object>
+
+@{
+ // Group the samples into a single tab if they are the same.
+ Dictionary<string, object> samples = Model.GroupBy(pair => pair.Value).ToDictionary(
+ pair => String.Join(", ", pair.Select(m => m.Key.ToString()).ToArray()),
+ pair => pair.Key);
+ var mediaTypes = samples.Keys;
+}
+<div>
+ @foreach (var mediaType in mediaTypes)
+ {
+ <h4 class="sample-header">@mediaType</h4>
+ <div class="sample-content">
+ <span><b>Sample:</b></span>
+ @{
+ var sample = samples[mediaType];
+ if (sample == null)
+ {
+ <p>Sample not available.</p>
+ }
+ else
+ {
+ @Html.DisplayFor(s => sample);
+ }
+ }
+ </div>
+ }
+</div>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml
new file mode 100644
index 0000000..97c42d8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml
@@ -0,0 +1,3 @@
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model SimpleTypeModelDescription
+@Model.Documentation
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml
new file mode 100644
index 0000000..c818aeb
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml
@@ -0,0 +1,6 @@
+@using VueWebApi.Areas.HelpPage
+@model TextSample
+
+<pre class="wrapped">
+@Model.Text
+</pre>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Index.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Index.cshtml
new file mode 100644
index 0000000..6b54228
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/Index.cshtml
@@ -0,0 +1,38 @@
+@using System.Web.Http
+@using System.Web.Http.Controllers
+@using System.Web.Http.Description
+@using System.Collections.ObjectModel
+@using VueWebApi.Areas.HelpPage.Models
+@model Collection<ApiDescription>
+
+@{
+ ViewBag.Title = "ASP.NET Web API Help Page";
+
+ // Group APIs by controller
+ ILookup<HttpControllerDescriptor, ApiDescription> apiGroups = Model.ToLookup(api => api.ActionDescriptor.ControllerDescriptor);
+}
+
+<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
+<header class="help-page">
+ <div class="content-wrapper">
+ <div class="float-left">
+ <h1>@ViewBag.Title</h1>
+ </div>
+ </div>
+</header>
+<div id="body" class="help-page">
+ <section class="featured">
+ <div class="content-wrapper">
+ <h2>Introduction</h2>
+ <p>
+ Provide a general description of your APIs here.
+ </p>
+ </div>
+ </section>
+ <section class="content-wrapper main-content clear-fix">
+ @foreach (var group in apiGroups)
+ {
+ @Html.DisplayFor(m => group, "ApiGroup")
+ }
+ </section>
+</div>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/ResourceModel.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/ResourceModel.cshtml
new file mode 100644
index 0000000..0604e24
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Help/ResourceModel.cshtml
@@ -0,0 +1,19 @@
+@using System.Web.Http
+@using VueWebApi.Areas.HelpPage.ModelDescriptions
+@model ModelDescription
+
+<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
+<div id="body" class="help-page">
+ <section class="featured">
+ <div class="content-wrapper">
+ <p>
+ @Html.ActionLink("Help Page Home", "Index")
+ </p>
+ </div>
+ </section>
+ <h1>@Model.Name</h1>
+ <p>@Model.Documentation</p>
+ <section class="content-wrapper main-content clear-fix">
+ @Html.DisplayFor(m => Model)
+ </section>
+</div>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Shared/_Layout.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Shared/_Layout.cshtml
new file mode 100644
index 0000000..896c833
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Shared/_Layout.cshtml
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width" />
+ <title>@ViewBag.Title</title>
+ @RenderSection("scripts", required: false)
+</head>
+<body>
+ @RenderBody()
+</body>
+</html>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Web.config b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Web.config
new file mode 100644
index 0000000..820e754
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/Web.config
@@ -0,0 +1,41 @@
+锘�<?xml version="1.0"?>
+
+<configuration>
+ <configSections>
+ <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+ <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+ </sectionGroup>
+ </configSections>
+
+ <system.web.webPages.razor>
+ <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+ <pages pageBaseType="System.Web.Mvc.WebViewPage">
+ <namespaces>
+ <add namespace="System.Web.Mvc" />
+ <add namespace="System.Web.Mvc.Ajax" />
+ <add namespace="System.Web.Mvc.Html" />
+ <add namespace="System.Web.Routing" />
+ </namespaces>
+ </pages>
+ </system.web.webPages.razor>
+
+ <appSettings>
+ <add key="webpages:Enabled" value="false" />
+ </appSettings>
+
+ <system.web>
+ <compilation debug="true">
+ <assemblies>
+ <add assembly="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </assemblies>
+ </compilation>
+ </system.web>
+
+ <system.webServer>
+ <handlers>
+ <remove name="BlockViewHandler"/>
+ <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
+ </handlers>
+ </system.webServer>
+</configuration>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/_ViewStart.cshtml b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/_ViewStart.cshtml
new file mode 100644
index 0000000..d735b1c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Areas/HelpPage/Views/_ViewStart.cshtml
@@ -0,0 +1,4 @@
+锘緻{
+ // Change the Layout path below to blend the look and feel of the help page with your existing web pages
+ Layout = "~/Views/Shared/_Layout.cshtml";
+}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/Site.css b/VueWebApi/obj/Release/Package/PackageTmp/Content/Site.css
new file mode 100644
index 0000000..d825a52
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/Site.css
@@ -0,0 +1,17 @@
+锘縝ody {
+ padding-top: 50px;
+ padding-bottom: 20px;
+}
+
+/* Set padding to keep content from hitting the edges */
+.body-content {
+ padding-left: 15px;
+ padding-right: 15px;
+}
+
+/* Set width on the form input elements since they're 100% wide by default */
+input,
+select,
+textarea {
+ max-width: 280px;
+}
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css
new file mode 100644
index 0000000..ea33f76
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css
@@ -0,0 +1,587 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+.btn-default,
+.btn-primary,
+.btn-success,
+.btn-info,
+.btn-warning,
+.btn-danger {
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.btn-default:active,
+.btn-primary:active,
+.btn-success:active,
+.btn-info:active,
+.btn-warning:active,
+.btn-danger:active,
+.btn-default.active,
+.btn-primary.active,
+.btn-success.active,
+.btn-info.active,
+.btn-warning.active,
+.btn-danger.active {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+.btn-default.disabled,
+.btn-primary.disabled,
+.btn-success.disabled,
+.btn-info.disabled,
+.btn-warning.disabled,
+.btn-danger.disabled,
+.btn-default[disabled],
+.btn-primary[disabled],
+.btn-success[disabled],
+.btn-info[disabled],
+.btn-warning[disabled],
+.btn-danger[disabled],
+fieldset[disabled] .btn-default,
+fieldset[disabled] .btn-primary,
+fieldset[disabled] .btn-success,
+fieldset[disabled] .btn-info,
+fieldset[disabled] .btn-warning,
+fieldset[disabled] .btn-danger {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.btn-default .badge,
+.btn-primary .badge,
+.btn-success .badge,
+.btn-info .badge,
+.btn-warning .badge,
+.btn-danger .badge {
+ text-shadow: none;
+}
+.btn:active,
+.btn.active {
+ background-image: none;
+}
+.btn-default {
+ background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
+ background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
+ background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ background-repeat: repeat-x;
+ border-color: #dbdbdb;
+ text-shadow: 0 1px 0 #fff;
+ border-color: #ccc;
+}
+.btn-default:hover,
+.btn-default:focus {
+ background-color: #e0e0e0;
+ background-position: 0 -15px;
+}
+.btn-default:active,
+.btn-default.active {
+ background-color: #e0e0e0;
+ border-color: #dbdbdb;
+}
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+ background-color: #e0e0e0;
+ background-image: none;
+}
+.btn-primary {
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ background-repeat: repeat-x;
+ border-color: #245580;
+}
+.btn-primary:hover,
+.btn-primary:focus {
+ background-color: #265a88;
+ background-position: 0 -15px;
+}
+.btn-primary:active,
+.btn-primary.active {
+ background-color: #265a88;
+ border-color: #245580;
+}
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+ background-color: #265a88;
+ background-image: none;
+}
+.btn-success {
+ background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
+ background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
+ background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ background-repeat: repeat-x;
+ border-color: #3e8f3e;
+}
+.btn-success:hover,
+.btn-success:focus {
+ background-color: #419641;
+ background-position: 0 -15px;
+}
+.btn-success:active,
+.btn-success.active {
+ background-color: #419641;
+ border-color: #3e8f3e;
+}
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+ background-color: #419641;
+ background-image: none;
+}
+.btn-info {
+ background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
+ background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
+ background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ background-repeat: repeat-x;
+ border-color: #28a4c9;
+}
+.btn-info:hover,
+.btn-info:focus {
+ background-color: #2aabd2;
+ background-position: 0 -15px;
+}
+.btn-info:active,
+.btn-info.active {
+ background-color: #2aabd2;
+ border-color: #28a4c9;
+}
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+ background-color: #2aabd2;
+ background-image: none;
+}
+.btn-warning {
+ background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
+ background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
+ background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ background-repeat: repeat-x;
+ border-color: #e38d13;
+}
+.btn-warning:hover,
+.btn-warning:focus {
+ background-color: #eb9316;
+ background-position: 0 -15px;
+}
+.btn-warning:active,
+.btn-warning.active {
+ background-color: #eb9316;
+ border-color: #e38d13;
+}
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+ background-color: #eb9316;
+ background-image: none;
+}
+.btn-danger {
+ background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
+ background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
+ background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ background-repeat: repeat-x;
+ border-color: #b92c28;
+}
+.btn-danger:hover,
+.btn-danger:focus {
+ background-color: #c12e2a;
+ background-position: 0 -15px;
+}
+.btn-danger:active,
+.btn-danger.active {
+ background-color: #c12e2a;
+ border-color: #b92c28;
+}
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+ background-color: #c12e2a;
+ background-image: none;
+}
+.thumbnail,
+.img-thumbnail {
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+ background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
+ background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+ background-repeat: repeat-x;
+ background-color: #e8e8e8;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+ background-repeat: repeat-x;
+ background-color: #2e6da4;
+}
+.navbar-default {
+ background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
+ background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));
+ background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .active > a {
+ background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+ background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
+ background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
+ background-repeat: repeat-x;
+ -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
+}
+.navbar-brand,
+.navbar-nav > li > a {
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
+}
+.navbar-inverse {
+ background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
+ background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
+ background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ border-radius: 4px;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .active > a {
+ background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
+ background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
+ background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
+ background-repeat: repeat-x;
+ -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
+ box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
+}
+.navbar-inverse .navbar-brand,
+.navbar-inverse .navbar-nav > li > a {
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.navbar-static-top,
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ border-radius: 0;
+}
+@media (max-width: 767px) {
+ .navbar .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #fff;
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+ background-repeat: repeat-x;
+ }
+}
+.alert {
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.alert-success {
+ background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
+ background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
+ background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
+ background-repeat: repeat-x;
+ border-color: #b2dba1;
+}
+.alert-info {
+ background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
+ background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
+ background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
+ background-repeat: repeat-x;
+ border-color: #9acfea;
+}
+.alert-warning {
+ background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
+ background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
+ background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
+ background-repeat: repeat-x;
+ border-color: #f5e79e;
+}
+.alert-danger {
+ background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
+ background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
+ background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
+ background-repeat: repeat-x;
+ border-color: #dca7a7;
+}
+.progress {
+ background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+ background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
+ background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
+ background-repeat: repeat-x;
+}
+.progress-bar {
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
+ background-repeat: repeat-x;
+}
+.progress-bar-success {
+ background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
+ background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
+ background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
+ background-repeat: repeat-x;
+}
+.progress-bar-info {
+ background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
+ background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
+ background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
+ background-repeat: repeat-x;
+}
+.progress-bar-warning {
+ background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
+ background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
+ background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
+ background-repeat: repeat-x;
+}
+.progress-bar-danger {
+ background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
+ background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
+ background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
+ background-repeat: repeat-x;
+}
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.list-group {
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+ text-shadow: 0 -1px 0 #286090;
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
+ background-repeat: repeat-x;
+ border-color: #2b669a;
+}
+.list-group-item.active .badge,
+.list-group-item.active:hover .badge,
+.list-group-item.active:focus .badge {
+ text-shadow: none;
+}
+.panel {
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.panel-default > .panel-heading {
+ background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
+ background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+ background-repeat: repeat-x;
+}
+.panel-primary > .panel-heading {
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+ background-repeat: repeat-x;
+}
+.panel-success > .panel-heading {
+ background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
+ background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
+ background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
+ background-repeat: repeat-x;
+}
+.panel-info > .panel-heading {
+ background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
+ background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
+ background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
+ background-repeat: repeat-x;
+}
+.panel-warning > .panel-heading {
+ background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
+ background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
+ background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
+ background-repeat: repeat-x;
+}
+.panel-danger > .panel-heading {
+ background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
+ background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
+ background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
+ background-repeat: repeat-x;
+}
+.well {
+ background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+ background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
+ background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
+ background-repeat: repeat-x;
+ border-color: #dcdcdc;
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
+}
+/*# sourceMappingURL=bootstrap-theme.css.map */
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css.map b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css.map
new file mode 100644
index 0000000..949d097
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default {\n .btn-styles(@btn-default-bg);\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css
new file mode 100644
index 0000000..2a69f48
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x;background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
+/*# sourceMappingURL=bootstrap-theme.min.css.map */
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css.map b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css.map
new file mode 100644
index 0000000..5d75106
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap-theme.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap-theme.css","dist/css/bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default {\n .btn-styles(@btn-default-bg);\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css
new file mode 100644
index 0000000..fcab415
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css
@@ -0,0 +1,6834 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+ font-family: sans-serif;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%;
+}
+body {
+ margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ vertical-align: baseline;
+}
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+[hidden],
+template {
+ display: none;
+}
+a {
+ background-color: transparent;
+}
+a:active,
+a:hover {
+ outline: 0;
+}
+abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ -moz-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+}
+b,
+strong {
+ font-weight: bold;
+}
+dfn {
+ font-style: italic;
+}
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+mark {
+ background: #ff0;
+ color: #000;
+}
+small {
+ font-size: 80%;
+}
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+img {
+ border: 0;
+}
+svg:not(:root) {
+ overflow: hidden;
+}
+figure {
+ margin: 1em 40px;
+}
+hr {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+pre {
+ overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ font: inherit;
+ margin: 0;
+}
+button {
+ overflow: visible;
+}
+button,
+select {
+ text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+input {
+ line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+input[type="search"] {
+ -webkit-appearance: textfield;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+legend {
+ border: 0;
+ padding: 0;
+}
+textarea {
+ overflow: auto;
+}
+optgroup {
+ font-weight: bold;
+}
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+td,
+th {
+ padding: 0;
+}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+ *,
+ *:before,
+ *:after {
+ color: #000 !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ }
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+ a[href^="#"]:after,
+ a[href^="javascript:"]:after {
+ content: "";
+ }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+ thead {
+ display: table-header-group;
+ }
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+ img {
+ max-width: 100% !important;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+ .navbar {
+ display: none;
+ }
+ .btn > .caret,
+ .dropup > .btn > .caret {
+ border-top-color: #000 !important;
+ }
+ .label {
+ border: 1px solid #000;
+ }
+ .table {
+ border-collapse: collapse !important;
+ }
+ .table td,
+ .table th {
+ background-color: #fff !important;
+ }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid #ddd !important;
+ }
+}
+@font-face {
+ font-family: "Glyphicons Halflings";
+ src: url("../fonts/glyphicons-halflings-regular.eot");
+ src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
+}
+.glyphicon {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: "Glyphicons Halflings";
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.glyphicon-asterisk:before {
+ content: "\002a";
+}
+.glyphicon-plus:before {
+ content: "\002b";
+}
+.glyphicon-euro:before,
+.glyphicon-eur:before {
+ content: "\20ac";
+}
+.glyphicon-minus:before {
+ content: "\2212";
+}
+.glyphicon-cloud:before {
+ content: "\2601";
+}
+.glyphicon-envelope:before {
+ content: "\2709";
+}
+.glyphicon-pencil:before {
+ content: "\270f";
+}
+.glyphicon-glass:before {
+ content: "\e001";
+}
+.glyphicon-music:before {
+ content: "\e002";
+}
+.glyphicon-search:before {
+ content: "\e003";
+}
+.glyphicon-heart:before {
+ content: "\e005";
+}
+.glyphicon-star:before {
+ content: "\e006";
+}
+.glyphicon-star-empty:before {
+ content: "\e007";
+}
+.glyphicon-user:before {
+ content: "\e008";
+}
+.glyphicon-film:before {
+ content: "\e009";
+}
+.glyphicon-th-large:before {
+ content: "\e010";
+}
+.glyphicon-th:before {
+ content: "\e011";
+}
+.glyphicon-th-list:before {
+ content: "\e012";
+}
+.glyphicon-ok:before {
+ content: "\e013";
+}
+.glyphicon-remove:before {
+ content: "\e014";
+}
+.glyphicon-zoom-in:before {
+ content: "\e015";
+}
+.glyphicon-zoom-out:before {
+ content: "\e016";
+}
+.glyphicon-off:before {
+ content: "\e017";
+}
+.glyphicon-signal:before {
+ content: "\e018";
+}
+.glyphicon-cog:before {
+ content: "\e019";
+}
+.glyphicon-trash:before {
+ content: "\e020";
+}
+.glyphicon-home:before {
+ content: "\e021";
+}
+.glyphicon-file:before {
+ content: "\e022";
+}
+.glyphicon-time:before {
+ content: "\e023";
+}
+.glyphicon-road:before {
+ content: "\e024";
+}
+.glyphicon-download-alt:before {
+ content: "\e025";
+}
+.glyphicon-download:before {
+ content: "\e026";
+}
+.glyphicon-upload:before {
+ content: "\e027";
+}
+.glyphicon-inbox:before {
+ content: "\e028";
+}
+.glyphicon-play-circle:before {
+ content: "\e029";
+}
+.glyphicon-repeat:before {
+ content: "\e030";
+}
+.glyphicon-refresh:before {
+ content: "\e031";
+}
+.glyphicon-list-alt:before {
+ content: "\e032";
+}
+.glyphicon-lock:before {
+ content: "\e033";
+}
+.glyphicon-flag:before {
+ content: "\e034";
+}
+.glyphicon-headphones:before {
+ content: "\e035";
+}
+.glyphicon-volume-off:before {
+ content: "\e036";
+}
+.glyphicon-volume-down:before {
+ content: "\e037";
+}
+.glyphicon-volume-up:before {
+ content: "\e038";
+}
+.glyphicon-qrcode:before {
+ content: "\e039";
+}
+.glyphicon-barcode:before {
+ content: "\e040";
+}
+.glyphicon-tag:before {
+ content: "\e041";
+}
+.glyphicon-tags:before {
+ content: "\e042";
+}
+.glyphicon-book:before {
+ content: "\e043";
+}
+.glyphicon-bookmark:before {
+ content: "\e044";
+}
+.glyphicon-print:before {
+ content: "\e045";
+}
+.glyphicon-camera:before {
+ content: "\e046";
+}
+.glyphicon-font:before {
+ content: "\e047";
+}
+.glyphicon-bold:before {
+ content: "\e048";
+}
+.glyphicon-italic:before {
+ content: "\e049";
+}
+.glyphicon-text-height:before {
+ content: "\e050";
+}
+.glyphicon-text-width:before {
+ content: "\e051";
+}
+.glyphicon-align-left:before {
+ content: "\e052";
+}
+.glyphicon-align-center:before {
+ content: "\e053";
+}
+.glyphicon-align-right:before {
+ content: "\e054";
+}
+.glyphicon-align-justify:before {
+ content: "\e055";
+}
+.glyphicon-list:before {
+ content: "\e056";
+}
+.glyphicon-indent-left:before {
+ content: "\e057";
+}
+.glyphicon-indent-right:before {
+ content: "\e058";
+}
+.glyphicon-facetime-video:before {
+ content: "\e059";
+}
+.glyphicon-picture:before {
+ content: "\e060";
+}
+.glyphicon-map-marker:before {
+ content: "\e062";
+}
+.glyphicon-adjust:before {
+ content: "\e063";
+}
+.glyphicon-tint:before {
+ content: "\e064";
+}
+.glyphicon-edit:before {
+ content: "\e065";
+}
+.glyphicon-share:before {
+ content: "\e066";
+}
+.glyphicon-check:before {
+ content: "\e067";
+}
+.glyphicon-move:before {
+ content: "\e068";
+}
+.glyphicon-step-backward:before {
+ content: "\e069";
+}
+.glyphicon-fast-backward:before {
+ content: "\e070";
+}
+.glyphicon-backward:before {
+ content: "\e071";
+}
+.glyphicon-play:before {
+ content: "\e072";
+}
+.glyphicon-pause:before {
+ content: "\e073";
+}
+.glyphicon-stop:before {
+ content: "\e074";
+}
+.glyphicon-forward:before {
+ content: "\e075";
+}
+.glyphicon-fast-forward:before {
+ content: "\e076";
+}
+.glyphicon-step-forward:before {
+ content: "\e077";
+}
+.glyphicon-eject:before {
+ content: "\e078";
+}
+.glyphicon-chevron-left:before {
+ content: "\e079";
+}
+.glyphicon-chevron-right:before {
+ content: "\e080";
+}
+.glyphicon-plus-sign:before {
+ content: "\e081";
+}
+.glyphicon-minus-sign:before {
+ content: "\e082";
+}
+.glyphicon-remove-sign:before {
+ content: "\e083";
+}
+.glyphicon-ok-sign:before {
+ content: "\e084";
+}
+.glyphicon-question-sign:before {
+ content: "\e085";
+}
+.glyphicon-info-sign:before {
+ content: "\e086";
+}
+.glyphicon-screenshot:before {
+ content: "\e087";
+}
+.glyphicon-remove-circle:before {
+ content: "\e088";
+}
+.glyphicon-ok-circle:before {
+ content: "\e089";
+}
+.glyphicon-ban-circle:before {
+ content: "\e090";
+}
+.glyphicon-arrow-left:before {
+ content: "\e091";
+}
+.glyphicon-arrow-right:before {
+ content: "\e092";
+}
+.glyphicon-arrow-up:before {
+ content: "\e093";
+}
+.glyphicon-arrow-down:before {
+ content: "\e094";
+}
+.glyphicon-share-alt:before {
+ content: "\e095";
+}
+.glyphicon-resize-full:before {
+ content: "\e096";
+}
+.glyphicon-resize-small:before {
+ content: "\e097";
+}
+.glyphicon-exclamation-sign:before {
+ content: "\e101";
+}
+.glyphicon-gift:before {
+ content: "\e102";
+}
+.glyphicon-leaf:before {
+ content: "\e103";
+}
+.glyphicon-fire:before {
+ content: "\e104";
+}
+.glyphicon-eye-open:before {
+ content: "\e105";
+}
+.glyphicon-eye-close:before {
+ content: "\e106";
+}
+.glyphicon-warning-sign:before {
+ content: "\e107";
+}
+.glyphicon-plane:before {
+ content: "\e108";
+}
+.glyphicon-calendar:before {
+ content: "\e109";
+}
+.glyphicon-random:before {
+ content: "\e110";
+}
+.glyphicon-comment:before {
+ content: "\e111";
+}
+.glyphicon-magnet:before {
+ content: "\e112";
+}
+.glyphicon-chevron-up:before {
+ content: "\e113";
+}
+.glyphicon-chevron-down:before {
+ content: "\e114";
+}
+.glyphicon-retweet:before {
+ content: "\e115";
+}
+.glyphicon-shopping-cart:before {
+ content: "\e116";
+}
+.glyphicon-folder-close:before {
+ content: "\e117";
+}
+.glyphicon-folder-open:before {
+ content: "\e118";
+}
+.glyphicon-resize-vertical:before {
+ content: "\e119";
+}
+.glyphicon-resize-horizontal:before {
+ content: "\e120";
+}
+.glyphicon-hdd:before {
+ content: "\e121";
+}
+.glyphicon-bullhorn:before {
+ content: "\e122";
+}
+.glyphicon-bell:before {
+ content: "\e123";
+}
+.glyphicon-certificate:before {
+ content: "\e124";
+}
+.glyphicon-thumbs-up:before {
+ content: "\e125";
+}
+.glyphicon-thumbs-down:before {
+ content: "\e126";
+}
+.glyphicon-hand-right:before {
+ content: "\e127";
+}
+.glyphicon-hand-left:before {
+ content: "\e128";
+}
+.glyphicon-hand-up:before {
+ content: "\e129";
+}
+.glyphicon-hand-down:before {
+ content: "\e130";
+}
+.glyphicon-circle-arrow-right:before {
+ content: "\e131";
+}
+.glyphicon-circle-arrow-left:before {
+ content: "\e132";
+}
+.glyphicon-circle-arrow-up:before {
+ content: "\e133";
+}
+.glyphicon-circle-arrow-down:before {
+ content: "\e134";
+}
+.glyphicon-globe:before {
+ content: "\e135";
+}
+.glyphicon-wrench:before {
+ content: "\e136";
+}
+.glyphicon-tasks:before {
+ content: "\e137";
+}
+.glyphicon-filter:before {
+ content: "\e138";
+}
+.glyphicon-briefcase:before {
+ content: "\e139";
+}
+.glyphicon-fullscreen:before {
+ content: "\e140";
+}
+.glyphicon-dashboard:before {
+ content: "\e141";
+}
+.glyphicon-paperclip:before {
+ content: "\e142";
+}
+.glyphicon-heart-empty:before {
+ content: "\e143";
+}
+.glyphicon-link:before {
+ content: "\e144";
+}
+.glyphicon-phone:before {
+ content: "\e145";
+}
+.glyphicon-pushpin:before {
+ content: "\e146";
+}
+.glyphicon-usd:before {
+ content: "\e148";
+}
+.glyphicon-gbp:before {
+ content: "\e149";
+}
+.glyphicon-sort:before {
+ content: "\e150";
+}
+.glyphicon-sort-by-alphabet:before {
+ content: "\e151";
+}
+.glyphicon-sort-by-alphabet-alt:before {
+ content: "\e152";
+}
+.glyphicon-sort-by-order:before {
+ content: "\e153";
+}
+.glyphicon-sort-by-order-alt:before {
+ content: "\e154";
+}
+.glyphicon-sort-by-attributes:before {
+ content: "\e155";
+}
+.glyphicon-sort-by-attributes-alt:before {
+ content: "\e156";
+}
+.glyphicon-unchecked:before {
+ content: "\e157";
+}
+.glyphicon-expand:before {
+ content: "\e158";
+}
+.glyphicon-collapse-down:before {
+ content: "\e159";
+}
+.glyphicon-collapse-up:before {
+ content: "\e160";
+}
+.glyphicon-log-in:before {
+ content: "\e161";
+}
+.glyphicon-flash:before {
+ content: "\e162";
+}
+.glyphicon-log-out:before {
+ content: "\e163";
+}
+.glyphicon-new-window:before {
+ content: "\e164";
+}
+.glyphicon-record:before {
+ content: "\e165";
+}
+.glyphicon-save:before {
+ content: "\e166";
+}
+.glyphicon-open:before {
+ content: "\e167";
+}
+.glyphicon-saved:before {
+ content: "\e168";
+}
+.glyphicon-import:before {
+ content: "\e169";
+}
+.glyphicon-export:before {
+ content: "\e170";
+}
+.glyphicon-send:before {
+ content: "\e171";
+}
+.glyphicon-floppy-disk:before {
+ content: "\e172";
+}
+.glyphicon-floppy-saved:before {
+ content: "\e173";
+}
+.glyphicon-floppy-remove:before {
+ content: "\e174";
+}
+.glyphicon-floppy-save:before {
+ content: "\e175";
+}
+.glyphicon-floppy-open:before {
+ content: "\e176";
+}
+.glyphicon-credit-card:before {
+ content: "\e177";
+}
+.glyphicon-transfer:before {
+ content: "\e178";
+}
+.glyphicon-cutlery:before {
+ content: "\e179";
+}
+.glyphicon-header:before {
+ content: "\e180";
+}
+.glyphicon-compressed:before {
+ content: "\e181";
+}
+.glyphicon-earphone:before {
+ content: "\e182";
+}
+.glyphicon-phone-alt:before {
+ content: "\e183";
+}
+.glyphicon-tower:before {
+ content: "\e184";
+}
+.glyphicon-stats:before {
+ content: "\e185";
+}
+.glyphicon-sd-video:before {
+ content: "\e186";
+}
+.glyphicon-hd-video:before {
+ content: "\e187";
+}
+.glyphicon-subtitles:before {
+ content: "\e188";
+}
+.glyphicon-sound-stereo:before {
+ content: "\e189";
+}
+.glyphicon-sound-dolby:before {
+ content: "\e190";
+}
+.glyphicon-sound-5-1:before {
+ content: "\e191";
+}
+.glyphicon-sound-6-1:before {
+ content: "\e192";
+}
+.glyphicon-sound-7-1:before {
+ content: "\e193";
+}
+.glyphicon-copyright-mark:before {
+ content: "\e194";
+}
+.glyphicon-registration-mark:before {
+ content: "\e195";
+}
+.glyphicon-cloud-download:before {
+ content: "\e197";
+}
+.glyphicon-cloud-upload:before {
+ content: "\e198";
+}
+.glyphicon-tree-conifer:before {
+ content: "\e199";
+}
+.glyphicon-tree-deciduous:before {
+ content: "\e200";
+}
+.glyphicon-cd:before {
+ content: "\e201";
+}
+.glyphicon-save-file:before {
+ content: "\e202";
+}
+.glyphicon-open-file:before {
+ content: "\e203";
+}
+.glyphicon-level-up:before {
+ content: "\e204";
+}
+.glyphicon-copy:before {
+ content: "\e205";
+}
+.glyphicon-paste:before {
+ content: "\e206";
+}
+.glyphicon-alert:before {
+ content: "\e209";
+}
+.glyphicon-equalizer:before {
+ content: "\e210";
+}
+.glyphicon-king:before {
+ content: "\e211";
+}
+.glyphicon-queen:before {
+ content: "\e212";
+}
+.glyphicon-pawn:before {
+ content: "\e213";
+}
+.glyphicon-bishop:before {
+ content: "\e214";
+}
+.glyphicon-knight:before {
+ content: "\e215";
+}
+.glyphicon-baby-formula:before {
+ content: "\e216";
+}
+.glyphicon-tent:before {
+ content: "\26fa";
+}
+.glyphicon-blackboard:before {
+ content: "\e218";
+}
+.glyphicon-bed:before {
+ content: "\e219";
+}
+.glyphicon-apple:before {
+ content: "\f8ff";
+}
+.glyphicon-erase:before {
+ content: "\e221";
+}
+.glyphicon-hourglass:before {
+ content: "\231b";
+}
+.glyphicon-lamp:before {
+ content: "\e223";
+}
+.glyphicon-duplicate:before {
+ content: "\e224";
+}
+.glyphicon-piggy-bank:before {
+ content: "\e225";
+}
+.glyphicon-scissors:before {
+ content: "\e226";
+}
+.glyphicon-bitcoin:before {
+ content: "\e227";
+}
+.glyphicon-btc:before {
+ content: "\e227";
+}
+.glyphicon-xbt:before {
+ content: "\e227";
+}
+.glyphicon-yen:before {
+ content: "\00a5";
+}
+.glyphicon-jpy:before {
+ content: "\00a5";
+}
+.glyphicon-ruble:before {
+ content: "\20bd";
+}
+.glyphicon-rub:before {
+ content: "\20bd";
+}
+.glyphicon-scale:before {
+ content: "\e230";
+}
+.glyphicon-ice-lolly:before {
+ content: "\e231";
+}
+.glyphicon-ice-lolly-tasted:before {
+ content: "\e232";
+}
+.glyphicon-education:before {
+ content: "\e233";
+}
+.glyphicon-option-horizontal:before {
+ content: "\e234";
+}
+.glyphicon-option-vertical:before {
+ content: "\e235";
+}
+.glyphicon-menu-hamburger:before {
+ content: "\e236";
+}
+.glyphicon-modal-window:before {
+ content: "\e237";
+}
+.glyphicon-oil:before {
+ content: "\e238";
+}
+.glyphicon-grain:before {
+ content: "\e239";
+}
+.glyphicon-sunglasses:before {
+ content: "\e240";
+}
+.glyphicon-text-size:before {
+ content: "\e241";
+}
+.glyphicon-text-color:before {
+ content: "\e242";
+}
+.glyphicon-text-background:before {
+ content: "\e243";
+}
+.glyphicon-object-align-top:before {
+ content: "\e244";
+}
+.glyphicon-object-align-bottom:before {
+ content: "\e245";
+}
+.glyphicon-object-align-horizontal:before {
+ content: "\e246";
+}
+.glyphicon-object-align-left:before {
+ content: "\e247";
+}
+.glyphicon-object-align-vertical:before {
+ content: "\e248";
+}
+.glyphicon-object-align-right:before {
+ content: "\e249";
+}
+.glyphicon-triangle-right:before {
+ content: "\e250";
+}
+.glyphicon-triangle-left:before {
+ content: "\e251";
+}
+.glyphicon-triangle-bottom:before {
+ content: "\e252";
+}
+.glyphicon-triangle-top:before {
+ content: "\e253";
+}
+.glyphicon-console:before {
+ content: "\e254";
+}
+.glyphicon-superscript:before {
+ content: "\e255";
+}
+.glyphicon-subscript:before {
+ content: "\e256";
+}
+.glyphicon-menu-left:before {
+ content: "\e257";
+}
+.glyphicon-menu-right:before {
+ content: "\e258";
+}
+.glyphicon-menu-down:before {
+ content: "\e259";
+}
+.glyphicon-menu-up:before {
+ content: "\e260";
+}
+* {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+*:before,
+*:after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+html {
+ font-size: 10px;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #333333;
+ background-color: #fff;
+}
+input,
+button,
+select,
+textarea {
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+a {
+ color: #337ab7;
+ text-decoration: none;
+}
+a:hover,
+a:focus {
+ color: #23527c;
+ text-decoration: underline;
+}
+a:focus {
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+figure {
+ margin: 0;
+}
+img {
+ vertical-align: middle;
+}
+.img-responsive,
+.thumbnail > img,
+.thumbnail a > img,
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+}
+.img-rounded {
+ border-radius: 6px;
+}
+.img-thumbnail {
+ padding: 4px;
+ line-height: 1.42857143;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+ display: inline-block;
+ max-width: 100%;
+ height: auto;
+}
+.img-circle {
+ border-radius: 50%;
+}
+hr {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ border: 0;
+ border-top: 1px solid #eeeeee;
+}
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+}
+[role="button"] {
+ cursor: pointer;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+ font-family: inherit;
+ font-weight: 500;
+ line-height: 1.1;
+ color: inherit;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+ font-weight: 400;
+ line-height: 1;
+ color: #777777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+ font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .small,
+h6 .small,
+.h6 .small {
+ font-size: 75%;
+}
+h1,
+.h1 {
+ font-size: 36px;
+}
+h2,
+.h2 {
+ font-size: 30px;
+}
+h3,
+.h3 {
+ font-size: 24px;
+}
+h4,
+.h4 {
+ font-size: 18px;
+}
+h5,
+.h5 {
+ font-size: 14px;
+}
+h6,
+.h6 {
+ font-size: 12px;
+}
+p {
+ margin: 0 0 10px;
+}
+.lead {
+ margin-bottom: 20px;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 1.4;
+}
+@media (min-width: 768px) {
+ .lead {
+ font-size: 21px;
+ }
+}
+small,
+.small {
+ font-size: 85%;
+}
+mark,
+.mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+.text-left {
+ text-align: left;
+}
+.text-right {
+ text-align: right;
+}
+.text-center {
+ text-align: center;
+}
+.text-justify {
+ text-align: justify;
+}
+.text-nowrap {
+ white-space: nowrap;
+}
+.text-lowercase {
+ text-transform: lowercase;
+}
+.text-uppercase {
+ text-transform: uppercase;
+}
+.text-capitalize {
+ text-transform: capitalize;
+}
+.text-muted {
+ color: #777777;
+}
+.text-primary {
+ color: #337ab7;
+}
+a.text-primary:hover,
+a.text-primary:focus {
+ color: #286090;
+}
+.text-success {
+ color: #3c763d;
+}
+a.text-success:hover,
+a.text-success:focus {
+ color: #2b542c;
+}
+.text-info {
+ color: #31708f;
+}
+a.text-info:hover,
+a.text-info:focus {
+ color: #245269;
+}
+.text-warning {
+ color: #8a6d3b;
+}
+a.text-warning:hover,
+a.text-warning:focus {
+ color: #66512c;
+}
+.text-danger {
+ color: #a94442;
+}
+a.text-danger:hover,
+a.text-danger:focus {
+ color: #843534;
+}
+.bg-primary {
+ color: #fff;
+ background-color: #337ab7;
+}
+a.bg-primary:hover,
+a.bg-primary:focus {
+ background-color: #286090;
+}
+.bg-success {
+ background-color: #dff0d8;
+}
+a.bg-success:hover,
+a.bg-success:focus {
+ background-color: #c1e2b3;
+}
+.bg-info {
+ background-color: #d9edf7;
+}
+a.bg-info:hover,
+a.bg-info:focus {
+ background-color: #afd9ee;
+}
+.bg-warning {
+ background-color: #fcf8e3;
+}
+a.bg-warning:hover,
+a.bg-warning:focus {
+ background-color: #f7ecb5;
+}
+.bg-danger {
+ background-color: #f2dede;
+}
+a.bg-danger:hover,
+a.bg-danger:focus {
+ background-color: #e4b9b9;
+}
+.page-header {
+ padding-bottom: 9px;
+ margin: 40px 0 20px;
+ border-bottom: 1px solid #eeeeee;
+}
+ul,
+ol {
+ margin-top: 0;
+ margin-bottom: 10px;
+}
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+ margin-bottom: 0;
+}
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+ margin-left: -5px;
+}
+.list-inline > li {
+ display: inline-block;
+ padding-right: 5px;
+ padding-left: 5px;
+}
+dl {
+ margin-top: 0;
+ margin-bottom: 20px;
+}
+dt,
+dd {
+ line-height: 1.42857143;
+}
+dt {
+ font-weight: 700;
+}
+dd {
+ margin-left: 0;
+}
+@media (min-width: 768px) {
+ .dl-horizontal dt {
+ float: left;
+ width: 160px;
+ clear: left;
+ text-align: right;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .dl-horizontal dd {
+ margin-left: 180px;
+ }
+}
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+}
+.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+blockquote {
+ padding: 10px 20px;
+ margin: 0 0 20px;
+ font-size: 17.5px;
+ border-left: 5px solid #eeeeee;
+}
+blockquote p:last-child,
+blockquote ul:last-child,
+blockquote ol:last-child {
+ margin-bottom: 0;
+}
+blockquote footer,
+blockquote small,
+blockquote .small {
+ display: block;
+ font-size: 80%;
+ line-height: 1.42857143;
+ color: #777777;
+}
+blockquote footer:before,
+blockquote small:before,
+blockquote .small:before {
+ content: "\2014 \00A0";
+}
+.blockquote-reverse,
+blockquote.pull-right {
+ padding-right: 15px;
+ padding-left: 0;
+ text-align: right;
+ border-right: 5px solid #eeeeee;
+ border-left: 0;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+ content: "";
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+ content: "\00A0 \2014";
+}
+address {
+ margin-bottom: 20px;
+ font-style: normal;
+ line-height: 1.42857143;
+}
+code,
+kbd,
+pre,
+samp {
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #c7254e;
+ background-color: #f9f2f4;
+ border-radius: 4px;
+}
+kbd {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #fff;
+ background-color: #333;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+kbd kbd {
+ padding: 0;
+ font-size: 100%;
+ font-weight: 700;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 1.42857143;
+ color: #333333;
+ word-break: break-all;
+ word-wrap: break-word;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+}
+pre code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border-radius: 0;
+}
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
+.container {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+@media (min-width: 768px) {
+ .container {
+ width: 750px;
+ }
+}
+@media (min-width: 992px) {
+ .container {
+ width: 970px;
+ }
+}
+@media (min-width: 1200px) {
+ .container {
+ width: 1170px;
+ }
+}
+.container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+.row {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+.row-no-gutters {
+ margin-right: 0;
+ margin-left: 0;
+}
+.row-no-gutters [class*="col-"] {
+ padding-right: 0;
+ padding-left: 0;
+}
+.col-xs-1,
+.col-sm-1,
+.col-md-1,
+.col-lg-1,
+.col-xs-2,
+.col-sm-2,
+.col-md-2,
+.col-lg-2,
+.col-xs-3,
+.col-sm-3,
+.col-md-3,
+.col-lg-3,
+.col-xs-4,
+.col-sm-4,
+.col-md-4,
+.col-lg-4,
+.col-xs-5,
+.col-sm-5,
+.col-md-5,
+.col-lg-5,
+.col-xs-6,
+.col-sm-6,
+.col-md-6,
+.col-lg-6,
+.col-xs-7,
+.col-sm-7,
+.col-md-7,
+.col-lg-7,
+.col-xs-8,
+.col-sm-8,
+.col-md-8,
+.col-lg-8,
+.col-xs-9,
+.col-sm-9,
+.col-md-9,
+.col-lg-9,
+.col-xs-10,
+.col-sm-10,
+.col-md-10,
+.col-lg-10,
+.col-xs-11,
+.col-sm-11,
+.col-md-11,
+.col-lg-11,
+.col-xs-12,
+.col-sm-12,
+.col-md-12,
+.col-lg-12 {
+ position: relative;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+.col-xs-1,
+.col-xs-2,
+.col-xs-3,
+.col-xs-4,
+.col-xs-5,
+.col-xs-6,
+.col-xs-7,
+.col-xs-8,
+.col-xs-9,
+.col-xs-10,
+.col-xs-11,
+.col-xs-12 {
+ float: left;
+}
+.col-xs-12 {
+ width: 100%;
+}
+.col-xs-11 {
+ width: 91.66666667%;
+}
+.col-xs-10 {
+ width: 83.33333333%;
+}
+.col-xs-9 {
+ width: 75%;
+}
+.col-xs-8 {
+ width: 66.66666667%;
+}
+.col-xs-7 {
+ width: 58.33333333%;
+}
+.col-xs-6 {
+ width: 50%;
+}
+.col-xs-5 {
+ width: 41.66666667%;
+}
+.col-xs-4 {
+ width: 33.33333333%;
+}
+.col-xs-3 {
+ width: 25%;
+}
+.col-xs-2 {
+ width: 16.66666667%;
+}
+.col-xs-1 {
+ width: 8.33333333%;
+}
+.col-xs-pull-12 {
+ right: 100%;
+}
+.col-xs-pull-11 {
+ right: 91.66666667%;
+}
+.col-xs-pull-10 {
+ right: 83.33333333%;
+}
+.col-xs-pull-9 {
+ right: 75%;
+}
+.col-xs-pull-8 {
+ right: 66.66666667%;
+}
+.col-xs-pull-7 {
+ right: 58.33333333%;
+}
+.col-xs-pull-6 {
+ right: 50%;
+}
+.col-xs-pull-5 {
+ right: 41.66666667%;
+}
+.col-xs-pull-4 {
+ right: 33.33333333%;
+}
+.col-xs-pull-3 {
+ right: 25%;
+}
+.col-xs-pull-2 {
+ right: 16.66666667%;
+}
+.col-xs-pull-1 {
+ right: 8.33333333%;
+}
+.col-xs-pull-0 {
+ right: auto;
+}
+.col-xs-push-12 {
+ left: 100%;
+}
+.col-xs-push-11 {
+ left: 91.66666667%;
+}
+.col-xs-push-10 {
+ left: 83.33333333%;
+}
+.col-xs-push-9 {
+ left: 75%;
+}
+.col-xs-push-8 {
+ left: 66.66666667%;
+}
+.col-xs-push-7 {
+ left: 58.33333333%;
+}
+.col-xs-push-6 {
+ left: 50%;
+}
+.col-xs-push-5 {
+ left: 41.66666667%;
+}
+.col-xs-push-4 {
+ left: 33.33333333%;
+}
+.col-xs-push-3 {
+ left: 25%;
+}
+.col-xs-push-2 {
+ left: 16.66666667%;
+}
+.col-xs-push-1 {
+ left: 8.33333333%;
+}
+.col-xs-push-0 {
+ left: auto;
+}
+.col-xs-offset-12 {
+ margin-left: 100%;
+}
+.col-xs-offset-11 {
+ margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+ margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+ margin-left: 75%;
+}
+.col-xs-offset-8 {
+ margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+ margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+ margin-left: 50%;
+}
+.col-xs-offset-5 {
+ margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+ margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+ margin-left: 25%;
+}
+.col-xs-offset-2 {
+ margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+ margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+ margin-left: 0%;
+}
+@media (min-width: 768px) {
+ .col-sm-1,
+ .col-sm-2,
+ .col-sm-3,
+ .col-sm-4,
+ .col-sm-5,
+ .col-sm-6,
+ .col-sm-7,
+ .col-sm-8,
+ .col-sm-9,
+ .col-sm-10,
+ .col-sm-11,
+ .col-sm-12 {
+ float: left;
+ }
+ .col-sm-12 {
+ width: 100%;
+ }
+ .col-sm-11 {
+ width: 91.66666667%;
+ }
+ .col-sm-10 {
+ width: 83.33333333%;
+ }
+ .col-sm-9 {
+ width: 75%;
+ }
+ .col-sm-8 {
+ width: 66.66666667%;
+ }
+ .col-sm-7 {
+ width: 58.33333333%;
+ }
+ .col-sm-6 {
+ width: 50%;
+ }
+ .col-sm-5 {
+ width: 41.66666667%;
+ }
+ .col-sm-4 {
+ width: 33.33333333%;
+ }
+ .col-sm-3 {
+ width: 25%;
+ }
+ .col-sm-2 {
+ width: 16.66666667%;
+ }
+ .col-sm-1 {
+ width: 8.33333333%;
+ }
+ .col-sm-pull-12 {
+ right: 100%;
+ }
+ .col-sm-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-sm-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-sm-pull-9 {
+ right: 75%;
+ }
+ .col-sm-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-sm-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-sm-pull-6 {
+ right: 50%;
+ }
+ .col-sm-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-sm-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-sm-pull-3 {
+ right: 25%;
+ }
+ .col-sm-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-sm-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-sm-pull-0 {
+ right: auto;
+ }
+ .col-sm-push-12 {
+ left: 100%;
+ }
+ .col-sm-push-11 {
+ left: 91.66666667%;
+ }
+ .col-sm-push-10 {
+ left: 83.33333333%;
+ }
+ .col-sm-push-9 {
+ left: 75%;
+ }
+ .col-sm-push-8 {
+ left: 66.66666667%;
+ }
+ .col-sm-push-7 {
+ left: 58.33333333%;
+ }
+ .col-sm-push-6 {
+ left: 50%;
+ }
+ .col-sm-push-5 {
+ left: 41.66666667%;
+ }
+ .col-sm-push-4 {
+ left: 33.33333333%;
+ }
+ .col-sm-push-3 {
+ left: 25%;
+ }
+ .col-sm-push-2 {
+ left: 16.66666667%;
+ }
+ .col-sm-push-1 {
+ left: 8.33333333%;
+ }
+ .col-sm-push-0 {
+ left: auto;
+ }
+ .col-sm-offset-12 {
+ margin-left: 100%;
+ }
+ .col-sm-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-sm-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-sm-offset-9 {
+ margin-left: 75%;
+ }
+ .col-sm-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-sm-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-sm-offset-6 {
+ margin-left: 50%;
+ }
+ .col-sm-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-sm-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-sm-offset-3 {
+ margin-left: 25%;
+ }
+ .col-sm-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-sm-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-sm-offset-0 {
+ margin-left: 0%;
+ }
+}
+@media (min-width: 992px) {
+ .col-md-1,
+ .col-md-2,
+ .col-md-3,
+ .col-md-4,
+ .col-md-5,
+ .col-md-6,
+ .col-md-7,
+ .col-md-8,
+ .col-md-9,
+ .col-md-10,
+ .col-md-11,
+ .col-md-12 {
+ float: left;
+ }
+ .col-md-12 {
+ width: 100%;
+ }
+ .col-md-11 {
+ width: 91.66666667%;
+ }
+ .col-md-10 {
+ width: 83.33333333%;
+ }
+ .col-md-9 {
+ width: 75%;
+ }
+ .col-md-8 {
+ width: 66.66666667%;
+ }
+ .col-md-7 {
+ width: 58.33333333%;
+ }
+ .col-md-6 {
+ width: 50%;
+ }
+ .col-md-5 {
+ width: 41.66666667%;
+ }
+ .col-md-4 {
+ width: 33.33333333%;
+ }
+ .col-md-3 {
+ width: 25%;
+ }
+ .col-md-2 {
+ width: 16.66666667%;
+ }
+ .col-md-1 {
+ width: 8.33333333%;
+ }
+ .col-md-pull-12 {
+ right: 100%;
+ }
+ .col-md-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-md-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-md-pull-9 {
+ right: 75%;
+ }
+ .col-md-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-md-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-md-pull-6 {
+ right: 50%;
+ }
+ .col-md-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-md-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-md-pull-3 {
+ right: 25%;
+ }
+ .col-md-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-md-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-md-pull-0 {
+ right: auto;
+ }
+ .col-md-push-12 {
+ left: 100%;
+ }
+ .col-md-push-11 {
+ left: 91.66666667%;
+ }
+ .col-md-push-10 {
+ left: 83.33333333%;
+ }
+ .col-md-push-9 {
+ left: 75%;
+ }
+ .col-md-push-8 {
+ left: 66.66666667%;
+ }
+ .col-md-push-7 {
+ left: 58.33333333%;
+ }
+ .col-md-push-6 {
+ left: 50%;
+ }
+ .col-md-push-5 {
+ left: 41.66666667%;
+ }
+ .col-md-push-4 {
+ left: 33.33333333%;
+ }
+ .col-md-push-3 {
+ left: 25%;
+ }
+ .col-md-push-2 {
+ left: 16.66666667%;
+ }
+ .col-md-push-1 {
+ left: 8.33333333%;
+ }
+ .col-md-push-0 {
+ left: auto;
+ }
+ .col-md-offset-12 {
+ margin-left: 100%;
+ }
+ .col-md-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-md-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-md-offset-9 {
+ margin-left: 75%;
+ }
+ .col-md-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-md-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-md-offset-6 {
+ margin-left: 50%;
+ }
+ .col-md-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-md-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-md-offset-3 {
+ margin-left: 25%;
+ }
+ .col-md-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-md-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-md-offset-0 {
+ margin-left: 0%;
+ }
+}
+@media (min-width: 1200px) {
+ .col-lg-1,
+ .col-lg-2,
+ .col-lg-3,
+ .col-lg-4,
+ .col-lg-5,
+ .col-lg-6,
+ .col-lg-7,
+ .col-lg-8,
+ .col-lg-9,
+ .col-lg-10,
+ .col-lg-11,
+ .col-lg-12 {
+ float: left;
+ }
+ .col-lg-12 {
+ width: 100%;
+ }
+ .col-lg-11 {
+ width: 91.66666667%;
+ }
+ .col-lg-10 {
+ width: 83.33333333%;
+ }
+ .col-lg-9 {
+ width: 75%;
+ }
+ .col-lg-8 {
+ width: 66.66666667%;
+ }
+ .col-lg-7 {
+ width: 58.33333333%;
+ }
+ .col-lg-6 {
+ width: 50%;
+ }
+ .col-lg-5 {
+ width: 41.66666667%;
+ }
+ .col-lg-4 {
+ width: 33.33333333%;
+ }
+ .col-lg-3 {
+ width: 25%;
+ }
+ .col-lg-2 {
+ width: 16.66666667%;
+ }
+ .col-lg-1 {
+ width: 8.33333333%;
+ }
+ .col-lg-pull-12 {
+ right: 100%;
+ }
+ .col-lg-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-lg-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-lg-pull-9 {
+ right: 75%;
+ }
+ .col-lg-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-lg-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-lg-pull-6 {
+ right: 50%;
+ }
+ .col-lg-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-lg-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-lg-pull-3 {
+ right: 25%;
+ }
+ .col-lg-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-lg-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-lg-pull-0 {
+ right: auto;
+ }
+ .col-lg-push-12 {
+ left: 100%;
+ }
+ .col-lg-push-11 {
+ left: 91.66666667%;
+ }
+ .col-lg-push-10 {
+ left: 83.33333333%;
+ }
+ .col-lg-push-9 {
+ left: 75%;
+ }
+ .col-lg-push-8 {
+ left: 66.66666667%;
+ }
+ .col-lg-push-7 {
+ left: 58.33333333%;
+ }
+ .col-lg-push-6 {
+ left: 50%;
+ }
+ .col-lg-push-5 {
+ left: 41.66666667%;
+ }
+ .col-lg-push-4 {
+ left: 33.33333333%;
+ }
+ .col-lg-push-3 {
+ left: 25%;
+ }
+ .col-lg-push-2 {
+ left: 16.66666667%;
+ }
+ .col-lg-push-1 {
+ left: 8.33333333%;
+ }
+ .col-lg-push-0 {
+ left: auto;
+ }
+ .col-lg-offset-12 {
+ margin-left: 100%;
+ }
+ .col-lg-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-lg-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-lg-offset-9 {
+ margin-left: 75%;
+ }
+ .col-lg-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-lg-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-lg-offset-6 {
+ margin-left: 50%;
+ }
+ .col-lg-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-lg-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-lg-offset-3 {
+ margin-left: 25%;
+ }
+ .col-lg-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-lg-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-lg-offset-0 {
+ margin-left: 0%;
+ }
+}
+table {
+ background-color: transparent;
+}
+table col[class*="col-"] {
+ position: static;
+ display: table-column;
+ float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+ position: static;
+ display: table-cell;
+ float: none;
+}
+caption {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ color: #777777;
+ text-align: left;
+}
+th {
+ text-align: left;
+}
+.table {
+ width: 100%;
+ max-width: 100%;
+ margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+ padding: 8px;
+ line-height: 1.42857143;
+ vertical-align: top;
+ border-top: 1px solid #ddd;
+}
+.table > thead > tr > th {
+ vertical-align: bottom;
+ border-bottom: 2px solid #ddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+ border-top: 0;
+}
+.table > tbody + tbody {
+ border-top: 2px solid #ddd;
+}
+.table .table {
+ background-color: #fff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+ padding: 5px;
+}
+.table-bordered {
+ border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+ border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+ border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-of-type(odd) {
+ background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover {
+ background-color: #f5f5f5;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+ background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+ background-color: #e8e8e8;
+}
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+ background-color: #dff0d8;
+}
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+ background-color: #d0e9c6;
+}
+.table > thead > tr > td.info,
+.table > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.table > tfoot > tr.info > th {
+ background-color: #d9edf7;
+}
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+ background-color: #c4e3f3;
+}
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+ background-color: #fcf8e3;
+}
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+ background-color: #faf2cc;
+}
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+ background-color: #f2dede;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+ background-color: #ebcccc;
+}
+.table-responsive {
+ min-height: 0.01%;
+ overflow-x: auto;
+}
+@media screen and (max-width: 767px) {
+ .table-responsive {
+ width: 100%;
+ margin-bottom: 15px;
+ overflow-y: hidden;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ border: 1px solid #ddd;
+ }
+ .table-responsive > .table {
+ margin-bottom: 0;
+ }
+ .table-responsive > .table > thead > tr > th,
+ .table-responsive > .table > tbody > tr > th,
+ .table-responsive > .table > tfoot > tr > th,
+ .table-responsive > .table > thead > tr > td,
+ .table-responsive > .table > tbody > tr > td,
+ .table-responsive > .table > tfoot > tr > td {
+ white-space: nowrap;
+ }
+ .table-responsive > .table-bordered {
+ border: 0;
+ }
+ .table-responsive > .table-bordered > thead > tr > th:first-child,
+ .table-responsive > .table-bordered > tbody > tr > th:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .table-responsive > .table-bordered > tbody > tr > td:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0;
+ }
+ .table-responsive > .table-bordered > thead > tr > th:last-child,
+ .table-responsive > .table-bordered > tbody > tr > th:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .table-responsive > .table-bordered > tbody > tr > td:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0;
+ }
+ .table-responsive > .table-bordered > tbody > tr:last-child > th,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+ .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+ border-bottom: 0;
+ }
+}
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 20px;
+ font-size: 21px;
+ line-height: inherit;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+}
+label {
+ display: inline-block;
+ max-width: 100%;
+ margin-bottom: 5px;
+ font-weight: 700;
+}
+input[type="search"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ margin-top: 1px \9;
+ line-height: normal;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+ cursor: not-allowed;
+}
+input[type="file"] {
+ display: block;
+}
+input[type="range"] {
+ display: block;
+ width: 100%;
+}
+select[multiple],
+select[size] {
+ height: auto;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+output {
+ display: block;
+ padding-top: 7px;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #555555;
+}
+.form-control {
+ display: block;
+ width: 100%;
+ height: 34px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #555555;
+ background-color: #fff;
+ background-image: none;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+ transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+ border-color: #66afe9;
+ outline: 0;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
+}
+.form-control::-moz-placeholder {
+ color: #999;
+ opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+ color: #999;
+}
+.form-control::-webkit-input-placeholder {
+ color: #999;
+}
+.form-control::-ms-expand {
+ background-color: transparent;
+ border: 0;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+ background-color: #eeeeee;
+ opacity: 1;
+}
+.form-control[disabled],
+fieldset[disabled] .form-control {
+ cursor: not-allowed;
+}
+textarea.form-control {
+ height: auto;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+ input[type="date"].form-control,
+ input[type="time"].form-control,
+ input[type="datetime-local"].form-control,
+ input[type="month"].form-control {
+ line-height: 34px;
+ }
+ input[type="date"].input-sm,
+ input[type="time"].input-sm,
+ input[type="datetime-local"].input-sm,
+ input[type="month"].input-sm,
+ .input-group-sm input[type="date"],
+ .input-group-sm input[type="time"],
+ .input-group-sm input[type="datetime-local"],
+ .input-group-sm input[type="month"] {
+ line-height: 30px;
+ }
+ input[type="date"].input-lg,
+ input[type="time"].input-lg,
+ input[type="datetime-local"].input-lg,
+ input[type="month"].input-lg,
+ .input-group-lg input[type="date"],
+ .input-group-lg input[type="time"],
+ .input-group-lg input[type="datetime-local"],
+ .input-group-lg input[type="month"] {
+ line-height: 46px;
+ }
+}
+.form-group {
+ margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+ position: relative;
+ display: block;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+ cursor: not-allowed;
+}
+.radio label,
+.checkbox label {
+ min-height: 20px;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: 400;
+ cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+ position: absolute;
+ margin-top: 4px \9;
+ margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+ margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+ position: relative;
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: 400;
+ vertical-align: middle;
+ cursor: pointer;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+ cursor: not-allowed;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px;
+}
+.form-control-static {
+ min-height: 34px;
+ padding-top: 7px;
+ padding-bottom: 7px;
+ margin-bottom: 0;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+ padding-right: 0;
+ padding-left: 0;
+}
+.input-sm {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.input-sm {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].input-sm {
+ height: auto;
+}
+.form-group-sm .form-control {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+.form-group-sm select.form-control {
+ height: 30px;
+ line-height: 30px;
+}
+.form-group-sm textarea.form-control,
+.form-group-sm select[multiple].form-control {
+ height: auto;
+}
+.form-group-sm .form-control-static {
+ height: 30px;
+ min-height: 32px;
+ padding: 6px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+}
+.input-lg {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.input-lg {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+ height: auto;
+}
+.form-group-lg .form-control {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+.form-group-lg select.form-control {
+ height: 46px;
+ line-height: 46px;
+}
+.form-group-lg textarea.form-control,
+.form-group-lg select[multiple].form-control {
+ height: auto;
+}
+.form-group-lg .form-control-static {
+ height: 46px;
+ min-height: 38px;
+ padding: 11px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+}
+.has-feedback {
+ position: relative;
+}
+.has-feedback .form-control {
+ padding-right: 42.5px;
+}
+.form-control-feedback {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ display: block;
+ width: 34px;
+ height: 34px;
+ line-height: 34px;
+ text-align: center;
+ pointer-events: none;
+}
+.input-lg + .form-control-feedback,
+.input-group-lg + .form-control-feedback,
+.form-group-lg .form-control + .form-control-feedback {
+ width: 46px;
+ height: 46px;
+ line-height: 46px;
+}
+.input-sm + .form-control-feedback,
+.input-group-sm + .form-control-feedback,
+.form-group-sm .form-control + .form-control-feedback {
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
+ color: #3c763d;
+}
+.has-success .form-control {
+ border-color: #3c763d;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-success .form-control:focus {
+ border-color: #2b542c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #3c763d;
+}
+.has-success .form-control-feedback {
+ color: #3c763d;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
+ color: #8a6d3b;
+}
+.has-warning .form-control {
+ border-color: #8a6d3b;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-warning .form-control:focus {
+ border-color: #66512c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #8a6d3b;
+}
+.has-warning .form-control-feedback {
+ color: #8a6d3b;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
+ color: #a94442;
+}
+.has-error .form-control {
+ border-color: #a94442;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-error .form-control:focus {
+ border-color: #843534;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #a94442;
+}
+.has-error .form-control-feedback {
+ color: #a94442;
+}
+.has-feedback label ~ .form-control-feedback {
+ top: 25px;
+}
+.has-feedback label.sr-only ~ .form-control-feedback {
+ top: 0;
+}
+.help-block {
+ display: block;
+ margin-top: 5px;
+ margin-bottom: 10px;
+ color: #737373;
+}
+@media (min-width: 768px) {
+ .form-inline .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle;
+ }
+ .form-inline .form-control-static {
+ display: inline-block;
+ }
+ .form-inline .input-group {
+ display: inline-table;
+ vertical-align: middle;
+ }
+ .form-inline .input-group .input-group-addon,
+ .form-inline .input-group .input-group-btn,
+ .form-inline .input-group .form-control {
+ width: auto;
+ }
+ .form-inline .input-group > .form-control {
+ width: 100%;
+ }
+ .form-inline .control-label {
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .radio,
+ .form-inline .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .radio label,
+ .form-inline .checkbox label {
+ padding-left: 0;
+ }
+ .form-inline .radio input[type="radio"],
+ .form-inline .checkbox input[type="checkbox"] {
+ position: relative;
+ margin-left: 0;
+ }
+ .form-inline .has-feedback .form-control-feedback {
+ top: 0;
+ }
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+ padding-top: 7px;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+ min-height: 27px;
+}
+.form-horizontal .form-group {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .control-label {
+ padding-top: 7px;
+ margin-bottom: 0;
+ text-align: right;
+ }
+}
+.form-horizontal .has-feedback .form-control-feedback {
+ right: 15px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-lg .control-label {
+ padding-top: 11px;
+ font-size: 18px;
+ }
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-sm .control-label {
+ padding-top: 6px;
+ font-size: 12px;
+ }
+}
+.btn {
+ display: inline-block;
+ margin-bottom: 0;
+ font-weight: normal;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857143;
+ border-radius: 4px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.btn:focus,
+.btn:active:focus,
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn.active.focus {
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+.btn:hover,
+.btn:focus,
+.btn.focus {
+ color: #333;
+ text-decoration: none;
+}
+.btn:active,
+.btn.active {
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+ cursor: not-allowed;
+ filter: alpha(opacity=65);
+ opacity: 0.65;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+a.btn.disabled,
+fieldset[disabled] a.btn {
+ pointer-events: none;
+}
+.btn-default {
+ color: #333;
+ background-color: #fff;
+ border-color: #ccc;
+}
+.btn-default:focus,
+.btn-default.focus {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #8c8c8c;
+}
+.btn-default:hover {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #adadad;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+ color: #333;
+ background-color: #e6e6e6;
+ background-image: none;
+ border-color: #adadad;
+}
+.btn-default:active:hover,
+.btn-default.active:hover,
+.open > .dropdown-toggle.btn-default:hover,
+.btn-default:active:focus,
+.btn-default.active:focus,
+.open > .dropdown-toggle.btn-default:focus,
+.btn-default:active.focus,
+.btn-default.active.focus,
+.open > .dropdown-toggle.btn-default.focus {
+ color: #333;
+ background-color: #d4d4d4;
+ border-color: #8c8c8c;
+}
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus {
+ background-color: #fff;
+ border-color: #ccc;
+}
+.btn-default .badge {
+ color: #fff;
+ background-color: #333;
+}
+.btn-primary {
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #2e6da4;
+}
+.btn-primary:focus,
+.btn-primary.focus {
+ color: #fff;
+ background-color: #286090;
+ border-color: #122b40;
+}
+.btn-primary:hover {
+ color: #fff;
+ background-color: #286090;
+ border-color: #204d74;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+ color: #fff;
+ background-color: #286090;
+ background-image: none;
+ border-color: #204d74;
+}
+.btn-primary:active:hover,
+.btn-primary.active:hover,
+.open > .dropdown-toggle.btn-primary:hover,
+.btn-primary:active:focus,
+.btn-primary.active:focus,
+.open > .dropdown-toggle.btn-primary:focus,
+.btn-primary:active.focus,
+.btn-primary.active.focus,
+.open > .dropdown-toggle.btn-primary.focus {
+ color: #fff;
+ background-color: #204d74;
+ border-color: #122b40;
+}
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus {
+ background-color: #337ab7;
+ border-color: #2e6da4;
+}
+.btn-primary .badge {
+ color: #337ab7;
+ background-color: #fff;
+}
+.btn-success {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #4cae4c;
+}
+.btn-success:focus,
+.btn-success.focus {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #255625;
+}
+.btn-success:hover {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #398439;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+ color: #fff;
+ background-color: #449d44;
+ background-image: none;
+ border-color: #398439;
+}
+.btn-success:active:hover,
+.btn-success.active:hover,
+.open > .dropdown-toggle.btn-success:hover,
+.btn-success:active:focus,
+.btn-success.active:focus,
+.open > .dropdown-toggle.btn-success:focus,
+.btn-success:active.focus,
+.btn-success.active.focus,
+.open > .dropdown-toggle.btn-success.focus {
+ color: #fff;
+ background-color: #398439;
+ border-color: #255625;
+}
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus {
+ background-color: #5cb85c;
+ border-color: #4cae4c;
+}
+.btn-success .badge {
+ color: #5cb85c;
+ background-color: #fff;
+}
+.btn-info {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #46b8da;
+}
+.btn-info:focus,
+.btn-info.focus {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #1b6d85;
+}
+.btn-info:hover {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #269abc;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+ color: #fff;
+ background-color: #31b0d5;
+ background-image: none;
+ border-color: #269abc;
+}
+.btn-info:active:hover,
+.btn-info.active:hover,
+.open > .dropdown-toggle.btn-info:hover,
+.btn-info:active:focus,
+.btn-info.active:focus,
+.open > .dropdown-toggle.btn-info:focus,
+.btn-info:active.focus,
+.btn-info.active.focus,
+.open > .dropdown-toggle.btn-info.focus {
+ color: #fff;
+ background-color: #269abc;
+ border-color: #1b6d85;
+}
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus {
+ background-color: #5bc0de;
+ border-color: #46b8da;
+}
+.btn-info .badge {
+ color: #5bc0de;
+ background-color: #fff;
+}
+.btn-warning {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #eea236;
+}
+.btn-warning:focus,
+.btn-warning.focus {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #985f0d;
+}
+.btn-warning:hover {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #d58512;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+ color: #fff;
+ background-color: #ec971f;
+ background-image: none;
+ border-color: #d58512;
+}
+.btn-warning:active:hover,
+.btn-warning.active:hover,
+.open > .dropdown-toggle.btn-warning:hover,
+.btn-warning:active:focus,
+.btn-warning.active:focus,
+.open > .dropdown-toggle.btn-warning:focus,
+.btn-warning:active.focus,
+.btn-warning.active.focus,
+.open > .dropdown-toggle.btn-warning.focus {
+ color: #fff;
+ background-color: #d58512;
+ border-color: #985f0d;
+}
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus {
+ background-color: #f0ad4e;
+ border-color: #eea236;
+}
+.btn-warning .badge {
+ color: #f0ad4e;
+ background-color: #fff;
+}
+.btn-danger {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+.btn-danger:focus,
+.btn-danger.focus {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #761c19;
+}
+.btn-danger:hover {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #ac2925;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+ color: #fff;
+ background-color: #c9302c;
+ background-image: none;
+ border-color: #ac2925;
+}
+.btn-danger:active:hover,
+.btn-danger.active:hover,
+.open > .dropdown-toggle.btn-danger:hover,
+.btn-danger:active:focus,
+.btn-danger.active:focus,
+.open > .dropdown-toggle.btn-danger:focus,
+.btn-danger:active.focus,
+.btn-danger.active.focus,
+.open > .dropdown-toggle.btn-danger.focus {
+ color: #fff;
+ background-color: #ac2925;
+ border-color: #761c19;
+}
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus {
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+.btn-danger .badge {
+ color: #d9534f;
+ background-color: #fff;
+}
+.btn-link {
+ font-weight: 400;
+ color: #337ab7;
+ border-radius: 0;
+}
+.btn-link,
+.btn-link:active,
+.btn-link.active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.btn-link,
+.btn-link:hover,
+.btn-link:focus,
+.btn-link:active {
+ border-color: transparent;
+}
+.btn-link:hover,
+.btn-link:focus {
+ color: #23527c;
+ text-decoration: underline;
+ background-color: transparent;
+}
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+ color: #777777;
+ text-decoration: none;
+}
+.btn-lg,
+.btn-group-lg > .btn {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+.btn-sm,
+.btn-group-sm > .btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+.btn-xs,
+.btn-group-xs > .btn {
+ padding: 1px 5px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+.btn-block {
+ display: block;
+ width: 100%;
+}
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%;
+}
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+.fade.in {
+ opacity: 1;
+}
+.collapse {
+ display: none;
+}
+.collapse.in {
+ display: block;
+}
+tr.collapse.in {
+ display: table-row;
+}
+tbody.collapse.in {
+ display: table-row-group;
+}
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition-property: height, visibility;
+ -o-transition-property: height, visibility;
+ transition-property: height, visibility;
+ -webkit-transition-duration: 0.35s;
+ -o-transition-duration: 0.35s;
+ transition-duration: 0.35s;
+ -webkit-transition-timing-function: ease;
+ -o-transition-timing-function: ease;
+ transition-timing-function: ease;
+}
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px dashed;
+ border-top: 4px solid \9;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+}
+.dropup,
+.dropdown {
+ position: relative;
+}
+.dropdown-toggle:focus {
+ outline: 0;
+}
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ font-size: 14px;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+}
+.dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+.dropdown-menu .divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5;
+}
+.dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: 400;
+ line-height: 1.42857143;
+ color: #333333;
+ white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+ color: #262626;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #337ab7;
+ outline: 0;
+}
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ color: #777777;
+}
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.open > .dropdown-menu {
+ display: block;
+}
+.open > a {
+ outline: 0;
+}
+.dropdown-menu-right {
+ right: 0;
+ left: auto;
+}
+.dropdown-menu-left {
+ right: auto;
+ left: 0;
+}
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: 12px;
+ line-height: 1.42857143;
+ color: #777777;
+ white-space: nowrap;
+}
+.dropdown-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 990;
+}
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ content: "";
+ border-top: 0;
+ border-bottom: 4px dashed;
+ border-bottom: 4px solid \9;
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 2px;
+}
+@media (min-width: 768px) {
+ .navbar-right .dropdown-menu {
+ right: 0;
+ left: auto;
+ }
+ .navbar-right .dropdown-menu-left {
+ right: auto;
+ left: 0;
+ }
+}
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ float: left;
+}
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn.active {
+ z-index: 2;
+}
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group {
+ margin-left: -1px;
+}
+.btn-toolbar {
+ margin-left: -5px;
+}
+.btn-toolbar .btn,
+.btn-toolbar .btn-group,
+.btn-toolbar .input-group {
+ float: left;
+}
+.btn-toolbar > .btn,
+.btn-toolbar > .btn-group,
+.btn-toolbar > .input-group {
+ margin-left: 5px;
+}
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0;
+}
+.btn-group > .btn:first-child {
+ margin-left: 0;
+}
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group > .btn-group {
+ float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+ padding-right: 8px;
+ padding-left: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+ padding-right: 12px;
+ padding-left: 12px;
+}
+.btn-group.open .dropdown-toggle {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+.btn-group.open .dropdown-toggle.btn-link {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.btn .caret {
+ margin-left: 0;
+}
+.btn-lg .caret {
+ border-width: 5px 5px 0;
+ border-bottom-width: 0;
+}
+.dropup .btn-lg .caret {
+ border-width: 0 5px 5px;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group,
+.btn-group-vertical > .btn-group > .btn {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%;
+}
+.btn-group-vertical > .btn-group > .btn {
+ float: none;
+}
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0;
+}
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: separate;
+}
+.btn-group-justified > .btn,
+.btn-group-justified > .btn-group {
+ display: table-cell;
+ float: none;
+ width: 1%;
+}
+.btn-group-justified > .btn-group .btn {
+ width: 100%;
+}
+.btn-group-justified > .btn-group .dropdown-menu {
+ left: auto;
+}
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+.input-group {
+ position: relative;
+ display: table;
+ border-collapse: separate;
+}
+.input-group[class*="col-"] {
+ float: none;
+ padding-right: 0;
+ padding-left: 0;
+}
+.input-group .form-control {
+ position: relative;
+ z-index: 2;
+ float: left;
+ width: 100%;
+ margin-bottom: 0;
+}
+.input-group .form-control:focus {
+ z-index: 3;
+}
+.input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.input-group-lg > .form-control,
+select.input-group-lg > .input-group-addon,
+select.input-group-lg > .input-group-btn > .btn {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.input-group-lg > .form-control,
+textarea.input-group-lg > .input-group-addon,
+textarea.input-group-lg > .input-group-btn > .btn,
+select[multiple].input-group-lg > .form-control,
+select[multiple].input-group-lg > .input-group-addon,
+select[multiple].input-group-lg > .input-group-btn > .btn {
+ height: auto;
+}
+.input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.input-group-sm > .form-control,
+select.input-group-sm > .input-group-addon,
+select.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.input-group-sm > .form-control,
+textarea.input-group-sm > .input-group-addon,
+textarea.input-group-sm > .input-group-btn > .btn,
+select[multiple].input-group-sm > .form-control,
+select[multiple].input-group-sm > .input-group-addon,
+select[multiple].input-group-sm > .input-group-btn > .btn {
+ height: auto;
+}
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+ display: table-cell;
+}
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+.input-group-addon,
+.input-group-btn {
+ width: 1%;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+.input-group-addon {
+ padding: 6px 12px;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 1;
+ color: #555555;
+ text-align: center;
+ background-color: #eeeeee;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+}
+.input-group-addon.input-sm {
+ padding: 5px 10px;
+ font-size: 12px;
+ border-radius: 3px;
+}
+.input-group-addon.input-lg {
+ padding: 10px 16px;
+ font-size: 18px;
+ border-radius: 6px;
+}
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+ margin-top: 0;
+}
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group-addon:first-child {
+ border-right: 0;
+}
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child),
+.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.input-group-addon:last-child {
+ border-left: 0;
+}
+.input-group-btn {
+ position: relative;
+ font-size: 0;
+ white-space: nowrap;
+}
+.input-group-btn > .btn {
+ position: relative;
+}
+.input-group-btn > .btn + .btn {
+ margin-left: -1px;
+}
+.input-group-btn > .btn:hover,
+.input-group-btn > .btn:focus,
+.input-group-btn > .btn:active {
+ z-index: 2;
+}
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group {
+ margin-right: -1px;
+}
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group {
+ z-index: 2;
+ margin-left: -1px;
+}
+.nav {
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.nav > li {
+ position: relative;
+ display: block;
+}
+.nav > li > a {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+.nav > li.disabled > a {
+ color: #777777;
+}
+.nav > li.disabled > a:hover,
+.nav > li.disabled > a:focus {
+ color: #777777;
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+}
+.nav .open > a,
+.nav .open > a:hover,
+.nav .open > a:focus {
+ background-color: #eeeeee;
+ border-color: #337ab7;
+}
+.nav .nav-divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5;
+}
+.nav > li > a > img {
+ max-width: none;
+}
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+ float: left;
+ margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+ margin-right: 2px;
+ line-height: 1.42857143;
+ border: 1px solid transparent;
+ border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #ddd;
+}
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+ color: #555555;
+ cursor: default;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+}
+.nav-tabs.nav-justified {
+ width: 100%;
+ border-bottom: 0;
+}
+.nav-tabs.nav-justified > li {
+ float: none;
+}
+.nav-tabs.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-tabs.nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+.nav-tabs.nav-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+ border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs.nav-justified > .active > a,
+ .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs.nav-justified > .active > a:focus {
+ border-bottom-color: #fff;
+ }
+}
+.nav-pills > li {
+ float: left;
+}
+.nav-pills > li > a {
+ border-radius: 4px;
+}
+.nav-pills > li + li {
+ margin-left: 2px;
+}
+.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+ color: #fff;
+ background-color: #337ab7;
+}
+.nav-stacked > li {
+ float: none;
+}
+.nav-stacked > li + li {
+ margin-top: 2px;
+ margin-left: 0;
+}
+.nav-justified {
+ width: 100%;
+}
+.nav-justified > li {
+ float: none;
+}
+.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+@media (min-width: 768px) {
+ .nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+.nav-tabs-justified {
+ border-bottom: 0;
+}
+.nav-tabs-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+ border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+ .nav-tabs-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover,
+ .nav-tabs-justified > .active > a:focus {
+ border-bottom-color: #fff;
+ }
+}
+.tab-content > .tab-pane {
+ display: none;
+}
+.tab-content > .active {
+ display: block;
+}
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.navbar {
+ position: relative;
+ min-height: 50px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+}
+@media (min-width: 768px) {
+ .navbar {
+ border-radius: 4px;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-header {
+ float: left;
+ }
+}
+.navbar-collapse {
+ padding-right: 15px;
+ padding-left: 15px;
+ overflow-x: visible;
+ border-top: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ -webkit-overflow-scrolling: touch;
+}
+.navbar-collapse.in {
+ overflow-y: auto;
+}
+@media (min-width: 768px) {
+ .navbar-collapse {
+ width: auto;
+ border-top: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+ .navbar-collapse.collapse {
+ display: block !important;
+ height: auto !important;
+ padding-bottom: 0;
+ overflow: visible !important;
+ }
+ .navbar-collapse.in {
+ overflow-y: visible;
+ }
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-static-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+.navbar-fixed-top .navbar-collapse,
+.navbar-fixed-bottom .navbar-collapse {
+ max-height: 340px;
+}
+@media (max-device-width: 480px) and (orientation: landscape) {
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+ max-height: 200px;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ border-radius: 0;
+ }
+}
+.navbar-fixed-top {
+ top: 0;
+ border-width: 0 0 1px;
+}
+.navbar-fixed-bottom {
+ bottom: 0;
+ margin-bottom: 0;
+ border-width: 1px 0 0;
+}
+.container > .navbar-header,
+.container-fluid > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-collapse {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+@media (min-width: 768px) {
+ .container > .navbar-header,
+ .container-fluid > .navbar-header,
+ .container > .navbar-collapse,
+ .container-fluid > .navbar-collapse {
+ margin-right: 0;
+ margin-left: 0;
+ }
+}
+.navbar-static-top {
+ z-index: 1000;
+ border-width: 0 0 1px;
+}
+@media (min-width: 768px) {
+ .navbar-static-top {
+ border-radius: 0;
+ }
+}
+.navbar-brand {
+ float: left;
+ height: 50px;
+ padding: 15px 15px;
+ font-size: 18px;
+ line-height: 20px;
+}
+.navbar-brand:hover,
+.navbar-brand:focus {
+ text-decoration: none;
+}
+.navbar-brand > img {
+ display: block;
+}
+@media (min-width: 768px) {
+ .navbar > .container .navbar-brand,
+ .navbar > .container-fluid .navbar-brand {
+ margin-left: -15px;
+ }
+}
+.navbar-toggle {
+ position: relative;
+ float: right;
+ padding: 9px 10px;
+ margin-right: 15px;
+ margin-top: 8px;
+ margin-bottom: 8px;
+ background-color: transparent;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.navbar-toggle:focus {
+ outline: 0;
+}
+.navbar-toggle .icon-bar {
+ display: block;
+ width: 22px;
+ height: 2px;
+ border-radius: 1px;
+}
+.navbar-toggle .icon-bar + .icon-bar {
+ margin-top: 4px;
+}
+@media (min-width: 768px) {
+ .navbar-toggle {
+ display: none;
+ }
+}
+.navbar-nav {
+ margin: 7.5px -15px;
+}
+.navbar-nav > li > a {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ line-height: 20px;
+}
+@media (max-width: 767px) {
+ .navbar-nav .open .dropdown-menu {
+ position: static;
+ float: none;
+ width: auto;
+ margin-top: 0;
+ background-color: transparent;
+ border: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+ .navbar-nav .open .dropdown-menu > li > a,
+ .navbar-nav .open .dropdown-menu .dropdown-header {
+ padding: 5px 15px 5px 25px;
+ }
+ .navbar-nav .open .dropdown-menu > li > a {
+ line-height: 20px;
+ }
+ .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-nav .open .dropdown-menu > li > a:focus {
+ background-image: none;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-nav {
+ float: left;
+ margin: 0;
+ }
+ .navbar-nav > li {
+ float: left;
+ }
+ .navbar-nav > li > a {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ }
+}
+.navbar-form {
+ padding: 10px 15px;
+ margin-right: -15px;
+ margin-left: -15px;
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+@media (min-width: 768px) {
+ .navbar-form .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle;
+ }
+ .navbar-form .form-control-static {
+ display: inline-block;
+ }
+ .navbar-form .input-group {
+ display: inline-table;
+ vertical-align: middle;
+ }
+ .navbar-form .input-group .input-group-addon,
+ .navbar-form .input-group .input-group-btn,
+ .navbar-form .input-group .form-control {
+ width: auto;
+ }
+ .navbar-form .input-group > .form-control {
+ width: 100%;
+ }
+ .navbar-form .control-label {
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .radio,
+ .navbar-form .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .radio label,
+ .navbar-form .checkbox label {
+ padding-left: 0;
+ }
+ .navbar-form .radio input[type="radio"],
+ .navbar-form .checkbox input[type="checkbox"] {
+ position: relative;
+ margin-left: 0;
+ }
+ .navbar-form .has-feedback .form-control-feedback {
+ top: 0;
+ }
+}
+@media (max-width: 767px) {
+ .navbar-form .form-group {
+ margin-bottom: 5px;
+ }
+ .navbar-form .form-group:last-child {
+ margin-bottom: 0;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-form {
+ width: auto;
+ padding-top: 0;
+ padding-bottom: 0;
+ margin-right: 0;
+ margin-left: 0;
+ border: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+}
+.navbar-nav > li > .dropdown-menu {
+ margin-top: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ margin-bottom: 0;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.navbar-btn {
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+.navbar-btn.btn-sm {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+.navbar-btn.btn-xs {
+ margin-top: 14px;
+ margin-bottom: 14px;
+}
+.navbar-text {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+@media (min-width: 768px) {
+ .navbar-text {
+ float: left;
+ margin-right: 15px;
+ margin-left: 15px;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-left {
+ float: left !important;
+ }
+ .navbar-right {
+ float: right !important;
+ margin-right: -15px;
+ }
+ .navbar-right ~ .navbar-right {
+ margin-right: 0;
+ }
+}
+.navbar-default {
+ background-color: #f8f8f8;
+ border-color: #e7e7e7;
+}
+.navbar-default .navbar-brand {
+ color: #777;
+}
+.navbar-default .navbar-brand:hover,
+.navbar-default .navbar-brand:focus {
+ color: #5e5e5e;
+ background-color: transparent;
+}
+.navbar-default .navbar-text {
+ color: #777;
+}
+.navbar-default .navbar-nav > li > a {
+ color: #777;
+}
+.navbar-default .navbar-nav > li > a:hover,
+.navbar-default .navbar-nav > li > a:focus {
+ color: #333;
+ background-color: transparent;
+}
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus {
+ color: #555;
+ background-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .disabled > a,
+.navbar-default .navbar-nav > .disabled > a:hover,
+.navbar-default .navbar-nav > .disabled > a:focus {
+ color: #ccc;
+ background-color: transparent;
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .open > a:hover,
+.navbar-default .navbar-nav > .open > a:focus {
+ color: #555;
+ background-color: #e7e7e7;
+}
+@media (max-width: 767px) {
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+ color: #777;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #333;
+ background-color: transparent;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #555;
+ background-color: #e7e7e7;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #ccc;
+ background-color: transparent;
+ }
+}
+.navbar-default .navbar-toggle {
+ border-color: #ddd;
+}
+.navbar-default .navbar-toggle:hover,
+.navbar-default .navbar-toggle:focus {
+ background-color: #ddd;
+}
+.navbar-default .navbar-toggle .icon-bar {
+ background-color: #888;
+}
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+ border-color: #e7e7e7;
+}
+.navbar-default .navbar-link {
+ color: #777;
+}
+.navbar-default .navbar-link:hover {
+ color: #333;
+}
+.navbar-default .btn-link {
+ color: #777;
+}
+.navbar-default .btn-link:hover,
+.navbar-default .btn-link:focus {
+ color: #333;
+}
+.navbar-default .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-default .btn-link:hover,
+.navbar-default .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-default .btn-link:focus {
+ color: #ccc;
+}
+.navbar-inverse {
+ background-color: #222;
+ border-color: #080808;
+}
+.navbar-inverse .navbar-brand {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-brand:focus {
+ color: #fff;
+ background-color: transparent;
+}
+.navbar-inverse .navbar-text {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a:hover,
+.navbar-inverse .navbar-nav > li > a:focus {
+ color: #fff;
+ background-color: transparent;
+}
+.navbar-inverse .navbar-nav > .active > a,
+.navbar-inverse .navbar-nav > .active > a:hover,
+.navbar-inverse .navbar-nav > .active > a:focus {
+ color: #fff;
+ background-color: #080808;
+}
+.navbar-inverse .navbar-nav > .disabled > a,
+.navbar-inverse .navbar-nav > .disabled > a:hover,
+.navbar-inverse .navbar-nav > .disabled > a:focus {
+ color: #444;
+ background-color: transparent;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .open > a:hover,
+.navbar-inverse .navbar-nav > .open > a:focus {
+ color: #fff;
+ background-color: #080808;
+}
+@media (max-width: 767px) {
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+ border-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+ background-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+ color: #9d9d9d;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #fff;
+ background-color: transparent;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #fff;
+ background-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #444;
+ background-color: transparent;
+ }
+}
+.navbar-inverse .navbar-toggle {
+ border-color: #333;
+}
+.navbar-inverse .navbar-toggle:hover,
+.navbar-inverse .navbar-toggle:focus {
+ background-color: #333;
+}
+.navbar-inverse .navbar-toggle .icon-bar {
+ background-color: #fff;
+}
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+ border-color: #101010;
+}
+.navbar-inverse .navbar-link {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-link:hover {
+ color: #fff;
+}
+.navbar-inverse .btn-link {
+ color: #9d9d9d;
+}
+.navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link:focus {
+ color: #fff;
+}
+.navbar-inverse .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-inverse .btn-link:focus {
+ color: #444;
+}
+.breadcrumb {
+ padding: 8px 15px;
+ margin-bottom: 20px;
+ list-style: none;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+}
+.breadcrumb > li {
+ display: inline-block;
+}
+.breadcrumb > li + li:before {
+ padding: 0 5px;
+ color: #ccc;
+ content: "/\00a0";
+}
+.breadcrumb > .active {
+ color: #777777;
+}
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin: 20px 0;
+ border-radius: 4px;
+}
+.pagination > li {
+ display: inline;
+}
+.pagination > li > a,
+.pagination > li > span {
+ position: relative;
+ float: left;
+ padding: 6px 12px;
+ margin-left: -1px;
+ line-height: 1.42857143;
+ color: #337ab7;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+ z-index: 2;
+ color: #23527c;
+ background-color: #eeeeee;
+ border-color: #ddd;
+}
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+ margin-left: 0;
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+ z-index: 3;
+ color: #fff;
+ cursor: default;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+ color: #777777;
+ cursor: not-allowed;
+ background-color: #fff;
+ border-color: #ddd;
+}
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+}
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+}
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+}
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+}
+.pager {
+ padding-left: 0;
+ margin: 20px 0;
+ text-align: center;
+ list-style: none;
+}
+.pager li {
+ display: inline;
+}
+.pager li > a,
+.pager li > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 15px;
+}
+.pager li > a:hover,
+.pager li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+.pager .next > a,
+.pager .next > span {
+ float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+ float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+ color: #777777;
+ cursor: not-allowed;
+ background-color: #fff;
+}
+.label {
+ display: inline;
+ padding: 0.2em 0.6em 0.3em;
+ font-size: 75%;
+ font-weight: 700;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.25em;
+}
+a.label:hover,
+a.label:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.label:empty {
+ display: none;
+}
+.btn .label {
+ position: relative;
+ top: -1px;
+}
+.label-default {
+ background-color: #777777;
+}
+.label-default[href]:hover,
+.label-default[href]:focus {
+ background-color: #5e5e5e;
+}
+.label-primary {
+ background-color: #337ab7;
+}
+.label-primary[href]:hover,
+.label-primary[href]:focus {
+ background-color: #286090;
+}
+.label-success {
+ background-color: #5cb85c;
+}
+.label-success[href]:hover,
+.label-success[href]:focus {
+ background-color: #449d44;
+}
+.label-info {
+ background-color: #5bc0de;
+}
+.label-info[href]:hover,
+.label-info[href]:focus {
+ background-color: #31b0d5;
+}
+.label-warning {
+ background-color: #f0ad4e;
+}
+.label-warning[href]:hover,
+.label-warning[href]:focus {
+ background-color: #ec971f;
+}
+.label-danger {
+ background-color: #d9534f;
+}
+.label-danger[href]:hover,
+.label-danger[href]:focus {
+ background-color: #c9302c;
+}
+.badge {
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ background-color: #777777;
+ border-radius: 10px;
+}
+.badge:empty {
+ display: none;
+}
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+.btn-xs .badge,
+.btn-group-xs > .btn .badge {
+ top: 0;
+ padding: 1px 5px;
+}
+a.badge:hover,
+a.badge:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+ color: #337ab7;
+ background-color: #fff;
+}
+.list-group-item > .badge {
+ float: right;
+}
+.list-group-item > .badge + .badge {
+ margin-right: 5px;
+}
+.nav-pills > li > a > .badge {
+ margin-left: 3px;
+}
+.jumbotron {
+ padding-top: 30px;
+ padding-bottom: 30px;
+ margin-bottom: 30px;
+ color: inherit;
+ background-color: #eeeeee;
+}
+.jumbotron h1,
+.jumbotron .h1 {
+ color: inherit;
+}
+.jumbotron p {
+ margin-bottom: 15px;
+ font-size: 21px;
+ font-weight: 200;
+}
+.jumbotron > hr {
+ border-top-color: #d5d5d5;
+}
+.container .jumbotron,
+.container-fluid .jumbotron {
+ padding-right: 15px;
+ padding-left: 15px;
+ border-radius: 6px;
+}
+.jumbotron .container {
+ max-width: 100%;
+}
+@media screen and (min-width: 768px) {
+ .jumbotron {
+ padding-top: 48px;
+ padding-bottom: 48px;
+ }
+ .container .jumbotron,
+ .container-fluid .jumbotron {
+ padding-right: 60px;
+ padding-left: 60px;
+ }
+ .jumbotron h1,
+ .jumbotron .h1 {
+ font-size: 63px;
+ }
+}
+.thumbnail {
+ display: block;
+ padding: 4px;
+ margin-bottom: 20px;
+ line-height: 1.42857143;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: border 0.2s ease-in-out;
+ -o-transition: border 0.2s ease-in-out;
+ transition: border 0.2s ease-in-out;
+}
+.thumbnail > img,
+.thumbnail a > img {
+ margin-right: auto;
+ margin-left: auto;
+}
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+ border-color: #337ab7;
+}
+.thumbnail .caption {
+ padding: 9px;
+ color: #333333;
+}
+.alert {
+ padding: 15px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.alert h4 {
+ margin-top: 0;
+ color: inherit;
+}
+.alert .alert-link {
+ font-weight: bold;
+}
+.alert > p,
+.alert > ul {
+ margin-bottom: 0;
+}
+.alert > p + p {
+ margin-top: 5px;
+}
+.alert-dismissable,
+.alert-dismissible {
+ padding-right: 35px;
+}
+.alert-dismissable .close,
+.alert-dismissible .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ color: inherit;
+}
+.alert-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+.alert-success hr {
+ border-top-color: #c9e2b3;
+}
+.alert-success .alert-link {
+ color: #2b542c;
+}
+.alert-info {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+.alert-info hr {
+ border-top-color: #a6e1ec;
+}
+.alert-info .alert-link {
+ color: #245269;
+}
+.alert-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+.alert-warning hr {
+ border-top-color: #f7e1b5;
+}
+.alert-warning .alert-link {
+ color: #66512c;
+}
+.alert-danger {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+.alert-danger hr {
+ border-top-color: #e4b9c0;
+}
+.alert-danger .alert-link {
+ color: #843534;
+}
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+.progress {
+ height: 20px;
+ margin-bottom: 20px;
+ overflow: hidden;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+.progress-bar {
+ float: left;
+ width: 0%;
+ height: 100%;
+ font-size: 12px;
+ line-height: 20px;
+ color: #fff;
+ text-align: center;
+ background-color: #337ab7;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -webkit-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+}
+.progress-striped .progress-bar,
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ background-size: 40px 40px;
+}
+.progress.active .progress-bar,
+.progress-bar.active {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-bar-success {
+ background-color: #5cb85c;
+}
+.progress-striped .progress-bar-success {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-bar-info {
+ background-color: #5bc0de;
+}
+.progress-striped .progress-bar-info {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-bar-warning {
+ background-color: #f0ad4e;
+}
+.progress-striped .progress-bar-warning {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-bar-danger {
+ background-color: #d9534f;
+}
+.progress-striped .progress-bar-danger {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+.media,
+.media-body {
+ overflow: hidden;
+ zoom: 1;
+}
+.media-body {
+ width: 10000px;
+}
+.media-object {
+ display: block;
+}
+.media-object.img-thumbnail {
+ max-width: none;
+}
+.media-right,
+.media > .pull-right {
+ padding-left: 10px;
+}
+.media-left,
+.media > .pull-left {
+ padding-right: 10px;
+}
+.media-left,
+.media-right,
+.media-body {
+ display: table-cell;
+ vertical-align: top;
+}
+.media-middle {
+ vertical-align: middle;
+}
+.media-bottom {
+ vertical-align: bottom;
+}
+.media-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+.media-list {
+ padding-left: 0;
+ list-style: none;
+}
+.list-group {
+ padding-left: 0;
+ margin-bottom: 20px;
+}
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ margin-bottom: -1px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+.list-group-item:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+.list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+ color: #777777;
+ cursor: not-allowed;
+ background-color: #eeeeee;
+}
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading {
+ color: inherit;
+}
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text {
+ color: #777777;
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+ z-index: 2;
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .list-group-item-heading > .small,
+.list-group-item.active:focus .list-group-item-heading > .small {
+ color: inherit;
+}
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text {
+ color: #c7ddef;
+}
+a.list-group-item,
+button.list-group-item {
+ color: #555;
+}
+a.list-group-item .list-group-item-heading,
+button.list-group-item .list-group-item-heading {
+ color: #333;
+}
+a.list-group-item:hover,
+button.list-group-item:hover,
+a.list-group-item:focus,
+button.list-group-item:focus {
+ color: #555;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+button.list-group-item {
+ width: 100%;
+ text-align: left;
+}
+.list-group-item-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+}
+a.list-group-item-success,
+button.list-group-item-success {
+ color: #3c763d;
+}
+a.list-group-item-success .list-group-item-heading,
+button.list-group-item-success .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-success:hover,
+button.list-group-item-success:hover,
+a.list-group-item-success:focus,
+button.list-group-item-success:focus {
+ color: #3c763d;
+ background-color: #d0e9c6;
+}
+a.list-group-item-success.active,
+button.list-group-item-success.active,
+a.list-group-item-success.active:hover,
+button.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus,
+button.list-group-item-success.active:focus {
+ color: #fff;
+ background-color: #3c763d;
+ border-color: #3c763d;
+}
+.list-group-item-info {
+ color: #31708f;
+ background-color: #d9edf7;
+}
+a.list-group-item-info,
+button.list-group-item-info {
+ color: #31708f;
+}
+a.list-group-item-info .list-group-item-heading,
+button.list-group-item-info .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-info:hover,
+button.list-group-item-info:hover,
+a.list-group-item-info:focus,
+button.list-group-item-info:focus {
+ color: #31708f;
+ background-color: #c4e3f3;
+}
+a.list-group-item-info.active,
+button.list-group-item-info.active,
+a.list-group-item-info.active:hover,
+button.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus,
+button.list-group-item-info.active:focus {
+ color: #fff;
+ background-color: #31708f;
+ border-color: #31708f;
+}
+.list-group-item-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+}
+a.list-group-item-warning,
+button.list-group-item-warning {
+ color: #8a6d3b;
+}
+a.list-group-item-warning .list-group-item-heading,
+button.list-group-item-warning .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-warning:hover,
+button.list-group-item-warning:hover,
+a.list-group-item-warning:focus,
+button.list-group-item-warning:focus {
+ color: #8a6d3b;
+ background-color: #faf2cc;
+}
+a.list-group-item-warning.active,
+button.list-group-item-warning.active,
+a.list-group-item-warning.active:hover,
+button.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus,
+button.list-group-item-warning.active:focus {
+ color: #fff;
+ background-color: #8a6d3b;
+ border-color: #8a6d3b;
+}
+.list-group-item-danger {
+ color: #a94442;
+ background-color: #f2dede;
+}
+a.list-group-item-danger,
+button.list-group-item-danger {
+ color: #a94442;
+}
+a.list-group-item-danger .list-group-item-heading,
+button.list-group-item-danger .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-danger:hover,
+button.list-group-item-danger:hover,
+a.list-group-item-danger:focus,
+button.list-group-item-danger:focus {
+ color: #a94442;
+ background-color: #ebcccc;
+}
+a.list-group-item-danger.active,
+button.list-group-item-danger.active,
+a.list-group-item-danger.active:hover,
+button.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus,
+button.list-group-item-danger.active:focus {
+ color: #fff;
+ background-color: #a94442;
+ border-color: #a94442;
+}
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3;
+}
+.panel {
+ margin-bottom: 20px;
+ background-color: #fff;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.panel-body {
+ padding: 15px;
+}
+.panel-heading {
+ padding: 10px 15px;
+ border-bottom: 1px solid transparent;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel-heading > .dropdown .dropdown-toggle {
+ color: inherit;
+}
+.panel-title {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 16px;
+ color: inherit;
+}
+.panel-title > a,
+.panel-title > small,
+.panel-title > .small,
+.panel-title > small > a,
+.panel-title > .small > a {
+ color: inherit;
+}
+.panel-footer {
+ padding: 10px 15px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
+ margin-bottom: 0;
+}
+.panel > .list-group .list-group-item,
+.panel > .panel-collapse > .list-group .list-group-item {
+ border-width: 1px 0;
+ border-radius: 0;
+}
+.panel > .list-group:first-child .list-group-item:first-child,
+.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+ border-top: 0;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .list-group:last-child .list-group-item:last-child,
+.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
+ border-bottom: 0;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.panel-heading + .list-group .list-group-item:first-child {
+ border-top-width: 0;
+}
+.list-group + .panel-footer {
+ border-top-width: 0;
+}
+.panel > .table,
+.panel > .table-responsive > .table,
+.panel > .panel-collapse > .table {
+ margin-bottom: 0;
+}
+.panel > .table caption,
+.panel > .table-responsive > .table caption,
+.panel > .panel-collapse > .table caption {
+ padding-right: 15px;
+ padding-left: 15px;
+}
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+ border-top-left-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+ border-top-right-radius: 3px;
+}
+.panel > .table:last-child,
+.panel > .table-responsive:last-child > .table:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+ border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+ border-bottom-right-radius: 3px;
+}
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
+ border-top: 1px solid #ddd;
+}
+.panel > .table > tbody:first-child > tr:first-child th,
+.panel > .table > tbody:first-child > tr:first-child td {
+ border-top: 0;
+}
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+ border: 0;
+}
+.panel > .table-bordered > thead > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0;
+}
+.panel > .table-bordered > thead > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0;
+}
+.panel > .table-bordered > thead > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+.panel > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-bordered > thead > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+.panel > .table-bordered > tbody > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+ border-bottom: 0;
+}
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+ border-bottom: 0;
+}
+.panel > .table-responsive {
+ margin-bottom: 0;
+ border: 0;
+}
+.panel-group {
+ margin-bottom: 20px;
+}
+.panel-group .panel {
+ margin-bottom: 0;
+ border-radius: 4px;
+}
+.panel-group .panel + .panel {
+ margin-top: 5px;
+}
+.panel-group .panel-heading {
+ border-bottom: 0;
+}
+.panel-group .panel-heading + .panel-collapse > .panel-body,
+.panel-group .panel-heading + .panel-collapse > .list-group {
+ border-top: 1px solid #ddd;
+}
+.panel-group .panel-footer {
+ border-top: 0;
+}
+.panel-group .panel-footer + .panel-collapse .panel-body {
+ border-bottom: 1px solid #ddd;
+}
+.panel-default {
+ border-color: #ddd;
+}
+.panel-default > .panel-heading {
+ color: #333333;
+ background-color: #f5f5f5;
+ border-color: #ddd;
+}
+.panel-default > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #ddd;
+}
+.panel-default > .panel-heading .badge {
+ color: #f5f5f5;
+ background-color: #333333;
+}
+.panel-default > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #ddd;
+}
+.panel-primary {
+ border-color: #337ab7;
+}
+.panel-primary > .panel-heading {
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.panel-primary > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #337ab7;
+}
+.panel-primary > .panel-heading .badge {
+ color: #337ab7;
+ background-color: #fff;
+}
+.panel-primary > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #337ab7;
+}
+.panel-success {
+ border-color: #d6e9c6;
+}
+.panel-success > .panel-heading {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+.panel-success > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #d6e9c6;
+}
+.panel-success > .panel-heading .badge {
+ color: #dff0d8;
+ background-color: #3c763d;
+}
+.panel-success > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #d6e9c6;
+}
+.panel-info {
+ border-color: #bce8f1;
+}
+.panel-info > .panel-heading {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+.panel-info > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #bce8f1;
+}
+.panel-info > .panel-heading .badge {
+ color: #d9edf7;
+ background-color: #31708f;
+}
+.panel-info > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #bce8f1;
+}
+.panel-warning {
+ border-color: #faebcc;
+}
+.panel-warning > .panel-heading {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+.panel-warning > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #faebcc;
+}
+.panel-warning > .panel-heading .badge {
+ color: #fcf8e3;
+ background-color: #8a6d3b;
+}
+.panel-warning > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #faebcc;
+}
+.panel-danger {
+ border-color: #ebccd1;
+}
+.panel-danger > .panel-heading {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+.panel-danger > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #ebccd1;
+}
+.panel-danger > .panel-heading .badge {
+ color: #f2dede;
+ background-color: #a94442;
+}
+.panel-danger > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #ebccd1;
+}
+.embed-responsive {
+ position: relative;
+ display: block;
+ height: 0;
+ padding: 0;
+ overflow: hidden;
+}
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0;
+}
+.embed-responsive-16by9 {
+ padding-bottom: 56.25%;
+}
+.embed-responsive-4by3 {
+ padding-bottom: 75%;
+}
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #e3e3e3;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.well-lg {
+ padding: 24px;
+ border-radius: 6px;
+}
+.well-sm {
+ padding: 9px;
+ border-radius: 3px;
+}
+.close {
+ float: right;
+ font-size: 21px;
+ font-weight: bold;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ filter: alpha(opacity=20);
+ opacity: 0.2;
+}
+.close:hover,
+.close:focus {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+}
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.modal-open {
+ overflow: hidden;
+}
+.modal {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ overflow: hidden;
+ -webkit-overflow-scrolling: touch;
+ outline: 0;
+}
+.modal.fade .modal-dialog {
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%);
+ -webkit-transition: -webkit-transform 0.3s ease-out;
+ -o-transition: -o-transform 0.3s ease-out;
+ transition: -webkit-transform 0.3s ease-out;
+ transition: transform 0.3s ease-out;
+ transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
+}
+.modal.in .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+}
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 10px;
+}
+.modal-content {
+ position: relative;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+ outline: 0;
+}
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000;
+}
+.modal-backdrop.fade {
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+.modal-backdrop.in {
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+}
+.modal-header {
+ padding: 15px;
+ border-bottom: 1px solid #e5e5e5;
+}
+.modal-header .close {
+ margin-top: -2px;
+}
+.modal-title {
+ margin: 0;
+ line-height: 1.42857143;
+}
+.modal-body {
+ position: relative;
+ padding: 15px;
+}
+.modal-footer {
+ padding: 15px;
+ text-align: right;
+ border-top: 1px solid #e5e5e5;
+}
+.modal-footer .btn + .btn {
+ margin-bottom: 0;
+ margin-left: 5px;
+}
+.modal-footer .btn-group .btn + .btn {
+ margin-left: -1px;
+}
+.modal-footer .btn-block + .btn-block {
+ margin-left: 0;
+}
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll;
+}
+@media (min-width: 768px) {
+ .modal-dialog {
+ width: 600px;
+ margin: 30px auto;
+ }
+ .modal-content {
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+ }
+ .modal-sm {
+ width: 300px;
+ }
+}
+@media (min-width: 992px) {
+ .modal-lg {
+ width: 900px;
+ }
+}
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.42857143;
+ line-break: auto;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+ white-space: normal;
+ font-size: 12px;
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+.tooltip.in {
+ filter: alpha(opacity=90);
+ opacity: 0.9;
+}
+.tooltip.top {
+ padding: 5px 0;
+ margin-top: -3px;
+}
+.tooltip.right {
+ padding: 0 5px;
+ margin-left: 3px;
+}
+.tooltip.bottom {
+ padding: 5px 0;
+ margin-top: 3px;
+}
+.tooltip.left {
+ padding: 0 5px;
+ margin-left: -3px;
+}
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+.tooltip.top-left .tooltip-arrow {
+ right: 5px;
+ bottom: 0;
+ margin-bottom: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+.tooltip.top-right .tooltip-arrow {
+ bottom: 0;
+ left: 5px;
+ margin-bottom: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-width: 5px 5px 5px 0;
+ border-right-color: #000;
+}
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-width: 5px 0 5px 5px;
+ border-left-color: #000;
+}
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+.tooltip.bottom-left .tooltip-arrow {
+ top: 0;
+ right: 5px;
+ margin-top: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+.tooltip.bottom-right .tooltip-arrow {
+ top: 0;
+ left: 5px;
+ margin-top: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 4px;
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: none;
+ max-width: 276px;
+ padding: 1px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.42857143;
+ line-break: auto;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+ white-space: normal;
+ font-size: 14px;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+}
+.popover.top {
+ margin-top: -10px;
+}
+.popover.right {
+ margin-left: 10px;
+}
+.popover.bottom {
+ margin-top: 10px;
+}
+.popover.left {
+ margin-left: -10px;
+}
+.popover > .arrow {
+ border-width: 11px;
+}
+.popover > .arrow,
+.popover > .arrow:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.popover > .arrow:after {
+ content: "";
+ border-width: 10px;
+}
+.popover.top > .arrow {
+ bottom: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-color: #999999;
+ border-top-color: rgba(0, 0, 0, 0.25);
+ border-bottom-width: 0;
+}
+.popover.top > .arrow:after {
+ bottom: 1px;
+ margin-left: -10px;
+ content: " ";
+ border-top-color: #fff;
+ border-bottom-width: 0;
+}
+.popover.right > .arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-right-color: #999999;
+ border-right-color: rgba(0, 0, 0, 0.25);
+ border-left-width: 0;
+}
+.popover.right > .arrow:after {
+ bottom: -10px;
+ left: 1px;
+ content: " ";
+ border-right-color: #fff;
+ border-left-width: 0;
+}
+.popover.bottom > .arrow {
+ top: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-width: 0;
+ border-bottom-color: #999999;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+.popover.bottom > .arrow:after {
+ top: 1px;
+ margin-left: -10px;
+ content: " ";
+ border-top-width: 0;
+ border-bottom-color: #fff;
+}
+.popover.left > .arrow {
+ top: 50%;
+ right: -11px;
+ margin-top: -11px;
+ border-right-width: 0;
+ border-left-color: #999999;
+ border-left-color: rgba(0, 0, 0, 0.25);
+}
+.popover.left > .arrow:after {
+ right: 1px;
+ bottom: -10px;
+ content: " ";
+ border-right-width: 0;
+ border-left-color: #fff;
+}
+.popover-title {
+ padding: 8px 14px;
+ margin: 0;
+ font-size: 14px;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ border-radius: 5px 5px 0 0;
+}
+.popover-content {
+ padding: 9px 14px;
+}
+.carousel {
+ position: relative;
+}
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner > .item {
+ position: relative;
+ display: none;
+ -webkit-transition: 0.6s ease-in-out left;
+ -o-transition: 0.6s ease-in-out left;
+ transition: 0.6s ease-in-out left;
+}
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ line-height: 1;
+}
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carousel-inner > .item {
+ -webkit-transition: -webkit-transform 0.6s ease-in-out;
+ -o-transition: -o-transform 0.6s ease-in-out;
+ transition: -webkit-transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ perspective: 1000px;
+ }
+ .carousel-inner > .item.next,
+ .carousel-inner > .item.active.right {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ left: 0;
+ }
+ .carousel-inner > .item.prev,
+ .carousel-inner > .item.active.left {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ left: 0;
+ }
+ .carousel-inner > .item.next.left,
+ .carousel-inner > .item.prev.right,
+ .carousel-inner > .item.active {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ left: 0;
+ }
+}
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ display: block;
+}
+.carousel-inner > .active {
+ left: 0;
+}
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.carousel-inner > .next {
+ left: 100%;
+}
+.carousel-inner > .prev {
+ left: -100%;
+}
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+ left: 0;
+}
+.carousel-inner > .active.left {
+ left: -100%;
+}
+.carousel-inner > .active.right {
+ left: 100%;
+}
+.carousel-control {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 15%;
+ font-size: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+ background-color: rgba(0, 0, 0, 0);
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+}
+.carousel-control.left {
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+ background-repeat: repeat-x;
+}
+.carousel-control.right {
+ right: 0;
+ left: auto;
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+ background-repeat: repeat-x;
+}
+.carousel-control:hover,
+.carousel-control:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ filter: alpha(opacity=90);
+ opacity: 0.9;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-left,
+.carousel-control .glyphicon-chevron-right {
+ position: absolute;
+ top: 50%;
+ z-index: 5;
+ display: inline-block;
+ margin-top: -10px;
+}
+.carousel-control .icon-prev,
+.carousel-control .glyphicon-chevron-left {
+ left: 50%;
+ margin-left: -10px;
+}
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-right {
+ right: 50%;
+ margin-right: -10px;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next {
+ width: 20px;
+ height: 20px;
+ font-family: serif;
+ line-height: 1;
+}
+.carousel-control .icon-prev:before {
+ content: "\2039";
+}
+.carousel-control .icon-next:before {
+ content: "\203a";
+}
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ padding-left: 0;
+ margin-left: -30%;
+ text-align: center;
+ list-style: none;
+}
+.carousel-indicators li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #000 \9;
+ background-color: rgba(0, 0, 0, 0);
+ border: 1px solid #fff;
+ border-radius: 10px;
+}
+.carousel-indicators .active {
+ width: 12px;
+ height: 12px;
+ margin: 0;
+ background-color: #fff;
+}
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 20px;
+ left: 15%;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+}
+.carousel-caption .btn {
+ text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 30px;
+ height: 30px;
+ margin-top: -10px;
+ font-size: 30px;
+ }
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .icon-prev {
+ margin-left: -10px;
+ }
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-next {
+ margin-right: -10px;
+ }
+ .carousel-caption {
+ right: 20%;
+ left: 20%;
+ padding-bottom: 30px;
+ }
+ .carousel-indicators {
+ bottom: 20px;
+ }
+}
+.clearfix:before,
+.clearfix:after,
+.dl-horizontal dd:before,
+.dl-horizontal dd:after,
+.container:before,
+.container:after,
+.container-fluid:before,
+.container-fluid:after,
+.row:before,
+.row:after,
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after,
+.btn-toolbar:before,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after,
+.nav:before,
+.nav:after,
+.navbar:before,
+.navbar:after,
+.navbar-header:before,
+.navbar-header:after,
+.navbar-collapse:before,
+.navbar-collapse:after,
+.pager:before,
+.pager:after,
+.panel-body:before,
+.panel-body:after,
+.modal-header:before,
+.modal-header:after,
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: " ";
+}
+.clearfix:after,
+.dl-horizontal dd:after,
+.container:after,
+.container-fluid:after,
+.row:after,
+.form-horizontal .form-group:after,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:after,
+.nav:after,
+.navbar:after,
+.navbar-header:after,
+.navbar-collapse:after,
+.pager:after,
+.panel-body:after,
+.modal-header:after,
+.modal-footer:after {
+ clear: both;
+}
+.center-block {
+ display: block;
+ margin-right: auto;
+ margin-left: auto;
+}
+.pull-right {
+ float: right !important;
+}
+.pull-left {
+ float: left !important;
+}
+.hide {
+ display: none !important;
+}
+.show {
+ display: block !important;
+}
+.invisible {
+ visibility: hidden;
+}
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+.hidden {
+ display: none !important;
+}
+.affix {
+ position: fixed;
+}
+@-ms-viewport {
+ width: device-width;
+}
+.visible-xs,
+.visible-sm,
+.visible-md,
+.visible-lg {
+ display: none !important;
+}
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block {
+ display: none !important;
+}
+@media (max-width: 767px) {
+ .visible-xs {
+ display: block !important;
+ }
+ table.visible-xs {
+ display: table !important;
+ }
+ tr.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-xs,
+ td.visible-xs {
+ display: table-cell !important;
+ }
+}
+@media (max-width: 767px) {
+ .visible-xs-block {
+ display: block !important;
+ }
+}
+@media (max-width: 767px) {
+ .visible-xs-inline {
+ display: inline !important;
+ }
+}
+@media (max-width: 767px) {
+ .visible-xs-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm {
+ display: block !important;
+ }
+ table.visible-sm {
+ display: table !important;
+ }
+ tr.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-sm,
+ td.visible-sm {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-block {
+ display: block !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-inline {
+ display: inline !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md {
+ display: block !important;
+ }
+ table.visible-md {
+ display: table !important;
+ }
+ tr.visible-md {
+ display: table-row !important;
+ }
+ th.visible-md,
+ td.visible-md {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-block {
+ display: block !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-inline {
+ display: inline !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg {
+ display: block !important;
+ }
+ table.visible-lg {
+ display: table !important;
+ }
+ tr.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-lg,
+ td.visible-lg {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg-block {
+ display: block !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg-inline {
+ display: inline !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (max-width: 767px) {
+ .hidden-xs {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-sm {
+ display: none !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-md {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .hidden-lg {
+ display: none !important;
+ }
+}
+.visible-print {
+ display: none !important;
+}
+@media print {
+ .visible-print {
+ display: block !important;
+ }
+ table.visible-print {
+ display: table !important;
+ }
+ tr.visible-print {
+ display: table-row !important;
+ }
+ th.visible-print,
+ td.visible-print {
+ display: table-cell !important;
+ }
+}
+.visible-print-block {
+ display: none !important;
+}
+@media print {
+ .visible-print-block {
+ display: block !important;
+ }
+}
+.visible-print-inline {
+ display: none !important;
+}
+@media print {
+ .visible-print-inline {
+ display: inline !important;
+ }
+}
+.visible-print-inline-block {
+ display: none !important;
+}
+@media print {
+ .visible-print-inline-block {
+ display: inline-block !important;
+ }
+}
+@media print {
+ .hidden-print {
+ display: none !important;
+ }
+}
+/*# sourceMappingURL=bootstrap.css.map */
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css.map b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css.map
new file mode 100644
index 0000000..caac3e6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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A;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;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rDA;EC8DG,oBAAA;CfwnDH;ActrDA;EC8DG,oBAAA;Cf2nDH;AczrDA;EC8DG,WAAA;Cf8nDH;Ac5rDA;EC8DG,oBAAA;CfioDH;Ac/rDA;EC8DG,oBAAA;CfooDH;AclsDA;EC8DG,WAAA;CfuoDH;AcrsDA;EC8DG,oBAAA;Cf0oDH;AcxsDA;EC8DG,oBAAA;Cf6oDH;Ac3sDA;EC8DG,WAAA;CfgpDH;Ac9sDA;EC8DG,oBAAA;CfmpDH;AcjtDA;EC8DG,mBAAA;CfspDH;AcptDA;ECmEG,YAAA;CfopDH;AcvtDA;ECoDG,WAAA;CfsqDH;Ac1tDA;ECoDG,mBAAA;CfyqDH;Ac7tDA;ECoDG,mBAAA;Cf4qDH;AchuDA;ECoDG,UAAA;Cf+qDH;AcnuDA;ECoDG,mBAAA;CfkrDH;ActuDA;ECoDG,mBAAA;CfqrDH;AczuDA;ECoDG,UAAA;CfwrDH;Ac5uDA;ECoDG,mBAAA;Cf2rDH;Ac/uDA;ECoDG,mBAAA;Cf8rDH;AclvDA;ECoDG,UAAA;CfisDH;AcrvDA;ECoDG,mBAAA;CfosDH;AcxvDA;ECoDG,kBAAA;CfusDH;Ac3vDA;ECyDG,WAAA;CfqsDH;Ac9vDA;ECwEG,kBAAA;CfyrDH;AcjwDA;ECwEG,0BAAA;Cf4rDH;AcpwDA;ECwEG,0BAAA;Cf+rDH;AcvwDA;ECwEG,iBAAA;CfksDH;Ac1wDA;ECwEG,0BAAA;CfqsDH;Ac7wDA;ECwEG,0BAAA;CfwsDH;AchxDA;ECwEG,iBAAA;Cf2sDH;AcnxDA;ECwEG,0BAAA;Cf8sDH;ActxDA;ECwEG,0BAAA;CfitDH;AczxDA;ECwEG,iBAAA;CfotDH;Ac5xDA;ECwEG,0BAAA;CfutDH;Ac/xDA;ECwEG,yBAAA;Cf0tDH;AclyDA;ECwEG,gBAAA;Cf6tDH;Aa5tDD;ECzEC;;;;;;;;;;;;ICuCK,YAAA;Gf6wDH;EcpzDF;IC+CG,YAAA;GfwwDD;EcvzDF;IC+CG,oBAAA;Gf2wDD;Ec1zDF;IC+CG,oBAAA;Gf8wDD;Ec7zDF;IC+CG,WAAA;GfixDD;Ech0DF;IC+CG,oBAAA;GfoxDD;Ecn0DF;IC+CG,oBAAA;GfuxDD;Ect0DF;IC+CG,WAAA;Gf0xDD;Ecz0DF;IC+CG,oBAAA;Gf6xDD;Ec50DF;IC+CG,oBAAA;GfgyDD;Ec/0DF;IC+CG,WAAA;GfmyDD;Ecl1DF;IC+CG,oBAAA;GfsyDD;Ecr1DF;IC+CG,mBAAA;GfyyDD;Ecx1DF;IC8DG,YAAA;Gf6xDD;Ec31DF;IC8DG,oBAAA;GfgyDD;Ec91DF;IC8DG,oBAAA;GfmyDD;Ecj2DF;IC8DG,WAAA;GfsyDD;Ecp2DF;IC8DG,oBAAA;GfyyDD;Ecv2DF;IC8DG,oBAAA;Gf4yDD;Ec12DF;IC8DG,WAAA;Gf+yDD;Ec72DF;IC8DG,oBAAA;GfkzDD;Ech3DF;IC8DG,oBAAA;GfqzDD;Ecn3DF;IC8DG,WAAA;GfwzDD;Ect3DF;IC8DG,oBAAA;Gf2zDD;Ecz3DF;IC8DG,mBAAA;Gf8zDD;Ec53DF;ICmEG,YAAA;Gf4zDD;Ec/3DF;ICoDG,WAAA;Gf80DD;Ecl4DF;ICoDG,mBAAA;Gfi1DD;Ecr4DF;ICoDG,mBAAA;Gfo1DD;Ecx4DF;ICoDG,UAAA;Gfu1DD;Ec34DF;ICoDG,mBAAA;Gf01DD;Ec94DF;ICoDG,mBAAA;Gf61DD;Ecj5DF;ICoDG,UAAA;Gfg2DD;Ecp5DF;ICoDG,mBAAA;Gfm2DD;Ecv5DF;ICoDG,mBAAA;Gfs2DD;Ec15DF;ICoDG,UAAA;Gfy2DD;Ec75DF;ICoDG,mBAAA;Gf42DD;Ech6DF;ICoDG,kBAAA;Gf+2DD;Ecn6DF;ICyDG,WAAA;Gf62DD;Ect6DF;ICwEG,kBAAA;Gfi2DD;Ecz6DF;ICwEG,0BAAA;Gfo2DD;Ec56DF;ICwEG,0BAAA;Gfu2DD;Ec/6DF;ICwEG,iBAAA;Gf02DD;Ecl7DF;ICwEG,0BAAA;Gf62DD;Ecr7DF;ICwEG,0BAAA;Gfg3DD;Ecx7DF;ICwEG,iBAAA;Gfm3DD;Ec37DF;ICwEG,0BAAA;Gfs3DD;Ec97DF;ICwEG,0BAAA;Gfy3DD;Ecj8DF;ICwEG,iBAAA;Gf43DD;Ecp8DF;ICwEG,0BAAA;Gf+3DD;Ecv8DF;ICwEG,yBAAA;Gfk4DD;Ec18DF;ICwEG,gBAAA;Gfq4DD;CACF;Aa53DD;EClFC;;;;;;;;;;;;ICuCK,YAAA;Gfs7DH;Ec79DF;IC+CG,YAAA;Gfi7DD;Ech+DF;IC+CG,oBAAA;Gfo7DD;Ecn+DF;IC+CG,oBAAA;Gfu7DD;Ect+DF;IC+CG,WAAA;Gf07DD;Ecz+DF;IC+CG,oBAAA;Gf67DD;Ec5+DF;IC+CG,oBAAA;Gfg8DD;Ec/+DF;IC+CG,WAAA;Gfm8DD;Ecl/DF;IC+CG,oBAAA;Gfs8DD;Ecr/DF;IC+CG,oBAAA;Gfy8DD;Ecx/DF;IC+CG,WAAA;Gf48DD;Ec3/DF;IC+CG,oBAAA;Gf+8DD;Ec9/DF;IC+CG,mBAAA;Gfk9DD;EcjgEF;IC8DG,YAAA;Gfs8DD;EcpgEF;IC8DG,oBAAA;Gfy8DD;EcvgEF;IC8DG,oBAAA;Gf48DD;Ec1gEF;IC8DG,WAAA;Gf+8DD;Ec7gEF;IC8DG,oBAAA;Gfk9DD;EchhEF;IC8DG,oBAAA;Gfq9DD;EcnhEF;IC8DG,WAAA;Gfw9DD;EcthEF;IC8DG,oBAAA;Gf29DD;EczhEF;IC8DG,oBAAA;Gf89DD;Ec5hEF;IC8DG,WAAA;Gfi+DD;Ec/hEF;IC8DG,oBAAA;Gfo+DD;EcliEF;IC8DG,mBAAA;Gfu+DD;EcriEF;ICmEG,YAAA;Gfq+DD;EcxiEF;ICoDG,WAAA;Gfu/DD;Ec3iEF;ICoDG,mBAAA;Gf0/DD;Ec9iEF;ICoDG,mBAAA;Gf6/DD;EcjjEF;ICoDG,UAAA;GfggED;EcpjEF;ICoDG,mBAAA;GfmgED;EcvjEF;ICoDG,mBAAA;GfsgED;Ec1jEF;ICoDG,UAAA;GfygED;Ec7jEF;ICoDG,mBAAA;Gf4gED;EchkEF;ICoDG,mBAAA;Gf+gED;EcnkEF;ICoDG,UAAA;GfkhED;EctkEF;ICoDG,mBAAA;GfqhED;EczkEF;ICoDG,kBAAA;GfwhED;Ec5kEF;ICyDG,WAAA;GfshED;Ec/kEF;ICwEG,kBAAA;Gf0gED;EcllEF;ICwEG,0BAAA;Gf6gED;EcrlEF;ICwEG,0BAAA;GfghED;EcxlEF;ICwEG,iBAAA;GfmhED;Ec3lEF;ICwEG,0BAAA;GfshED;Ec9lEF;ICwEG,0BAAA;GfyhED;EcjmEF;ICwEG,iBAAA;Gf4hED;EcpmEF;ICwEG,0BAAA;Gf+hED;EcvmEF;ICwEG,0BAAA;GfkiED;Ec1mEF;ICwEG,iBAAA;GfqiED;Ec7mEF;ICwEG,0BAAA;GfwiED;EchnEF;ICwEG,yBAAA;Gf2iED;EcnnEF;ICwEG,gBAAA;Gf8iED;CACF;Aa5hED;EC3FC;;;;;;;;;;;;ICuCK,YAAA;Gf+lEH;EctoEF;IC+CG,YAAA;Gf0lED;EczoEF;IC+CG,oBAAA;Gf6lED;Ec5oEF;IC+CG,oBAAA;GfgmED;Ec/oEF;IC+CG,WAAA;GfmmED;EclpEF;IC+CG,oBAAA;GfsmED;EcrpEF;IC+CG,oBAAA;GfymED;EcxpEF;IC+CG,WAAA;Gf4mED;Ec3pEF;IC+CG,oBAAA;Gf+mED;Ec9pEF;IC+CG,oBAAA;GfknED;EcjqEF;IC+CG,WAAA;GfqnED;EcpqEF;IC+CG,oBAAA;GfwnED;EcvqEF;IC+CG,mBAAA;Gf2nED;Ec1qEF;IC8DG,YAAA;Gf+mED;Ec7qEF;IC8DG,oBAAA;GfknED;EchrEF;IC8DG,oBAAA;GfqnED;EcnrEF;IC8DG,WAAA;GfwnED;EctrEF;IC8DG,oBAAA;Gf2nED;EczrEF;IC8DG,oBAAA;Gf8nED;Ec5rEF;IC8DG,WAAA;GfioED;Ec/rEF;IC8DG,oBAAA;GfooED;EclsEF;IC8DG,oBAAA;GfuoED;EcrsEF;IC8DG,WAAA;Gf0oED;EcxsEF;IC8DG,oBAAA;Gf6oED;Ec3sEF;IC8DG,mBAAA;GfgpED;Ec9sEF;ICmEG,YAAA;Gf8oED;EcjtEF;ICoDG,WAAA;GfgqED;EcptEF;ICoDG,mBAAA;GfmqED;EcvtEF;ICoDG,mBAAA;GfsqED;Ec1tEF;ICoDG,UAAA;GfyqED;Ec7tEF;ICoDG,mBAAA;Gf4qED;EchuEF;ICoDG,mBAAA;Gf+qED;EcnuEF;ICoDG,UAAA;GfkrED;EctuEF;ICoDG,mBAAA;GfqrED;EczuEF;ICoDG,mBAAA;GfwrED;Ec5uEF;ICoDG,UAAA;Gf2rED;Ec/uEF;ICoDG,mBAAA;Gf8rED;EclvEF;ICoDG,kBAAA;GfisED;EcrvEF;ICyDG,WAAA;Gf+rED;EcxvEF;ICwEG,kBAAA;GfmrED;Ec3vEF;ICwEG,0BAAA;GfsrED;Ec9vEF;ICwEG,0BAAA;GfyrED;EcjwEF;ICwEG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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important; // Black prints faster: h5bp.com/s\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n}\n","// stylelint-disable value-list-comma-newline-after, value-list-comma-space-after, indentation, declaration-colon-newline-after, font-family-no-missing-generic-family-keyword\n\n//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"@{icon-font-path}@{icon-font-name}.eot\");\n src: url(\"@{icon-font-path}@{icon-font-name}.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff2\") format(\"woff2\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff\") format(\"woff\"),\n url(\"@{icon-font-path}@{icon-font-name}.ttf\") format(\"truetype\"),\n url(\"@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}\") format(\"svg\");\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: 400;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n padding: .2em;\n background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: \"\"; }\n &:after {\n content: \"\\00A0 \\2014\"; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n color: @pre-color;\n word-break: break-all;\n word-wrap: break-word;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n padding-right: ceil((@gutter / 2));\n padding-left: floor((@gutter / 2));\n margin-right: auto;\n margin-left: auto;\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-right: floor((@gutter / -2));\n margin-left: ceil((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-right: floor((@grid-gutter-width / 2));\n padding-left: ceil((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n\n // Table cell sizing\n //\n // Reset default table behavior\n\n col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-column;\n float: none;\n }\n\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-cell;\n float: none;\n }\n }\n}\n\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\n\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n overflow-x: auto;\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * .75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n // Override content-box in Normalize (* isn't specific enough)\n .box-sizing(border-box);\n\n // Search inputs in iOS\n //\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n -webkit-appearance: none;\n appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n\n // Apply same disabled cursor tweak as for inputs\n // Some special care is needed because <label>s don't inherit their parent's `cursor`.\n //\n // Note: Neither radios nor checkboxes can be readonly.\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: @input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n // These are used on elements with <label> descendants\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: @cursor-disabled;\n }\n }\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n\n // These are used directly on <label>s\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n min-height: (@line-height-computed + @font-size-base);\n // Size it appropriately next to real form controls\n padding-top: (@padding-base-vertical + 1);\n padding-bottom: (@padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n\n &.input-lg,\n &.input-sm {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n .form-control {\n height: @input-height-small;\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n border-radius: @input-border-radius-small;\n }\n select.form-control {\n height: @input-height-small;\n line-height: @input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-small;\n min-height: (@line-height-computed + @font-size-small);\n padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n }\n}\n\n.input-lg {\n .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n .form-control {\n height: @input-height-large;\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n border-radius: @input-border-radius-large;\n }\n select.form-control {\n height: @input-height-large;\n line-height: @input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-large;\n min-height: (@line-height-computed + @font-size-large);\n padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: (@input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: @input-height-base;\n height: @input-height-base;\n line-height: @input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: @input-height-large;\n height: @input-height-large;\n line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: @input-height-small;\n height: @input-height-small;\n line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: (@line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n // Kick in the inline\n @media (min-width: @screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n margin-top: 0;\n margin-bottom: 0;\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: (@line-height-computed + (@padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n .make-row();\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n margin-bottom: 0;\n text-align: right;\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor((@grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-large-vertical + 1);\n font-size: @font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-small-vertical + 1);\n font-size: @font-size-small;\n }\n }\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: @text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: @border-color;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work\n &:focus {\n border-color: darken(@border-color, 10%);\n @shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten(@border-color, 20%);\n .box-shadow(@shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: @text-color;\n background-color: @background-color;\n border-color: @border-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: @text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n &:focus {\n border-color: @color;\n outline: 0;\n .box-shadow(~\"inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px @{color-rgba}\");\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n background-image: none;\n outline: 0;\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: 400;\n color: @link-color;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n background-image: none;\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n @opacity-ie: (@opacity * 100); // IE8 filter\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n opacity: @opacity;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: @dropdown-bg;\n background-clip: padding-box;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0, 0, 0, .175));\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n\n &:hover,\n &:focus {\n color: @dropdown-link-hover-color;\n text-decoration: none;\n background-color: @dropdown-link-hover-bg;\n }\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n background-color: @dropdown-link-active-bg;\n outline: 0;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n cursor: @cursor-disabled;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n content: \"\";\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","// stylelint-disable selector-no-qualifying-type */\n\n//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-left-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-top-right-radius: @radius;\n border-bottom-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-top-left-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: 400;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, selector-max-type\n\n//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n padding-left: 0; // Override default ul/ol\n margin-bottom: 0;\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n cursor: @cursor-disabled;\n background-color: transparent;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n cursor: default;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n margin-bottom: 5px;\n text-align: center;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, selector-max-class, declaration-no-important, selector-no-qualifying-type\n\n//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n\n // Fix the top/bottom navbars when screen real estate supports it\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n height: @navbar-height;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: @navbar-padding-horizontal;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n padding: 10px @navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-right: @navbar-padding-horizontal;\n margin-left: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n\n // Dropdown menu items\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n\n // Dropdowns\n > .open > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n padding: 0 5px;\n color: @breadcrumb-color;\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n margin-left: -1px;\n line-height: @line-height-base;\n color: @pagination-color;\n text-decoration: none;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n cursor: default;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n cursor: @cursor-disabled;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n text-align: center;\n list-style: none;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n cursor: @cursor-disabled;\n background-color: @pager-bg;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n line-height: @badge-line-height;\n color: @badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n padding-right: (@grid-gutter-width / 2);\n padding-left: (@grid-gutter-width / 2);\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-right: (@jumbotron-padding * 2);\n padding-left: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-right: auto;\n margin-left: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n color: inherit; // Specified for the h4 to prevent conflicts of changing @headings-color\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n// The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissable,\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n color: @text-color;\n background-color: @background;\n border-color: @border;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","// stylelint-disable at-rule-no-vendor-prefix\n\n//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n overflow: hidden;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 20px;\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n background-color: @list-group-disabled-bg;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n color: @list-group-link-hover-color;\n text-decoration: none;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors\n\n//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0, 0, 0, .05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-right: @panel-body-padding;\n padding-left: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n border-bottom-left-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n margin-bottom: 0;\n border: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0); }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n background-clip: padding-box;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0, 0, 0, .5));\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n margin-left: 5px;\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0, 0, 0, .5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top {\n padding: @tooltip-arrow-width 0;\n margin-top: -3px;\n }\n &.right {\n padding: 0 @tooltip-arrow-width;\n margin-left: 3px;\n }\n &.bottom {\n padding: @tooltip-arrow-width 0;\n margin-top: 3px;\n }\n &.left {\n padding: 0 @tooltip-arrow-width;\n margin-left: -3px;\n }\n\n // Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n right: @tooltip-arrow-width;\n bottom: 0;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: 400;\n line-height: @line-height-base;\n line-break: auto;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0, 0, 0, .2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n\n // Arrows\n // .arrow is outer, .arrow:after is inner\n > .arrow {\n border-width: @popover-arrow-outer-width;\n\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n\n &:after {\n content: \"\";\n border-width: @popover-arrow-width;\n }\n }\n\n &.top > .arrow {\n bottom: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n border-bottom-width: 0;\n &:after {\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-color: @popover-arrow-color;\n border-bottom-width: 0;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n border-left-width: 0;\n &:after {\n bottom: -@popover-arrow-width;\n left: 1px;\n content: \" \";\n border-right-color: @popover-arrow-color;\n border-left-width: 0;\n }\n }\n &.bottom > .arrow {\n top: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n &:after {\n top: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n right: 1px;\n bottom: -@popover-arrow-width;\n content: \" \";\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n }\n }\n}\n\n.popover-title {\n padding: 8px 14px;\n margin: 0; // reset heading margin\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n","// stylelint-disable media-feature-name-no-unknown\n\n//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n\n > .item {\n position: relative;\n display: none;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~\"0.6s ease-in-out\");\n .backface-visibility(~\"hidden\");\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: @carousel-control-width;\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n .opacity(@carousel-control-opacity);\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .5); @end-color: rgba(0, 0, 0, .0001));\n }\n &.right {\n right: 0;\n left: auto;\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .0001); @end-color: rgba(0, 0, 0, .5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: @carousel-control-color;\n text-decoration: none;\n outline: 0;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n }\n\n .icon-prev {\n &:before {\n content: \"\\2039\";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: \"\\203a\";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0, 0, 0, 0); // IE9\n\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n }\n\n .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n display: table; // 2\n content: \" \"; // 1\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n","// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","// stylelint-disable declaration-no-important, at-rule-no-vendor-prefix\n\n//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width\n// Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css
new file mode 100644
index 0000000..5b96335
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
+/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css.map b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css.map
new file mode 100644
index 0000000..0ae3de5
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Content/bootstrap.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","dist/css/bootstrap.css","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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A,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,EFCJ,yBCzEC,Ub2zDC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UcnxDI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GFUJ,yBClFC,Ubo+DC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,Uc57DI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GFmBJ,0BC3FC,Ub6oEC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UcrmEI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GCjEJ,MACE,iBAAA,YADF,uBAQI,SAAA,OACA,QAAA,aACA,MAAA,KAKA,sBf+xEJ,sBe9xEM,SAAA,OACA,QAAA,WACA,MAAA,KAKN,QACE,YAAA,IACA,eAAA,IACA,MAAA,KACA,WAAA,KAGF,GACE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","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important; // Black prints faster: h5bp.com/s\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n}\n","// stylelint-disable value-list-comma-newline-after, value-list-comma-space-after, indentation, declaration-colon-newline-after, font-family-no-missing-generic-family-keyword\n\n//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"@{icon-font-path}@{icon-font-name}.eot\");\n src: url(\"@{icon-font-path}@{icon-font-name}.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff2\") format(\"woff2\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff\") format(\"woff\"),\n url(\"@{icon-font-path}@{icon-font-name}.ttf\") format(\"truetype\"),\n url(\"@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}\") format(\"svg\");\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: 400;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n padding: .2em;\n background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: \"\"; }\n &:after {\n content: \"\\00A0 \\2014\"; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n color: @pre-color;\n word-break: break-all;\n word-wrap: break-word;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n padding-right: ceil((@gutter / 2));\n padding-left: floor((@gutter / 2));\n margin-right: auto;\n margin-left: auto;\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-right: floor((@gutter / -2));\n margin-left: ceil((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-right: floor((@grid-gutter-width / 2));\n padding-left: ceil((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n\n // Table cell sizing\n //\n // Reset default table behavior\n\n col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-column;\n float: none;\n }\n\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-cell;\n float: none;\n }\n }\n}\n\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\n\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n overflow-x: auto;\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * .75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n // Override content-box in Normalize (* isn't specific enough)\n .box-sizing(border-box);\n\n // Search inputs in iOS\n //\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n -webkit-appearance: none;\n appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n\n // Apply same disabled cursor tweak as for inputs\n // Some special care is needed because <label>s don't inherit their parent's `cursor`.\n //\n // Note: Neither radios nor checkboxes can be readonly.\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: @input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n // These are used on elements with <label> descendants\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: @cursor-disabled;\n }\n }\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n\n // These are used directly on <label>s\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n min-height: (@line-height-computed + @font-size-base);\n // Size it appropriately next to real form controls\n padding-top: (@padding-base-vertical + 1);\n padding-bottom: (@padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n\n &.input-lg,\n &.input-sm {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n .form-control {\n height: @input-height-small;\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n border-radius: @input-border-radius-small;\n }\n select.form-control {\n height: @input-height-small;\n line-height: @input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-small;\n min-height: (@line-height-computed + @font-size-small);\n padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n }\n}\n\n.input-lg {\n .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n .form-control {\n height: @input-height-large;\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n border-radius: @input-border-radius-large;\n }\n select.form-control {\n height: @input-height-large;\n line-height: @input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-large;\n min-height: (@line-height-computed + @font-size-large);\n padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: (@input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: @input-height-base;\n height: @input-height-base;\n line-height: @input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: @input-height-large;\n height: @input-height-large;\n line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: @input-height-small;\n height: @input-height-small;\n line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: (@line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n // Kick in the inline\n @media (min-width: @screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n margin-top: 0;\n margin-bottom: 0;\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: (@line-height-computed + (@padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n .make-row();\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n margin-bottom: 0;\n text-align: right;\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor((@grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-large-vertical + 1);\n font-size: @font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-small-vertical + 1);\n font-size: @font-size-small;\n }\n }\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: @text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: @border-color;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work\n &:focus {\n border-color: darken(@border-color, 10%);\n @shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten(@border-color, 20%);\n .box-shadow(@shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: @text-color;\n background-color: @background-color;\n border-color: @border-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: @text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n &:focus {\n border-color: @color;\n outline: 0;\n .box-shadow(~\"inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px @{color-rgba}\");\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n background-image: none;\n outline: 0;\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: 400;\n color: @link-color;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n background-image: none;\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n @opacity-ie: (@opacity * 100); // IE8 filter\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n opacity: @opacity;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: @dropdown-bg;\n background-clip: padding-box;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0, 0, 0, .175));\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n\n &:hover,\n &:focus {\n color: @dropdown-link-hover-color;\n text-decoration: none;\n background-color: @dropdown-link-hover-bg;\n }\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n background-color: @dropdown-link-active-bg;\n outline: 0;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n cursor: @cursor-disabled;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n content: \"\";\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","// stylelint-disable selector-no-qualifying-type */\n\n//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-left-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-top-right-radius: @radius;\n border-bottom-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-top-left-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: 400;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, selector-max-type\n\n//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n padding-left: 0; // Override default ul/ol\n margin-bottom: 0;\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n cursor: @cursor-disabled;\n background-color: transparent;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n cursor: default;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n margin-bottom: 5px;\n text-align: center;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, selector-max-class, declaration-no-important, selector-no-qualifying-type\n\n//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n\n // Fix the top/bottom navbars when screen real estate supports it\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n height: @navbar-height;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: @navbar-padding-horizontal;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n padding: 10px @navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-right: @navbar-padding-horizontal;\n margin-left: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n\n // Dropdown menu items\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n\n // Dropdowns\n > .open > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n padding: 0 5px;\n color: @breadcrumb-color;\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n margin-left: -1px;\n line-height: @line-height-base;\n color: @pagination-color;\n text-decoration: none;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n cursor: default;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n cursor: @cursor-disabled;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n text-align: center;\n list-style: none;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n cursor: @cursor-disabled;\n background-color: @pager-bg;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n line-height: @badge-line-height;\n color: @badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n padding-right: (@grid-gutter-width / 2);\n padding-left: (@grid-gutter-width / 2);\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-right: (@jumbotron-padding * 2);\n padding-left: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-right: auto;\n margin-left: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n color: inherit; // Specified for the h4 to prevent conflicts of changing @headings-color\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n// The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissable,\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n color: @text-color;\n background-color: @background;\n border-color: @border;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","// stylelint-disable at-rule-no-vendor-prefix\n\n//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n overflow: hidden;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 20px;\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n background-color: @list-group-disabled-bg;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n color: @list-group-link-hover-color;\n text-decoration: none;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors\n\n//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0, 0, 0, .05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-right: @panel-body-padding;\n padding-left: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n border-bottom-left-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n margin-bottom: 0;\n border: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0); }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n background-clip: padding-box;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0, 0, 0, .5));\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n margin-left: 5px;\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0, 0, 0, .5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top {\n padding: @tooltip-arrow-width 0;\n margin-top: -3px;\n }\n &.right {\n padding: 0 @tooltip-arrow-width;\n margin-left: 3px;\n }\n &.bottom {\n padding: @tooltip-arrow-width 0;\n margin-top: 3px;\n }\n &.left {\n padding: 0 @tooltip-arrow-width;\n margin-left: -3px;\n }\n\n // Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n right: @tooltip-arrow-width;\n bottom: 0;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: 400;\n line-height: @line-height-base;\n line-break: auto;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0, 0, 0, .2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n\n // Arrows\n // .arrow is outer, .arrow:after is inner\n > .arrow {\n border-width: @popover-arrow-outer-width;\n\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n\n &:after {\n content: \"\";\n border-width: @popover-arrow-width;\n }\n }\n\n &.top > .arrow {\n bottom: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n border-bottom-width: 0;\n &:after {\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-color: @popover-arrow-color;\n border-bottom-width: 0;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n border-left-width: 0;\n &:after {\n bottom: -@popover-arrow-width;\n left: 1px;\n content: \" \";\n border-right-color: @popover-arrow-color;\n border-left-width: 0;\n }\n }\n &.bottom > .arrow {\n top: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n &:after {\n top: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n right: 1px;\n bottom: -@popover-arrow-width;\n content: \" \";\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n }\n }\n}\n\n.popover-title {\n padding: 8px 14px;\n margin: 0; // reset heading margin\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n","// stylelint-disable media-feature-name-no-unknown\n\n//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n\n > .item {\n position: relative;\n display: none;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~\"0.6s ease-in-out\");\n .backface-visibility(~\"hidden\");\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: @carousel-control-width;\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n .opacity(@carousel-control-opacity);\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .5); @end-color: rgba(0, 0, 0, .0001));\n }\n &.right {\n right: 0;\n left: auto;\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .0001); @end-color: rgba(0, 0, 0, .5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: @carousel-control-color;\n text-decoration: none;\n outline: 0;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n }\n\n .icon-prev {\n &:before {\n content: \"\\2039\";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: \"\\203a\";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0, 0, 0, 0); // IE9\n\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n }\n\n .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n display: table; // 2\n content: \" \"; // 1\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n","// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","// stylelint-disable declaration-no-important, at-rule-no-vendor-prefix\n\n//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width\n// Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]}
\ No newline at end of file
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\344\273\223\345\272\223\345\272\223\344\275\215\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\344\273\223\345\272\223\345\272\223\344\275\215\346\270\205\345\215\225.xls"
new file mode 100644
index 0000000..4680e92
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\344\273\223\345\272\223\345\272\223\344\275\215\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\345\276\200\346\235\245\345\215\225\344\275\215.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\345\276\200\346\235\245\345\215\225\344\275\215.xls"
new file mode 100644
index 0000000..23263b4
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\345\276\200\346\235\245\345\215\225\344\275\215.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
new file mode 100644
index 0000000..af044dc
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\274\272\351\231\267\345\256\232\344\271\211.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\274\272\351\231\267\345\256\232\344\271\211.xls"
new file mode 100644
index 0000000..bec990a
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\274\272\351\231\267\345\256\232\344\271\211.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
new file mode 100644
index 0000000..caedff9
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
new file mode 100644
index 0000000..82db4e3
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\344\277\235\345\205\273\351\241\271\347\233\256.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\344\277\235\345\205\273\351\241\271\347\233\256.xls"
new file mode 100644
index 0000000..1b4fc48
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\344\277\235\345\205\273\351\241\271\347\233\256.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\347\202\271\346\243\200\351\241\271\347\233\256.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\347\202\271\346\243\200\351\241\271\347\233\256.xls"
new file mode 100644
index 0000000..dce631a
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\347\202\271\346\243\200\351\241\271\347\233\256.xls"
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Global.asax b/VueWebApi/obj/Release/Package/PackageTmp/Global.asax
new file mode 100644
index 0000000..1b75e50
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Global.asax
@@ -0,0 +1 @@
+锘�<%@ Application Codebehind="Global.asax.cs" Inherits="VueWebApi.WebApiApplication" Language="C#" %>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js b/VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js
new file mode 100644
index 0000000..e15e0f2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Grid/grwebapp.js
@@ -0,0 +1,499 @@
+//鍙橀噺 _grwebapp_url 鎸囧畾WEB鎶ヨ〃瀹㈡埛绔畨瑁呯▼搴忕殑涓嬭浇URL锛屽綋閫氳繃WebSocket閫氳涓嶆垚鍔熸椂锛屾彁绀虹敤鎴风敤姝RL涓嬭浇绋嬪簭杩涜瀹夎銆�
+//鎴栫敤浜庤嚜鍔ㄦ洿鏂癢EB鎶ヨ〃瀹㈡埛绔椂涓嬭浇鏂扮増鏈紝寮�鍙戣�呭簲灏� _grwebapp_url 鏀逛负鑷繁鏈嶅姟鍣ㄧ殑URL锛屾柟渚跨敤鎴蜂粠鍙闂殑WEB鏈嶅姟鍣ㄤ笅杞�
+//鍙橀噺 _grwebapp_version 鎸囧畾鑷姩鏇存柊鏃讹紝瀹㈡埛绔▼搴忛渶瑕佺殑鐗堟湰鍙凤紝濡傛灉灏忎簬姝ょ増鏈彿锛屽垯鑷姩杩涜鏇存柊
+var _grwebapp_websocket = null,
+ _grwebapp_url = "http://www.rubylong.cn/download/gridreport6-webapp.exe",
+ _grwebapp_version = "6.8.2.0",
+ webapp_onmessage ; //濡傛灉闇�瑕佸搷搴旀墽琛屼换鍔″悗鐨勬秷鎭搷搴旓紝搴旇鍐欎竴涓悕绉颁负 webapp_onmessage 鐨� function
+
+function webapp_url_method_valid(url, method) {
+ if (!method) {
+ if (typeof url == "object") {
+ method = url.method;
+ url = url.url;
+ }
+ if (!method) {
+ method = /.grf|.txt|.xml|.json/.test(url) ? "GET" : "POST";
+ }
+ }
+ return method;
+}
+
+//姝ゅ嚱鏁扮敤浜庡垽鏂竴涓彉閲忔槸鍚︿负URL瀛楃涓诧紝濡傛灉绫诲瀷涓哄瓧绗︿覆涓旈涓潪绌虹櫧瀛楃涓嶄负鈥�<鈥濅笌鈥渰鈥濆嵆鍒ゅ畾涓篣RL
+//濡傛灉鍙傛暟鏄竴涓猳bject瀵硅薄锛屼笖鍏跺叿鏈夆�渦rl鈥濆睘鎬э紝鍒欏叾鏄疕TTPParam瀵硅薄锛屾槸涓�涓猽rl鍙傛暟
+var webapp_is_url = function (p) {
+ var index = 0,
+ len = p.length,
+ ch;
+
+ //瀵硅薄濡傛灉鏈塽rl灞炴�э紝鍒ゅ畾涓簎rl
+ if (typeof p == "object") {
+ return !!p.url;
+ }
+
+ if (typeof p != "string") {
+ return 0;
+ }
+
+ //棣栧厛鎵惧埌绗竴涓潪绌虹櫧瀛楃
+ while (index < len) {
+ ch = p[index];
+ if (!/\s/g.test(ch))
+ break;
+ index++;
+ }
+
+ //濡傛灉涓嶆槸xml鎴杍son鏂囨湰涓诧紝鍒欏垽瀹氫负url
+ return (ch != "{") && (ch != "<") && (p.substr(index, 4) != "_WR_");
+};
+
+function webapp_ajax(method, url, callback, cbthis, params) {
+ var xmlhttp = new XMLHttpRequest(),
+ headers;
+
+ xmlhttp.onreadystatechange = function () {
+ if (xmlhttp.readyState == 4 && xmlhttp.status > 0) {
+ callback.call(cbthis, xmlhttp, xmlhttp.status == 200);
+ }
+ }
+
+ xmlhttp.onerror = function () {
+ callback.call(cbthis, xmlhttp, 0);
+ }
+
+ if (typeof url == "object") {
+ headers = url.headers;
+ if (typeof headers == "string") {
+ headers = JSON.parse(headers)
+ }
+
+ if (!method) {
+ method = url.method;
+ }
+
+ if (!params) {
+ params = url.data;
+ }
+
+ url = url.url;
+ }
+
+ xmlhttp.open(webapp_url_method_valid(url, method), url, true); //寮傛璇锋眰鏁版嵁
+
+ if (headers && typeof headers == "object") {
+ for (var key in headers) {
+ xmlhttp.setRequestHeader(key, headers[key]);
+ }
+ }
+
+ xmlhttp.send(params); //POST 鎴� PUT 鍙互浼犻�掑弬鏁�
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//鍒涘缓鍚姩WEB鎶ヨ〃瀹㈡埛绔殑URL鍗忚鍙傛暟
+function _gr_up_href(args) {
+ return "grwebapp://" + (args ? JSON.stringify(args) : "");
+}
+
+//閫氳繃URL鍗忚鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�
+//鍙傛暟 appUpdate 鎸囧畾鏄惁鑷姩鏇存柊WEB鎶ヨ〃瀹㈡埛绔▼搴忥紝鏍规嵁_grwebapp_version涓庡凡缁忓畨瑁呯殑绋嬪簭鐗堟湰杩涜姣旇緝锛屾寜闇�杩涜鑷姩鍗囩骇
+function webapp_urlprotocol_startup(appUpdate) {
+ var arg = appUpdate ? {
+ type: "update",
+ url: _grwebapp_url,
+ ver: _grwebapp_version
+ } : 0;
+ window.location.href = _gr_up_href(arg);
+}
+
+//濡傛灉WEB鎶ヨ〃瀹㈡埛绔▼搴忔湭杩愯锛屽厛閫氳繃URL鍗忚鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�
+//閫氱煡WEB鎶ヨ〃瀹㈡埛绔▼搴忔牴鎹ā鏉夸笌鏁版嵁鐨刄RL锛屼互鍙婄敓鎴愮被鍨嬬瓑鐩稿叧鍙傛暟杩涜鎶ヨ〃鐢熸垚锛�
+function webapp_urlprotocol_run(args, report_url, data_url) {
+ if (report_url) {
+ args.report = report_url;
+ }
+ if (data_url) {
+ args.data = data_url;
+ }
+
+ window.location.href = _gr_up_href(args);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//妫�鏌ebSocket鏄惁宸茬粡鍒涘缓骞堕�氳杩炴帴鎴愬姛
+function webapp_ws_check(slience) {
+ if (!slience) {
+ if (!_grwebapp_websocket) {
+ alert("WebSocket娌℃湁鍒涘缓锛屾棤娉曞彂閫佹暟鎹紒");
+ }
+ else if (_grwebapp_websocket.readyState != 1) {
+ alert("WebSocket姝e湪杩炴帴涓紝鏆備笉鑳藉彂閫佹暟鎹紒");
+ }
+ }
+ return _grwebapp_websocket && (_grwebapp_websocket.readyState === 1);
+}
+
+//鍒涘缓骞堕�氳杩炴帴WebSocket
+function webapp_ws_create(onopen) {
+ //濡傛灉宸茬粡鍒涘缓锛屼笖杩炴帴姝e父锛屽垯涓嶈鍐嶆鍒涘缓
+ if (_grwebapp_websocket && _grwebapp_websocket.readyState === 1) {
+ return;
+ }
+
+ //鍒ゆ柇褰撳墠娴忚鍣ㄦ槸鍚︽敮鎸乄ebSocket
+ if ('WebSocket' in window) {
+ _grwebapp_websocket = new WebSocket("ws://127.0.0.1:22333");
+
+ //杩炴帴鎴愬姛寤虹珛鐨勫洖璋冩柟娉�
+ if (onopen) {
+ _grwebapp_websocket.onopen = function () {
+ //alert("_grwebapp_websocket.onopen");
+ onopen();
+ }
+ }
+ debugger;
+ //鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶
+ if (window.webapp_onmessage) {
+ _grwebapp_websocket.onmessage = function (event) {
+ window.webapp_onmessage(event);
+ }
+ }
+
+ _grwebapp_websocket.onerror = function () {
+ var children = document.body.children,
+ childrenLen = children.length,
+ referNode = childrenLen ? children[0] : null,
+ newNode = document.createElement("h3");
+
+ _grwebapp_websocket = null;
+
+ //寮瑰嚭alert鎻愮ず淇℃伅锛屽彲淇敼涓烘洿閫傚悎鐨勮〃杩�
+ //alert("鍒涘缓WebSocket澶辫触锛屽彲鑳芥槸鈥榃EB鎶ヨ〃瀹㈡埛绔▼搴忊�欏湪鏈満娌℃湁瀹夎锛屾垨鍦ㄦ姤琛ㄧ綉椤靛姞杞芥椂娌℃湁璋冪敤鈥榳ebapp_urlprotocol_startup鈥欏嚱鏁拌繘琛屽惎鍔ㄣ��");
+ alert("鍒涘缓WebSocket澶辫触锛屽彲鑳芥槸WEB鎶ヨ〃瀹㈡埛绔▼搴忔病鏈夊惎鍔紝鎴栧叾鍦ㄦ湰鏈烘病鏈夊畨瑁咃紝璇锋牴鎹綉椤甸《閮ㄧ殑鎻愮ず杩涜鐩稿簲鐨勬搷浣溿��");
+
+ //鍦ㄧ綉椤垫渶鍓嶉潰鍔犱笂鎻愮ず涓嬭浇鐨勬枃瀛楋紝鍙慨鏀逛负鏇撮�傚悎鐨勮〃杩颁笌鐣岄潰褰㈠紡
+ //newNode.innerHTML = '鐗瑰埆鎻愮ず锛�<a href="' + _grwebapp_url + '">鐐瑰嚮涓嬭浇WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>锛屼笅杞藉悗鍙屽嚮涓嬭浇鐨勬枃浠惰繘琛屽畨瑁咃紝瀹夎瀹屾垚鍚庨噸鏂版墦寮�褰撳墠缃戦〉銆�';
+ newNode.innerHTML = '鐗瑰埆鎻愮ず锛氬皾璇�<a href="javascript:webapp_urlprotocol_startup();">鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>銆傛垨<a href="' + _grwebapp_url + '">鐐瑰嚮涓嬭浇WEB鎶ヨ〃瀹㈡埛绔▼搴�</a>锛屼笅杞藉悗鍙屽嚮涓嬭浇鐨勬枃浠惰繘琛屽畨瑁咃紝瀹夎瀹屾垚鍚庨噸鏂版墦寮�褰撳墠缃戦〉銆�';
+ document.body.insertBefore(newNode, referNode);
+ };
+
+ //杩炴帴鍏抽棴鐨勫洖璋冩柟娉�
+ _grwebapp_websocket.onclose = function () {
+ _grwebapp_websocket = null;
+ }
+
+ //鎰熻杩欓儴鍒嗗彲浠ヤ笉瑕�
+ //鐩戝惉绐楀彛鍏抽棴浜嬩欢锛屽綋绐楀彛鍏抽棴鏃讹紝涓诲姩鍘诲叧闂璤grwebapp_websocket杩炴帴锛岄槻姝㈣繛鎺ヨ繕娌℃柇寮�灏卞叧闂獥鍙o紝server绔細鎶涘紓甯搞��
+ //window.onbeforeunload = function () {
+ // if (_grwebapp_websocket) {
+ // _grwebapp_websocket.close();
+ // }
+ //}
+ }
+ else {
+ alert('褰撳墠娴忚鍣ㄤ笉鏀寔HTML5鐨刉ebSocket锛岃閫夌敤鏇存柊鐗堟湰鐨勬祻瑙堝櫒锛�')
+ }
+}
+
+function webapp_build_one(pack, report, report_method, data, data_method, callback_fun, dataParams) {
+ if (!report) {
+ alert("鍦ㄥ弬鏁颁腑娌℃湁瀹氫箟鎶ヨ〃妯℃澘鐨剈rl锛屾姤琛ㄤ笉鑳界敓鎴愶紒");
+ return;
+ }
+
+ if (data) {
+ if (webapp_is_url(data)) {
+ webapp_ajax(data_method, data, function (xmlhttp, success) {
+ if (success) {
+ pack.data = xmlhttp.responseText;
+ callback_fun();
+ }
+ else {
+ //alert("杞藉叆鎶ヨ〃鏁版嵁澶辫触锛屽搷搴旀秷鎭細" + xmlhttp.responseText);
+ window.open(data, "blank");
+ }
+ }, undefined, dataParams);
+ }
+ else {
+ pack.data = (typeof data == "object") ? JSON.stringify(data) : data;
+ callback_fun();
+ }
+ }
+ else {
+ pack.data = "";
+ }
+
+ if (webapp_is_url(report)) {
+ webapp_ajax(report_method, report, function (xmlhttp, success) {
+ if (success) {
+ pack.report = xmlhttp.responseText;
+ callback_fun();
+ }
+ else {
+ //alert("杞藉叆鎶ヨ〃妯℃澘澶辫触锛屽搷搴旀秷鎭細" + xmlhttp.responseText);
+ window.open(report, "blank");
+ }
+ });
+ }
+ else {
+ pack.report = (typeof report == "object") ? JSON.stringify(report) : report;
+ callback_fun();
+ }
+}
+
+//灏嗗弬鏁伴�氳繃WebSocket鍙戦�佺粰WEB鎶ヨ〃瀹㈡埛绔紝WEB鎶ヨ〃瀹㈡埛绔墽琛屽搴旂殑浠诲姟
+//鍙傛暟璇存槑锛�
+//args锛�
+// 鎶ヨ〃鐢熸垚鐩稿叧鐨勫弬鏁帮紝涓轰竴涓粨鏋勪綋瀵硅薄鎴栫粨鏋勪綋瀵硅薄鏁扮粍銆�
+// 褰撳弬鏁颁负鏁扮粍鏃讹紝琛ㄧず鏄墽琛屾壒閲忎换鍔°�傛鏃跺悗闈㈢殑 report 涓� data 鍙傛暟涓嶄細琚敤鍒般��
+// 缁撴瀯浣撳璞$殑鍚勪釜鏁版嵁椤硅鏄庤鍙傝�冨府鍔╀腑鈥淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒�
+//report锛�
+// 鎶ヨ〃妯℃澘鏂囨湰锛屾姤琛ㄥ畾涔夋牸寮忓繀椤讳负JSON鏍煎紡銆傛鍙傛暟鍙┖锛屼负绌鸿〃绀烘墽琛岄潪鎶ヨ〃鐢熸垚浠诲姟锛屾垨WEB鎶ヨ〃瀹㈡埛绔�氳繃URL鑾峰彇鎶ヨ〃妯℃澘銆�
+//data锛�
+// 鎶ヨ〃鏁版嵁鏂囨湰锛屾鍙傛暟鍙┖锛屾姤琛ㄦ棤闇�鎻愪緵鏁版嵁锛屾垨WEB鎶ヨ〃瀹㈡埛绔�氳繃URL鑾峰彇鎶ヨ〃鏁版嵁銆�
+//
+// 鎶ヨ〃鏁版嵁瀵瑰簲鐨� XML 鎴� JSON 鏂囨湰锛岃鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃鏁版嵁鈥濅腑鐨勮鏄庛��
+function webapp_ws_run(variant_args, report, data) {
+ function run_one(args, reportText, dataText) {
+ var msg;
+
+ if (webapp_ws_check()) {
+ if (typeof args === "string") {
+ args = {
+ type: args
+ };
+ }
+ msg = JSON.stringify(args);
+
+ if (reportText) {
+ if (reportText.substr(0, 4) === "_WR_") {
+ msg += reportText.length;
+ }
+ msg += reportText;
+
+ if (dataText) {
+ msg += dataText;
+ }
+ }
+
+ _grwebapp_websocket.send(msg);
+ }
+ } //end of run_one
+
+ if (!webapp_ws_check(1)) {
+ //濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+ webapp_ws_create(function () {
+ webapp_ws_run(variant_args, report, data);
+ });
+ return;
+ }
+
+ if (Array.isArray(variant_args)) {
+ variant_args.forEach(function (args) {
+ run_one(args);
+ })
+ }
+ else {
+ run_one(variant_args, report, data);
+ }
+}
+
+//閫氳繃 ajax 鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹紝鐒跺悗閫氳繃 WebSocket 鍙戦�佺浉鍏虫暟鎹粰WEB鎶ヨ〃瀹㈡埛绔苟鐢熸垚鎶ヨ〃
+//鍙傛暟鏃㈠彲浠ユ槸鍗曚釜缁撴瀯浣撳璞★紝涔熷彲浠ユ槸缁撴瀯浣撳璞℃暟缁勩�傚鏋滄槸鏁扮粍锛岃〃绀烘垚鎵圭敓鎴愬涓姤琛ㄣ��
+//缁撴瀯浣撳璞$殑鍚勪釜鏁版嵁椤硅鏄庤鍙傝�冨府鍔╀腑鈥淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒嗐��
+function webapp_ws_ajax_run(variant_args) {
+ function run_one(args) {
+ var report = args.report,
+ data = args.data,
+ report_method = args.report_method,
+ data_method = args.data_method,
+ dataUrlParams = args.dataUrlParams,
+ pack = {};
+
+ function run() {
+ //鍙湁褰搑eport涓巇ata閮借祴鍊间箣鍚庢墠杩愯锛屽嵆鍚慦EB鎶ヨ〃瀹㈡埛绔▼搴忓彂閫佹暟鎹�
+ if (pack.report && pack.data !== undefined) {
+ webapp_ws_run(args, pack.report, pack.data);
+ }
+ }
+
+ //鍥犱负args闇�瑕佷紶閫掔粰WEBAPP锛宺eport涓巇ata鐨剈rl鐩稿叧鐨勫弬鏁颁笉闇�瑕佷紶閫掞紝鎵�浠ュ皢鍏跺垹闄ゆ帀
+ delete args.report;
+ delete args.data;
+ delete args.report_method;
+ delete args.data_method;
+ delete args.dataUrlParams;
+
+ webapp_build_one(pack, report, report_method, data, data_method, run, dataUrlParams);
+ } //end of run_one
+
+ if (!webapp_ws_check(1)) {
+ //濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+ webapp_ws_create(function () {
+ webapp_ws_ajax_run(variant_args);
+ });
+ return;
+ }
+
+ if (Array.isArray(variant_args)) {
+ variant_args.forEach(function (args) {
+ run_one(args);
+ });
+ }
+ else {
+ run_one(variant_args);
+ }
+}
+
+//閫氳繃 ajax 鏂瑰紡鑾峰彇澶氫釜鎶ヨ〃鐨勬ā鏉夸笌鏁版嵁锛岀劧鍚庣敤 WebSocket 灏嗘暟鎹竴娆℃�у彂閫佺粰WEB鎶ヨ〃瀹㈡埛绔▼搴忋��
+//瀹炵幇澶氫釜鎶ヨ〃鍚屾椂鐢熸垚鍦ㄤ竴涓换鍔′腑(搴旂敤Grid++Report鐨勭嫭绔嬪瓙鎶ヨ〃鍔熻兘瀹炵幇)锛岃揪鍒板涓姤琛ㄥ悓鏃堕瑙堛�佹墦鍗颁笌鏁版嵁瀵煎嚭
+function webapp_ws_ajax_together(args, reports) {
+ var reportCount = reports.length,
+ reportPacks = [],
+ gettedCount = 0; //鎸囩ず宸茬粡鑾峰彇鍒版暟鎹殑鎶ヨ〃涓暟
+
+ function ajaxRequestOne(arg, index) {
+ var report = arg.report,
+ data = arg.data,
+ report_method = arg.report_method,
+ data_method = arg.data_method,
+ dataUrlParams = arg.dataUrlParams,
+ pack = reportPacks[index];
+
+ function try_ws_send() {
+ var msg,
+ dataMsg = "",
+ lengths = [];
+
+ if (pack.report && pack.data !== undefined) {
+ if (++gettedCount >= reportCount) { //鍙湁褰撳叏閮ㄦ姤琛ㄧ殑妯℃澘涓庢暟鎹兘宸茬粡鑾峰彇鍒颁箣鍚庯紝鎵嶄細鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹暟鎹�
+ msg = JSON.stringify(args);
+
+ reportPacks.forEach(function (item) {
+ var report = item.report,
+ data = item.data,
+ reportLen = report.length,
+ reportLenText = "";
+
+ if (report.substr(0, 4) === "_WR_") {
+ reportLenText += reportLen;
+ dataMsg += reportLenText;
+ reportLen += reportLenText.length;
+ }
+ dataMsg += report;
+
+ if (data) {
+ dataMsg += data;
+ }
+
+ lengths.push(reportLen + data.length);
+ });
+
+ msg += JSON.stringify(lengths);
+ msg += dataMsg;
+
+ _grwebapp_websocket.send(msg);
+ }
+ }
+ }
+
+ webapp_build_one(pack, report, report_method, data, data_method, try_ws_send, dataUrlParams);
+ } //end of ajaxRequestOne
+
+ if (!webapp_ws_check(1)) {
+ //濡傛灉WebSocket娌℃湁杩炴帴锛屽垯棣栧厛鍒涘缓骞惰繛鎺ebSocket锛屽苟鍦╫nopen浜嬩欢涓墽琛岀浉鍏崇殑浠诲姟
+ webapp_ws_create(function () {
+ webapp_ws_ajax_together(args, reports);
+ });
+ return;
+ }
+
+ reports.forEach(function (report, index) {
+ reportPacks.push({});
+ ajaxRequestOne(report, index);
+ });
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹灇涓惧嚭褰撳墠鐢佃剳鐨勬墍鏈夋墦鍗版満淇℃伅鐨勬寚浠�
+//鍦ㄧ綉椤电殑 webapp_onmessage 鍑芥暟涓帴鏀禬EB鎶ヨ〃瀹㈡埛绔繑鍥炵殑缁撴灉锛屽叿浣撹鍙傝�冧緥瀛愩��
+function webapp_ws_fun_Printers() {
+ webapp_ws_run({
+ type: "fun",
+ fun: "Printers"
+ });
+}
+
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹灇涓惧嚭褰撳墠鐢佃剳鐨勬寚瀹氭墦鍗版満鐨勫叏閮ㄥ彲鐢ㄧ焊寮犵殑鎸囦护
+//鍦ㄧ綉椤电殑 webapp_onmessage 鍑芥暟涓帴鏀禬EB鎶ヨ〃瀹㈡埛绔繑鍥炵殑缁撴灉锛屽叿浣撹鍙傝�冧緥瀛�
+function webapp_ws_fun_PrinterPapers(printer) {
+ webapp_ws_run({
+ type: "fun",
+ fun: "PrinterPapers",
+ printer: printer
+ });
+}
+
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佸仠姝㈠綋鍓嶆姤琛ㄩ瑙堝苟鍏抽棴棰勮绐楀彛鐨勬寚浠�
+function webapp_ws_fun_StopPreview() {
+ webapp_ws_run({
+ type: "fun",
+ fun: "StopPreview"
+ });
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//閫氳繃WebSocket鍚慦EB鎶ヨ〃瀹㈡埛绔彂閫佹秷鎭繘琛岃嚜鍔ㄦ洿鏂版鏌ュ鐞�
+function webapp_ws_autoupdate() {
+ webapp_ws_run({
+ type: "update",
+ url: _grwebapp_url,
+ ver: _grwebapp_version
+ });
+}
+
+/////////////////////////////////////////////////////////////////////////////
+//涓篣RL杩藉姞涓�涓悕涓篿d鐨勯殢鏈烘暟鍙傛暟锛岀敤浜庨槻姝㈡祻瑙堝櫒缂撳瓨銆�
+//鎶ヨ〃妯℃澘閲嶆柊璁捐鍚庯紝鍥犱负娴忚鍣ㄧ紦瀛樿�岃鎶ヨ〃鐢熸垚涓嶈兘鍙嶆槧鍑烘柊淇敼鐨勮璁$粨鏋滐紝URL鍚庤拷鍔犱竴涓殢鏈烘暟鍙傛暟鍙互閬垮厤杩欐牱鐨勯棶棰�
+//鍙傛暟url蹇呴』鏄潤鎬佺殑URL锛屽叾鍚庢湰韬棤浠讳綍鍙傛暟
+//濡傛灉妯℃澘鍑犱箮涓嶆�庝箞淇敼锛屽彲浠ュ幓鎺夊鏈嚱鏁扮殑璋冪敤
+function urlAddRandomNo(url) {
+ return url + "?id=" + Math.floor(Math.random() * 10000);
+}
+
+//鏍规嵁褰撳墠缃戦〉URL鑾峰彇鍒板綋鍓峎EB鏈嶅姟鍣ㄧ殑鏍筓RL锛屽苟璁板綍鍦� window.rootURL 涓�
+function gr_extractRootURL() {
+ var path = window.location.pathname,
+ index = path.lastIndexOf("/");
+
+ window.rootURL = window.location.protocol + "//" + window.location.host;
+ if (index >= 0) {
+ path = path.substr(0, index);
+
+ //demmo鐨勬牴鐩綍鍦ㄥ綋鍓嶉〉闈㈢殑1绾х洰褰曚箣涓�
+ index = path.lastIndexOf("/");
+ if (index >= 0) {
+ path = path.substr(0, index);
+ }
+
+ window.rootURL += path;
+ }
+ window.rootURL += "/";
+}
+
+//vue涓娇鐢ㄥ皢涓嬪垪娉ㄩ噴寮�鏀�
+//export {
+// webapp_url_method_valid,
+// webapp_urlprotocol_startup,
+// webapp_ajax,
+// webapp_ws_ajax_run,
+// webapp_urlprotocol_run,
+// urlAddRandomNo,
+// webapp_onmessage,
+// webapp_ws_fun_StopPreview,
+// webapp_ws_fun_PrinterPapers,
+// webapp_ws_fun_Printers,
+// webapp_ws_ajax_together,
+// webapp_ws_autoupdate,
+// gr_extractRootURL
+//}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Grid/webapp-ws-tutorial.htm b/VueWebApi/obj/Release/Package/PackageTmp/Grid/webapp-ws-tutorial.htm
new file mode 100644
index 0000000..1326aae
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Grid/webapp-ws-tutorial.htm
@@ -0,0 +1,152 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+ <title>WEB鎶ヨ〃瀹㈡埛绔娇鐢ㄦ暀绋�(WebSocket) - 閿愭氮WEB鎶ヨ〃</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="Description" content="閿愭氮HTML5鎶ヨ〃搴旂敤WEB鎶ヨ〃瀹㈡埛绔疄鐜版墦鍗颁笌鏁版嵁瀵煎嚭銆�" />
+ <meta name="Keywords" content="WEB鎶ヨ〃,WEB鎵撳嵃,HTML5鎶ヨ〃,WEB鎶ヨ〃瀹㈡埛绔�" />
+ <script src="grwebapp.js"></script>
+ <script language="javascript" type="text/javascript">
+ function window_onload() {
+ //*杩欏彞鐗瑰埆閲嶈*锛氬彧鏈夊湪WEB鎶ヨ〃瀹㈡埛绔▼搴忓悗锛屾墠鑳借繘琛學ebSocket閫氳
+ //濡傛灉WEB鎶ヨ〃瀹㈡埛绔▼搴忎负寮�鏈鸿嚜鍚姩锛屼互涓嬭皟鐢ㄥ簲璇ュ幓鎺夈�傛洿澶氳鏄庤鍙傝�冨府鍔┾�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->閮ㄧ讲涓庡畨瑁呪�濋儴鍒嗕腑涓庤胺姝孋hrome娴忚鍣ㄧ殑鐩稿叧璇存槑
+ webapp_urlprotocol_startup(); //鍚姩WEB鎶ヨ〃瀹㈡埛绔▼搴忥紝浠ヤ究渚﹀惉鎺ュ彈 WebSocket 鏁版嵁
+ }
+
+ //娑堟伅鍝嶅簲鍑芥暟锛屾帴鍙梂EB鎶ヨ〃瀹㈡埛绔墽琛屽畬鎵撳嵃涓庢暟鎹鍑虹瓑浠诲姟鍥炲彂鐨勬秷鎭�
+ //濡傛灉涓嶈鍝嶅簲浠诲姟鎵ц瀹屾秷鎭紝姝ゅ嚱鏁板彲浠ヤ笉鐢ㄥ畾涔夛紝鐩存帴鍘绘帀鍗冲彲銆�
+ function webapp_onmessage(event) {
+ var message = JSON.parse(event.data);
+
+ //鍦ㄥ悜鎵撳嵃鏈哄彂閫佸畬鎵撳嵃鏁版嵁鍚庡搷搴旂殑娑堟伅锛屽湪鍑芥暟浣撲腑瀹屾垚鑷繁鐨勪换鍔�
+ function OnPrintEnd() {
+ var msg = "鎶ヨ〃宸茬粡鎵撳嵃锛岃緭鍑烘墦鍗版満锛�" + message.PrinterName;
+ if (message.reportid) {
+ msg += "\r\nreportid = " + message.reportid;
+ }
+ alert(msg);
+ }
+
+ //鍦ㄦ墽琛屼簡鏁版嵁瀵煎嚭浠诲姟鍚庡搷搴旂殑娑堟伅锛屽湪鍑芥暟浣撲腑瀹屾垚鑷繁鐨勪换鍔�
+ function OnExportEnd() {
+ var msg = "鏁版嵁瀵煎嚭宸茬粡瀹屾垚锛屽鍑烘枃浠讹細" + message.FileName;
+ if (message.reportid) {
+ msg += "\r\nreportid = " + message.reportid;
+ }
+ alert(msg);
+ }
+
+ //alert(event.data);
+ if (message.event == "PrintEnd") {
+ OnPrintEnd();
+ }
+ else if (message.event == "ExportEnd") {
+ OnExportEnd();
+ }
+ }
+ </script>
+</head>
+<body onload="window_onload()">
+ <h1>閿愭氮WEB鎶ヨ〃瀹㈡埛绔娇鐢ㄦ暀绋�</h1>
+ <h3><a href="webapp-overview.htm">鍏充簬閿愭氮WEB鎶ヨ〃瀹㈡埛绔�</a></h3>
+
+ <h3>鐗瑰埆鎻愮ず锛氫互涓嬮摼鎺ョ偣鍑绘棤鍝嶅簲锛岃涓嬭浇瀹夎<a href="webapp-download.htm">WEB鎶ヨ〃瀹㈡埛绔�</a></h3>
+
+ <h3>璧锋渚嬪瓙</h3>
+ <p><a href='javascript:ws_ajax_preview();'>鎵撳嵃棰勮(AJAX)</a>閫氳繃AJAX鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹�</p>
+ <script language="javascript" type="text/javascript">
+ function ws_ajax_preview() {
+ //鍙傛暟鍏蜂綋璇存槑璇峰弬鑰冨府鍔╂枃妗d腑鐨勨�淲EB鎶ヨ〃(B/S鎶ヨ〃)->WEB鎶ヨ〃瀹㈡埛绔�->鍚姩鍙傛暟璇存槑鈥濋儴鍒�
+ var args = {
+ report: urlAddRandomNo("../grf/浜у搧娴佷紶鍗旳5.grf"),
+ data:
+ {
+ "recordset": [
+ {
+ "seq": "1",
+ "wo_code": "PO202206280001_1",
+ "partcode": "1403-001-0001",
+ "partname": "鍦嗛挗F45MnVS蠁20",
+ "partspec": "蠁20",
+ "routename": "娴嬭瘯宸ヨ壓璺嚎1",
+ "orderqty": 166,
+ "lm_user": "Admin",
+ "lm_date": "2022-06-30",
+ "stepcode": "Step01",
+ "stepname": "娴嬭瘯宸ュ簭涓�",
+ "plan_qty1": 166,
+ "good_qty": 0,
+ "ng_qty": 0,
+ "stepqrcode":"PO202206280001_1;Step01"
+ },
+ {
+ "seq": "2",
+ "wo_code": "PO202206280001_1",
+ "partcode": "1403-001-0001",
+ "partname": "鍦嗛挗F45MnVS蠁20",
+ "partspec": "蠁20",
+ "routename": "娴嬭瘯宸ヨ壓璺嚎1",
+ "orderqty": 166,
+ "lm_user": "Admin",
+ "lm_date": "2022-06-30",
+ "stepcode": "Step02",
+ "stepname": "娴嬭瘯宸ュ簭浜�",
+ "plan_qty1": 166,
+ "good_qty": 0,
+ "ng_qty": 0,
+ "stepqrcode": "PO202206280001_1;Step02"
+ }
+ ]
+ },
+ //data: "../data/DataCenter.ashx?data=Customer",
+ //dataUrlParams: "濡傛灉data鍙傛暟涓篣RL锛屼笖鍏堕渶瑕侀澶栫殑鍙傛暟鏁版嵁锛屽垯瀹氫箟鍦ㄦ鍙傛暟涓�", //渚嬪瓙婕旂ず涓嶉渶瑕侊紝鎵�浠ユ敞閲婃帀
+ type: "preview",
+ };
+
+ webapp_ws_ajax_run(args);
+ }
+ </script>
+
+ <p> <a href='javascript:ws_ajax_print();'>鎵撳嵃(AJAX)</a>閫氳繃AJAX鏂瑰紡鑾峰彇鎶ヨ〃妯℃澘涓庢姤琛ㄦ暟鎹�</p>
+ <script language="javascript" type="text/javascript">
+ function ws_ajax_print() {
+ var args = {
+ type: "preview",//print
+ //showOptionDlg: true, //濡傛灉涓嶆樉绀烘墦鍗板璇濇鑰岀洿鎺ユ墦鍗帮紝灏嗘琛屾敞閲婂幓鎺夊嵆鍙�
+ report: urlAddRandomNo("../grf/鎶ュ伐浜у嚭鏍囩.grf"),
+ //data: "../data/DataCenter.ashx?data=Customer"
+ data:
+ {
+ "recordset": [
+ {
+ "wo_code": "PO202206280001_1",
+ "partcode": "1403-001-0001",
+ "partname": "鍦嗛挗F45MnVS蠁20",
+ "qty": "100",
+ "next_stepname": "娴嬭瘯宸ュ簭2",
+ "qrcode": "PO202206280001_1;Step02"
+ },
+ {
+ "wo_code": "PO202206280001_1",
+ "partcode": "1403-001-0001",
+ "partname": "鍦嗛挗F45MnVS蠁20",
+ "qty": "100",
+ "next_stepname": "娴嬭瘯宸ュ簭2",
+ "qrcode": "PO202206280001_1;Step02"
+ }
+ ]
+ }
+ };
+
+ webapp_ws_ajax_run(args);
+ }
+ </script>
+
+
+
+
+
+
+
+</body>
+</html>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage.html b/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage.html
new file mode 100644
index 0000000..04bfff4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage.html
@@ -0,0 +1,77 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8" />
+ <title></title>
+ <script src="../Scripts/jquery-3.4.1.min.js"></script>
+ <script src="../Scripts/jquery.signalR-2.2.2.min.js"></script>
+ <script src="/SignalR/Hubs"></script>
+</head>
+<body>
+ <h1>娴佺▼婕旂ず</h1>
+ <input type="hidden" id="displayname" />
+ <h2 id="thisname"></h2><br />
+ <input type="hidden" id="username" value="1"/>
+ <input id="cont" type="text" style="width:300px;">
+ <input id="send" type="button" value="鍙戦��" />
+ <div>
+ <h1 id="messgae"></h1>
+ </div>
+ <script type="text/javascript">
+
+ $(function () {
+ //鍓嶇Hub鐨勪娇鐢紝娉ㄦ剰鐨勬槸锛孒ub鐨勫悕瀛楁槸ChatHub锛岃繖閲屼娇鐢ㄦ椂棣栧瓧姣嶅皬鍐�
+ var work = $.connection.chatHub;
+ /*$('#displayname').val(prompt('璇疯緭鍏ユ樀绉�:', ''));*/
+ $('#displayname').val("寮犱笁");
+ $('#thisname').text('褰撳墠鐢ㄦ埛锛�' + $('#displayname').val());
+
+
+
+ //瀵瑰簲鍚庣鐨凷endMessage鍑芥暟锛屾秷鎭帴鏀跺嚱鏁�
+ work.client.sendMessage = function (message) {
+ $('#messgae').append(message + '</br>')
+ };
+
+
+
+ //鍚庣SendLogin璋冪敤鍚庯紝浜х敓鐨刲oginUser鍥炶皟
+ //work.client.loginUser = function (userlist) {
+ // reloadUser(userlist);
+ //};
+
+
+
+ //hub杩炴帴寮�鍚�
+ $.connection.hub.start().done(function () {
+ var username = $('#displayname').val();
+ //鍙戦�佷笂绾夸俊鎭�
+ work.server.sendLogin(username);
+
+ //鐐瑰嚮鎸夐挳锛屽彂閫佹秷鎭�
+ $('#send').click(function () {
+ /*var friend = $('#username').val();*/
+ var friend = [{ "code": "1", "name": "1" }, {"code":"2","name":"2"}];
+ var cont = $('#cont').val();
+ //璋冪敤鍚庣鍑芥暟锛屽彂閫佹寚瀹氭秷鎭�
+ work.server.sendByGroups(username, friend, cont);
+ });
+ });
+ });
+
+ //閲嶆柊鍔犺浇鐢ㄦ埛鍒楄〃
+ //var reloadUser = function () {
+ // $("#username").empty();
+ // for (i = 0; i < 5; i++) {
+ // $("#username").append("<option value=" + i + ">" + i + "</option>");
+ // }
+ //}
+ //var reloadUser = function (userlist) {
+ // $("#username").empty();
+ // for (i = 0; i < userlist.length; i++) {
+ // $("#username").append("<option value=" + userlist[i] + ">" + userlist[i] + "</option>");
+ // }
+ //}
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage1.html b/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage1.html
new file mode 100644
index 0000000..2778c71
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage1.html
@@ -0,0 +1,77 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8" />
+ <title></title>
+ <script src="../Scripts/jquery-3.4.1.min.js"></script>
+ <script src="../Scripts/jquery.signalR-2.2.2.min.js"></script>
+ <script src="/SignalR/Hubs"></script>
+</head>
+<body>
+ <h1>娴佺▼婕旂ず</h1>
+ <input type="hidden" id="displayname" />
+ <h2 id="thisname"></h2><br />
+ <select id="username" style="width:153px;">
+ </select>
+ <input id="cont" type="text" style="width:300px;">
+ <input id="send" type="button" value="鍙戦��" />
+ <div>
+ <h1 id="messgae"></h1>
+ </div>
+ <script type="text/javascript">
+
+ $(function () {
+ //鍓嶇Hub鐨勪娇鐢紝娉ㄦ剰鐨勬槸锛孒ub鐨勫悕瀛楁槸ChatHub锛岃繖閲屼娇鐢ㄦ椂棣栧瓧姣嶅皬鍐�
+ var work = $.connection.chatHub;
+ /*$('#displayname').val(prompt('璇疯緭鍏ユ樀绉�:', ''));*/
+ $('#displayname').val("钁d箞濡�");
+ $('#thisname').text('褰撳墠鐢ㄦ埛锛�' + $('#displayname').val());
+
+
+
+ //瀵瑰簲鍚庣鐨凷endMessage鍑芥暟锛屾秷鎭帴鏀跺嚱鏁�
+ work.client.sendMessage = function (message) {
+ $('#messgae').append(message + '</br>')
+ };
+
+
+
+ //鍚庣SendLogin璋冪敤鍚庯紝浜х敓鐨刲oginUser鍥炶皟
+ work.client.loginUser = function (userlist) {
+ reloadUser(userlist);
+ };
+
+
+
+ //hub杩炴帴寮�鍚�
+ $.connection.hub.start().done(function () {
+ var username = $('#displayname').val();
+ //鍙戦�佷笂绾夸俊鎭�
+ work.server.sendLogin(username);
+
+ //鐐瑰嚮鎸夐挳锛屽彂閫佹秷鎭�
+ $('#send').click(function () {
+ var friend = $('#username').val();
+ var cont = $('#cont').val();
+ //璋冪敤鍚庣鍑芥暟锛屽彂閫佹寚瀹氭秷鎭�
+ work.server.sendByGroup(username, friend, cont);
+ });
+ });
+ });
+
+ //閲嶆柊鍔犺浇鐢ㄦ埛鍒楄〃
+ var reloadUser = function () {
+ $("#username").empty();
+ for (i = 0; i < 5; i++) {
+ $("#username").append("<option value=" + i + ">" + i + "</option>");
+ }
+ }
+ //var reloadUser = function (userlist) {
+ // $("#username").empty();
+ // for (i = 0; i < userlist.length; i++) {
+ // $("#username").append("<option value=" + userlist[i] + ">" + userlist[i] + "</option>");
+ // }
+ //}
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage2.html b/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage2.html
new file mode 100644
index 0000000..7dcabde
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage2.html
@@ -0,0 +1,78 @@
+锘�<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8" />
+ <title></title>
+ <script src="../Scripts/jquery-3.4.1.min.js"></script>
+ <script src="../Scripts/jquery.signalR-2.2.2.min.js"></script>
+ <script src="/SignalR/Hubs"></script>
+</head>
+<body>
+ <h1>娴佺▼婕旂ず</h1>
+ <input type="hidden" id="displayname" />
+ <h2 id="thisname"></h2><br />
+ <input type="hidden" id="username" value="1" />
+ <input id="cont" type="text" style="width:300px;">
+ <input id="send" type="button" value="鍙戦��" />
+ <div>
+ <h1 id="messgae"></h1>
+ </div>
+ <script type="text/javascript">
+
+ $(function () {
+ //鍓嶇Hub鐨勪娇鐢紝娉ㄦ剰鐨勬槸锛孒ub鐨勫悕瀛楁槸ChatHub锛岃繖閲屼娇鐢ㄦ椂棣栧瓧姣嶅皬鍐�
+ var work = $.connection.chatHub;
+ /*$('#displayname').val(prompt('璇疯緭鍏ユ樀绉�:', ''));*/
+ $('#displayname').val("寮犱笁");
+ $('#thisname').text('褰撳墠鐢ㄦ埛锛�' + $('#displayname').val());
+
+
+
+ //瀵瑰簲鍚庣鐨凷endMessage鍑芥暟锛屾秷鎭帴鏀跺嚱鏁�
+ work.client.sendMessage = function (message) {
+ $('#messgae').append(message + '</br>')
+ };
+
+
+
+ //鍚庣SendLogin璋冪敤鍚庯紝浜х敓鐨刲oginUser鍥炶皟
+ //work.client.loginUser = function (userlist) {
+ // reloadUser(userlist);
+ //};
+
+
+
+ //hub杩炴帴寮�鍚�
+ $.connection.hub.start().done(function () {
+ var username = $('#displayname').val();
+ //鍙戦�佷笂绾夸俊鎭�
+ work.server.sendLogin(username);
+
+ //鐐瑰嚮鎸夐挳锛屽彂閫佹秷鎭�
+ $('#send').click(function () {
+ /*var friend = $('#username').val();*/
+ var wkshpname = "绮惧伐杞﹂棿";
+ var eqpname = "璁惧01";
+ var json = [{ "code": "Q", "name": "鍛煎彨璐ㄩ噺", "children": [{ "usercode": "009", "username": "钁d箞濡�" }, { "usercode": "008", "username": "濡傝姳" }] }];
+ //璋冪敤鍚庣鍑芥暟锛屽彂閫佹寚瀹氭秷鎭�
+ work.server.sendByGroupList(username, wkshpname, eqpname, json);
+ });
+ });
+ });
+
+ //閲嶆柊鍔犺浇鐢ㄦ埛鍒楄〃
+ //var reloadUser = function () {
+ // $("#username").empty();
+ // for (i = 0; i < 5; i++) {
+ // $("#username").append("<option value=" + i + ">" + i + "</option>");
+ // }
+ //}
+ //var reloadUser = function (userlist) {
+ // $("#username").empty();
+ // for (i = 0; i < userlist.length; i++) {
+ // $("#username").append("<option value=" + userlist[i] + ">" + userlist[i] + "</option>");
+ // }
+ //}
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/1.png
new file mode 100644
index 0000000..bdf667e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/2.png
new file mode 100644
index 0000000..7d24ace
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/3.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/3.png
new file mode 100644
index 0000000..baef482
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/3.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/4.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/4.png
new file mode 100644
index 0000000..3d84684
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/4.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/5.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/5.png
new file mode 100644
index 0000000..5413e4b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/5.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/6.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/6.png
new file mode 100644
index 0000000..f923f43
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/6.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/7.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/7.png
new file mode 100644
index 0000000..9361d0b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/7.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/8.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/8.png
new file mode 100644
index 0000000..8176c73
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/8.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/9.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/9.png
new file mode 100644
index 0000000..92360e2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/9.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1.png
new file mode 100644
index 0000000..d19d940
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_1.png
new file mode 100644
index 0000000..12e078c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_2.png
new file mode 100644
index 0000000..f56699a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_1_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_2.png
new file mode 100644
index 0000000..a2a072b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3.png
new file mode 100644
index 0000000..7c775c9
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_1.png
new file mode 100644
index 0000000..3d077d7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_2.png
new file mode 100644
index 0000000..7a5e7ed
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_3_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4.png
new file mode 100644
index 0000000..b6cce43
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_1.png
new file mode 100644
index 0000000..bad5496
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_2.png
new file mode 100644
index 0000000..2db937a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_3.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_3.png
new file mode 100644
index 0000000..35e7ffa
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_3.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_4.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_4.png
new file mode 100644
index 0000000..a22f8b1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_4.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_5.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_5.png
new file mode 100644
index 0000000..c639232
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_4_5.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5.png
new file mode 100644
index 0000000..b384e80
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_1.png
new file mode 100644
index 0000000..58d115e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_2.png
new file mode 100644
index 0000000..2adfdcc
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_3.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_3.png
new file mode 100644
index 0000000..e8fa27d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_3.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_4.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_4.png
new file mode 100644
index 0000000..ad08cb7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_4.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_5.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_5.png
new file mode 100644
index 0000000..13fcc9c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_5.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_6.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_6.png
new file mode 100644
index 0000000..6aa270f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_6.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_7.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_7.png
new file mode 100644
index 0000000..197f759
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_7.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_8.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_8.png
new file mode 100644
index 0000000..66a1cd9
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_8.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_9.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_9.png
new file mode 100644
index 0000000..a183c77
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_5_9.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6.png
new file mode 100644
index 0000000..4d40ea4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_1.png
new file mode 100644
index 0000000..d05f494
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_10.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_10.png
new file mode 100644
index 0000000..91bc400
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_10.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_11.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_11.png
new file mode 100644
index 0000000..1ebb6f4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_11.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_12.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_12.png
new file mode 100644
index 0000000..ba94d5c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_12.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_13.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_13.png
new file mode 100644
index 0000000..a4ab53b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_13.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_14.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_14.png
new file mode 100644
index 0000000..6c2981e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_14.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_2.png
new file mode 100644
index 0000000..d512935
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_3.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_3.png
new file mode 100644
index 0000000..a9431b2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_3.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_4.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_4.png
new file mode 100644
index 0000000..2d2d722
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_4.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_5.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_5.png
new file mode 100644
index 0000000..8bcaccc
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_5.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_6.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_6.png
new file mode 100644
index 0000000..2353e4d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_6.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_7.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_7.png
new file mode 100644
index 0000000..23f5f22
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_7.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_8.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_8.png
new file mode 100644
index 0000000..d3397cd
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_8.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_9.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_9.png
new file mode 100644
index 0000000..6542617
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_6_9.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7.png
new file mode 100644
index 0000000..2692939
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_1.png
new file mode 100644
index 0000000..de23f64
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_2.png
new file mode 100644
index 0000000..b0dc94c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_3.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_3.png
new file mode 100644
index 0000000..50f0ac4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_3.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_4.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_4.png
new file mode 100644
index 0000000..4cc1385
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_7_4.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_8.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_8.png
new file mode 100644
index 0000000..3bb319a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_8.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/app_9.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_9.png
new file mode 100644
index 0000000..5b39989
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/app_9.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/index_1.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/index_1.png
new file mode 100644
index 0000000..07e7957
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/index_1.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Image/index_2.png b/VueWebApi/obj/Release/Package/PackageTmp/Image/index_2.png
new file mode 100644
index 0000000..89a5af0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Image/index_2.png
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.js
new file mode 100644
index 0000000..170bd60
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.js
@@ -0,0 +1,2580 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery')
+}
+
++function ($) {
+ 'use strict';
+ var version = $.fn.jquery.split(' ')[0].split('.')
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
+ }
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: transition.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#transitions
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/)
+ // ============================================================
+
+ function transitionEnd() {
+ var el = document.createElement('bootstrap')
+
+ var transEndEventNames = {
+ WebkitTransition : 'webkitTransitionEnd',
+ MozTransition : 'transitionend',
+ OTransition : 'oTransitionEnd otransitionend',
+ transition : 'transitionend'
+ }
+
+ for (var name in transEndEventNames) {
+ if (el.style[name] !== undefined) {
+ return { end: transEndEventNames[name] }
+ }
+ }
+
+ return false // explicit for ie8 ( ._.)
+ }
+
+ // https://blog.alexmaccaw.com/css-transitions
+ $.fn.emulateTransitionEnd = function (duration) {
+ var called = false
+ var $el = this
+ $(this).one('bsTransitionEnd', function () { called = true })
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+ setTimeout(callback, duration)
+ return this
+ }
+
+ $(function () {
+ $.support.transition = transitionEnd()
+
+ if (!$.support.transition) return
+
+ $.event.special.bsTransitionEnd = {
+ bindType: $.support.transition.end,
+ delegateType: $.support.transition.end,
+ handle: function (e) {
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+ }
+ }
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: alert.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#alerts
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // ALERT CLASS DEFINITION
+ // ======================
+
+ var dismiss = '[data-dismiss="alert"]'
+ var Alert = function (el) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.VERSION = '3.4.1'
+
+ Alert.TRANSITION_DURATION = 150
+
+ Alert.prototype.close = function (e) {
+ var $this = $(this)
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ selector = selector === '#' ? [] : selector
+ var $parent = $(document).find(selector)
+
+ if (e) e.preventDefault()
+
+ if (!$parent.length) {
+ $parent = $this.closest('.alert')
+ }
+
+ $parent.trigger(e = $.Event('close.bs.alert'))
+
+ if (e.isDefaultPrevented()) return
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ // detach from parent, fire event then clean up data
+ $parent.detach().trigger('closed.bs.alert').remove()
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent
+ .one('bsTransitionEnd', removeElement)
+ .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
+ removeElement()
+ }
+
+
+ // ALERT PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.alert')
+
+ if (!data) $this.data('bs.alert', (data = new Alert(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ var old = $.fn.alert
+
+ $.fn.alert = Plugin
+ $.fn.alert.Constructor = Alert
+
+
+ // ALERT NO CONFLICT
+ // =================
+
+ $.fn.alert.noConflict = function () {
+ $.fn.alert = old
+ return this
+ }
+
+
+ // ALERT DATA-API
+ // ==============
+
+ $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: button.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#buttons
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // BUTTON PUBLIC CLASS DEFINITION
+ // ==============================
+
+ var Button = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Button.DEFAULTS, options)
+ this.isLoading = false
+ }
+
+ Button.VERSION = '3.4.1'
+
+ Button.DEFAULTS = {
+ loadingText: 'loading...'
+ }
+
+ Button.prototype.setState = function (state) {
+ var d = 'disabled'
+ var $el = this.$element
+ var val = $el.is('input') ? 'val' : 'html'
+ var data = $el.data()
+
+ state += 'Text'
+
+ if (data.resetText == null) $el.data('resetText', $el[val]())
+
+ // push to event loop to allow forms to submit
+ setTimeout($.proxy(function () {
+ $el[val](data[state] == null ? this.options[state] : data[state])
+
+ if (state == 'loadingText') {
+ this.isLoading = true
+ $el.addClass(d).attr(d, d).prop(d, true)
+ } else if (this.isLoading) {
+ this.isLoading = false
+ $el.removeClass(d).removeAttr(d).prop(d, false)
+ }
+ }, this), 0)
+ }
+
+ Button.prototype.toggle = function () {
+ var changed = true
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+ if ($parent.length) {
+ var $input = this.$element.find('input')
+ if ($input.prop('type') == 'radio') {
+ if ($input.prop('checked')) changed = false
+ $parent.find('.active').removeClass('active')
+ this.$element.addClass('active')
+ } else if ($input.prop('type') == 'checkbox') {
+ if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
+ this.$element.toggleClass('active')
+ }
+ $input.prop('checked', this.$element.hasClass('active'))
+ if (changed) $input.trigger('change')
+ } else {
+ this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+ this.$element.toggleClass('active')
+ }
+ }
+
+
+ // BUTTON PLUGIN DEFINITION
+ // ========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.button')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
+
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ var old = $.fn.button
+
+ $.fn.button = Plugin
+ $.fn.button.Constructor = Button
+
+
+ // BUTTON NO CONFLICT
+ // ==================
+
+ $.fn.button.noConflict = function () {
+ $.fn.button = old
+ return this
+ }
+
+
+ // BUTTON DATA-API
+ // ===============
+
+ $(document)
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ var $btn = $(e.target).closest('.btn')
+ Plugin.call($btn, 'toggle')
+ if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
+ // Prevent double click on radios, and the double selections (so cancellation) on checkboxes
+ e.preventDefault()
+ // The target component still receive the focus
+ if ($btn.is('input,button')) $btn.trigger('focus')
+ else $btn.find('input:visible,button:visible').first().trigger('focus')
+ }
+ })
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: carousel.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#carousel
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // CAROUSEL CLASS DEFINITION
+ // =========================
+
+ var Carousel = function (element, options) {
+ this.$element = $(element)
+ this.$indicators = this.$element.find('.carousel-indicators')
+ this.options = options
+ this.paused = null
+ this.sliding = null
+ this.interval = null
+ this.$active = null
+ this.$items = null
+
+ this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+ this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+ .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
+ .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
+ }
+
+ Carousel.VERSION = '3.4.1'
+
+ Carousel.TRANSITION_DURATION = 600
+
+ Carousel.DEFAULTS = {
+ interval: 5000,
+ pause: 'hover',
+ wrap: true,
+ keyboard: true
+ }
+
+ Carousel.prototype.keydown = function (e) {
+ if (/input|textarea/i.test(e.target.tagName)) return
+ switch (e.which) {
+ case 37: this.prev(); break
+ case 39: this.next(); break
+ default: return
+ }
+
+ e.preventDefault()
+ }
+
+ Carousel.prototype.cycle = function (e) {
+ e || (this.paused = false)
+
+ this.interval && clearInterval(this.interval)
+
+ this.options.interval
+ && !this.paused
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+
+ return this
+ }
+
+ Carousel.prototype.getItemIndex = function (item) {
+ this.$items = item.parent().children('.item')
+ return this.$items.index(item || this.$active)
+ }
+
+ Carousel.prototype.getItemForDirection = function (direction, active) {
+ var activeIndex = this.getItemIndex(active)
+ var willWrap = (direction == 'prev' && activeIndex === 0)
+ || (direction == 'next' && activeIndex == (this.$items.length - 1))
+ if (willWrap && !this.options.wrap) return active
+ var delta = direction == 'prev' ? -1 : 1
+ var itemIndex = (activeIndex + delta) % this.$items.length
+ return this.$items.eq(itemIndex)
+ }
+
+ Carousel.prototype.to = function (pos) {
+ var that = this
+ var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+
+ if (pos > (this.$items.length - 1) || pos < 0) return
+
+ if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
+ if (activeIndex == pos) return this.pause().cycle()
+
+ return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
+ }
+
+ Carousel.prototype.pause = function (e) {
+ e || (this.paused = true)
+
+ if (this.$element.find('.next, .prev').length && $.support.transition) {
+ this.$element.trigger($.support.transition.end)
+ this.cycle(true)
+ }
+
+ this.interval = clearInterval(this.interval)
+
+ return this
+ }
+
+ Carousel.prototype.next = function () {
+ if (this.sliding) return
+ return this.slide('next')
+ }
+
+ Carousel.prototype.prev = function () {
+ if (this.sliding) return
+ return this.slide('prev')
+ }
+
+ Carousel.prototype.slide = function (type, next) {
+ var $active = this.$element.find('.item.active')
+ var $next = next || this.getItemForDirection(type, $active)
+ var isCycling = this.interval
+ var direction = type == 'next' ? 'left' : 'right'
+ var that = this
+
+ if ($next.hasClass('active')) return (this.sliding = false)
+
+ var relatedTarget = $next[0]
+ var slideEvent = $.Event('slide.bs.carousel', {
+ relatedTarget: relatedTarget,
+ direction: direction
+ })
+ this.$element.trigger(slideEvent)
+ if (slideEvent.isDefaultPrevented()) return
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ if (this.$indicators.length) {
+ this.$indicators.find('.active').removeClass('active')
+ var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+ $nextIndicator && $nextIndicator.addClass('active')
+ }
+
+ var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
+ if ($.support.transition && this.$element.hasClass('slide')) {
+ $next.addClass(type)
+ if (typeof $next === 'object' && $next.length) {
+ $next[0].offsetWidth // force reflow
+ }
+ $active.addClass(direction)
+ $next.addClass(direction)
+ $active
+ .one('bsTransitionEnd', function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () {
+ that.$element.trigger(slidEvent)
+ }, 0)
+ })
+ .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
+ } else {
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger(slidEvent)
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+
+ // CAROUSEL PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.carousel')
+ var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
+ var action = typeof option == 'string' ? option : options.slide
+
+ if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
+ if (typeof option == 'number') data.to(option)
+ else if (action) data[action]()
+ else if (options.interval) data.pause().cycle()
+ })
+ }
+
+ var old = $.fn.carousel
+
+ $.fn.carousel = Plugin
+ $.fn.carousel.Constructor = Carousel
+
+
+ // CAROUSEL NO CONFLICT
+ // ====================
+
+ $.fn.carousel.noConflict = function () {
+ $.fn.carousel = old
+ return this
+ }
+
+
+ // CAROUSEL DATA-API
+ // =================
+
+ var clickHandler = function (e) {
+ var $this = $(this)
+ var href = $this.attr('href')
+ if (href) {
+ href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+ }
+
+ var target = $this.attr('data-target') || href
+ var $target = $(document).find(target)
+
+ if (!$target.hasClass('carousel')) return
+
+ var options = $.extend({}, $target.data(), $this.data())
+ var slideIndex = $this.attr('data-slide-to')
+ if (slideIndex) options.interval = false
+
+ Plugin.call($target, options)
+
+ if (slideIndex) {
+ $target.data('bs.carousel').to(slideIndex)
+ }
+
+ e.preventDefault()
+ }
+
+ $(document)
+ .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+ .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+
+ $(window).on('load', function () {
+ $('[data-ride="carousel"]').each(function () {
+ var $carousel = $(this)
+ Plugin.call($carousel, $carousel.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: collapse.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#collapse
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+/* jshint latedef: false */
+
++function ($) {
+ 'use strict';
+
+ // COLLAPSE PUBLIC CLASS DEFINITION
+ // ================================
+
+ var Collapse = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
+ this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
+ '[data-toggle="collapse"][data-target="#' + element.id + '"]')
+ this.transitioning = null
+
+ if (this.options.parent) {
+ this.$parent = this.getParent()
+ } else {
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+ }
+
+ if (this.options.toggle) this.toggle()
+ }
+
+ Collapse.VERSION = '3.4.1'
+
+ Collapse.TRANSITION_DURATION = 350
+
+ Collapse.DEFAULTS = {
+ toggle: true
+ }
+
+ Collapse.prototype.dimension = function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ Collapse.prototype.show = function () {
+ if (this.transitioning || this.$element.hasClass('in')) return
+
+ var activesData
+ var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
+
+ if (actives && actives.length) {
+ activesData = actives.data('bs.collapse')
+ if (activesData && activesData.transitioning) return
+ }
+
+ var startEvent = $.Event('show.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ if (actives && actives.length) {
+ Plugin.call(actives, 'hide')
+ activesData || actives.data('bs.collapse', null)
+ }
+
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ .addClass('collapsing')[dimension](0)
+ .attr('aria-expanded', true)
+
+ this.$trigger
+ .removeClass('collapsed')
+ .attr('aria-expanded', true)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.$element
+ .removeClass('collapsing')
+ .addClass('collapse in')[dimension]('')
+ this.transitioning = 0
+ this.$element
+ .trigger('shown.bs.collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
+
+ this.$element
+ .one('bsTransitionEnd', $.proxy(complete, this))
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
+ }
+
+ Collapse.prototype.hide = function () {
+ if (this.transitioning || !this.$element.hasClass('in')) return
+
+ var startEvent = $.Event('hide.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ var dimension = this.dimension()
+
+ this.$element[dimension](this.$element[dimension]())[0].offsetHeight
+
+ this.$element
+ .addClass('collapsing')
+ .removeClass('collapse in')
+ .attr('aria-expanded', false)
+
+ this.$trigger
+ .addClass('collapsed')
+ .attr('aria-expanded', false)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.transitioning = 0
+ this.$element
+ .removeClass('collapsing')
+ .addClass('collapse')
+ .trigger('hidden.bs.collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ this.$element
+ [dimension](0)
+ .one('bsTransitionEnd', $.proxy(complete, this))
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
+ }
+
+ Collapse.prototype.toggle = function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ Collapse.prototype.getParent = function () {
+ return $(document).find(this.options.parent)
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+ .each($.proxy(function (i, element) {
+ var $element = $(element)
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+ }, this))
+ .end()
+ }
+
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+ var isOpen = $element.hasClass('in')
+
+ $element.attr('aria-expanded', isOpen)
+ $trigger
+ .toggleClass('collapsed', !isOpen)
+ .attr('aria-expanded', isOpen)
+ }
+
+ function getTargetFromTrigger($trigger) {
+ var href
+ var target = $trigger.attr('data-target')
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+ return $(document).find(target)
+ }
+
+
+ // COLLAPSE PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.collapse')
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.collapse
+
+ $.fn.collapse = Plugin
+ $.fn.collapse.Constructor = Collapse
+
+
+ // COLLAPSE NO CONFLICT
+ // ====================
+
+ $.fn.collapse.noConflict = function () {
+ $.fn.collapse = old
+ return this
+ }
+
+
+ // COLLAPSE DATA-API
+ // =================
+
+ $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
+ var $this = $(this)
+
+ if (!$this.attr('data-target')) e.preventDefault()
+
+ var $target = getTargetFromTrigger($this)
+ var data = $target.data('bs.collapse')
+ var option = data ? 'toggle' : $this.data()
+
+ Plugin.call($target, option)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // DROPDOWN CLASS DEFINITION
+ // =========================
+
+ var backdrop = '.dropdown-backdrop'
+ var toggle = '[data-toggle="dropdown"]'
+ var Dropdown = function (element) {
+ $(element).on('click.bs.dropdown', this.toggle)
+ }
+
+ Dropdown.VERSION = '3.4.1'
+
+ function getParent($this) {
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ var $parent = selector !== '#' ? $(document).find(selector) : null
+
+ return $parent && $parent.length ? $parent : $this.parent()
+ }
+
+ function clearMenus(e) {
+ if (e && e.which === 3) return
+ $(backdrop).remove()
+ $(toggle).each(function () {
+ var $this = $(this)
+ var $parent = getParent($this)
+ var relatedTarget = { relatedTarget: this }
+
+ if (!$parent.hasClass('open')) return
+
+ if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
+
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this.attr('aria-expanded', 'false')
+ $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
+ })
+ }
+
+ Dropdown.prototype.toggle = function (e) {
+ var $this = $(this)
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ clearMenus()
+
+ if (!isActive) {
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+ // if mobile we use a backdrop because click events don't delegate
+ $(document.createElement('div'))
+ .addClass('dropdown-backdrop')
+ .insertAfter($(this))
+ .on('click', clearMenus)
+ }
+
+ var relatedTarget = { relatedTarget: this }
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this
+ .trigger('focus')
+ .attr('aria-expanded', 'true')
+
+ $parent
+ .toggleClass('open')
+ .trigger($.Event('shown.bs.dropdown', relatedTarget))
+ }
+
+ return false
+ }
+
+ Dropdown.prototype.keydown = function (e) {
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
+
+ var $this = $(this)
+
+ e.preventDefault()
+ e.stopPropagation()
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ if (!isActive && e.which != 27 || isActive && e.which == 27) {
+ if (e.which == 27) $parent.find(toggle).trigger('focus')
+ return $this.trigger('click')
+ }
+
+ var desc = ' li:not(.disabled):visible a'
+ var $items = $parent.find('.dropdown-menu' + desc)
+
+ if (!$items.length) return
+
+ var index = $items.index(e.target)
+
+ if (e.which == 38 && index > 0) index-- // up
+ if (e.which == 40 && index < $items.length - 1) index++ // down
+ if (!~index) index = 0
+
+ $items.eq(index).trigger('focus')
+ }
+
+
+ // DROPDOWN PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.dropdown')
+
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ var old = $.fn.dropdown
+
+ $.fn.dropdown = Plugin
+ $.fn.dropdown.Constructor = Dropdown
+
+
+ // DROPDOWN NO CONFLICT
+ // ====================
+
+ $.fn.dropdown.noConflict = function () {
+ $.fn.dropdown = old
+ return this
+ }
+
+
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
+ // ===================================
+
+ $(document)
+ .on('click.bs.dropdown.data-api', clearMenus)
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+ .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: modal.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#modals
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // MODAL CLASS DEFINITION
+ // ======================
+
+ var Modal = function (element, options) {
+ this.options = options
+ this.$body = $(document.body)
+ this.$element = $(element)
+ this.$dialog = this.$element.find('.modal-dialog')
+ this.$backdrop = null
+ this.isShown = null
+ this.originalBodyPad = null
+ this.scrollbarWidth = 0
+ this.ignoreBackdropClick = false
+ this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom'
+
+ if (this.options.remote) {
+ this.$element
+ .find('.modal-content')
+ .load(this.options.remote, $.proxy(function () {
+ this.$element.trigger('loaded.bs.modal')
+ }, this))
+ }
+ }
+
+ Modal.VERSION = '3.4.1'
+
+ Modal.TRANSITION_DURATION = 300
+ Modal.BACKDROP_TRANSITION_DURATION = 150
+
+ Modal.DEFAULTS = {
+ backdrop: true,
+ keyboard: true,
+ show: true
+ }
+
+ Modal.prototype.toggle = function (_relatedTarget) {
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
+ }
+
+ Modal.prototype.show = function (_relatedTarget) {
+ var that = this
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+ this.$element.trigger(e)
+
+ if (this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = true
+
+ this.checkScrollbar()
+ this.setScrollbar()
+ this.$body.addClass('modal-open')
+
+ this.escape()
+ this.resize()
+
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+ this.$dialog.on('mousedown.dismiss.bs.modal', function () {
+ that.$element.one('mouseup.dismiss.bs.modal', function (e) {
+ if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
+ })
+ })
+
+ this.backdrop(function () {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+
+ if (!that.$element.parent().length) {
+ that.$element.appendTo(that.$body) // don't move modals dom position
+ }
+
+ that.$element
+ .show()
+ .scrollTop(0)
+
+ that.adjustDialog()
+
+ if (transition) {
+ that.$element[0].offsetWidth // force reflow
+ }
+
+ that.$element.addClass('in')
+
+ that.enforceFocus()
+
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+ transition ?
+ that.$dialog // wait for modal to slide in
+ .one('bsTransitionEnd', function () {
+ that.$element.trigger('focus').trigger(e)
+ })
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+ that.$element.trigger('focus').trigger(e)
+ })
+ }
+
+ Modal.prototype.hide = function (e) {
+ if (e) e.preventDefault()
+
+ e = $.Event('hide.bs.modal')
+
+ this.$element.trigger(e)
+
+ if (!this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = false
+
+ this.escape()
+ this.resize()
+
+ $(document).off('focusin.bs.modal')
+
+ this.$element
+ .removeClass('in')
+ .off('click.dismiss.bs.modal')
+ .off('mouseup.dismiss.bs.modal')
+
+ this.$dialog.off('mousedown.dismiss.bs.modal')
+
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$element
+ .one('bsTransitionEnd', $.proxy(this.hideModal, this))
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+ this.hideModal()
+ }
+
+ Modal.prototype.enforceFocus = function () {
+ $(document)
+ .off('focusin.bs.modal') // guard against infinite focus loop
+ .on('focusin.bs.modal', $.proxy(function (e) {
+ if (document !== e.target &&
+ this.$element[0] !== e.target &&
+ !this.$element.has(e.target).length) {
+ this.$element.trigger('focus')
+ }
+ }, this))
+ }
+
+ Modal.prototype.escape = function () {
+ if (this.isShown && this.options.keyboard) {
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
+ e.which == 27 && this.hide()
+ }, this))
+ } else if (!this.isShown) {
+ this.$element.off('keydown.dismiss.bs.modal')
+ }
+ }
+
+ Modal.prototype.resize = function () {
+ if (this.isShown) {
+ $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
+ } else {
+ $(window).off('resize.bs.modal')
+ }
+ }
+
+ Modal.prototype.hideModal = function () {
+ var that = this
+ this.$element.hide()
+ this.backdrop(function () {
+ that.$body.removeClass('modal-open')
+ that.resetAdjustments()
+ that.resetScrollbar()
+ that.$element.trigger('hidden.bs.modal')
+ })
+ }
+
+ Modal.prototype.removeBackdrop = function () {
+ this.$backdrop && this.$backdrop.remove()
+ this.$backdrop = null
+ }
+
+ Modal.prototype.backdrop = function (callback) {
+ var that = this
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+ if (this.isShown && this.options.backdrop) {
+ var doAnimate = $.support.transition && animate
+
+ this.$backdrop = $(document.createElement('div'))
+ .addClass('modal-backdrop ' + animate)
+ .appendTo(this.$body)
+
+ this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
+ if (this.ignoreBackdropClick) {
+ this.ignoreBackdropClick = false
+ return
+ }
+ if (e.target !== e.currentTarget) return
+ this.options.backdrop == 'static'
+ ? this.$element[0].focus()
+ : this.hide()
+ }, this))
+
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+ this.$backdrop.addClass('in')
+
+ if (!callback) return
+
+ doAnimate ?
+ this.$backdrop
+ .one('bsTransitionEnd', callback)
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+ callback()
+
+ } else if (!this.isShown && this.$backdrop) {
+ this.$backdrop.removeClass('in')
+
+ var callbackRemove = function () {
+ that.removeBackdrop()
+ callback && callback()
+ }
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$backdrop
+ .one('bsTransitionEnd', callbackRemove)
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+ callbackRemove()
+
+ } else if (callback) {
+ callback()
+ }
+ }
+
+ // these following methods are used to handle overflowing modals
+
+ Modal.prototype.handleUpdate = function () {
+ this.adjustDialog()
+ }
+
+ Modal.prototype.adjustDialog = function () {
+ var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+
+ this.$element.css({
+ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
+ paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
+ })
+ }
+
+ Modal.prototype.resetAdjustments = function () {
+ this.$element.css({
+ paddingLeft: '',
+ paddingRight: ''
+ })
+ }
+
+ Modal.prototype.checkScrollbar = function () {
+ var fullWindowWidth = window.innerWidth
+ if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
+ var documentElementRect = document.documentElement.getBoundingClientRect()
+ fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
+ }
+ this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
+ this.scrollbarWidth = this.measureScrollbar()
+ }
+
+ Modal.prototype.setScrollbar = function () {
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
+ this.originalBodyPad = document.body.style.paddingRight || ''
+ var scrollbarWidth = this.scrollbarWidth
+ if (this.bodyIsOverflowing) {
+ this.$body.css('padding-right', bodyPad + scrollbarWidth)
+ $(this.fixedContent).each(function (index, element) {
+ var actualPadding = element.style.paddingRight
+ var calculatedPadding = $(element).css('padding-right')
+ $(element)
+ .data('padding-right', actualPadding)
+ .css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px')
+ })
+ }
+ }
+
+ Modal.prototype.resetScrollbar = function () {
+ this.$body.css('padding-right', this.originalBodyPad)
+ $(this.fixedContent).each(function (index, element) {
+ var padding = $(element).data('padding-right')
+ $(element).removeData('padding-right')
+ element.style.paddingRight = padding ? padding : ''
+ })
+ }
+
+ Modal.prototype.measureScrollbar = function () { // thx walsh
+ var scrollDiv = document.createElement('div')
+ scrollDiv.className = 'modal-scrollbar-measure'
+ this.$body.append(scrollDiv)
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+ this.$body[0].removeChild(scrollDiv)
+ return scrollbarWidth
+ }
+
+
+ // MODAL PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option, _relatedTarget) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.modal')
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option](_relatedTarget)
+ else if (options.show) data.show(_relatedTarget)
+ })
+ }
+
+ var old = $.fn.modal
+
+ $.fn.modal = Plugin
+ $.fn.modal.Constructor = Modal
+
+
+ // MODAL NO CONFLICT
+ // =================
+
+ $.fn.modal.noConflict = function () {
+ $.fn.modal = old
+ return this
+ }
+
+
+ // MODAL DATA-API
+ // ==============
+
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+ var $this = $(this)
+ var href = $this.attr('href')
+ var target = $this.attr('data-target') ||
+ (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+
+ var $target = $(document).find(target)
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+ if ($this.is('a')) e.preventDefault()
+
+ $target.one('show.bs.modal', function (showEvent) {
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
+ $target.one('hidden.bs.modal', function () {
+ $this.is(':visible') && $this.trigger('focus')
+ })
+ })
+ Plugin.call($target, option, this)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
++function ($) {
+ 'use strict';
+
+ var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']
+
+ var uriAttrs = [
+ 'background',
+ 'cite',
+ 'href',
+ 'itemtype',
+ 'longdesc',
+ 'poster',
+ 'src',
+ 'xlink:href'
+ ]
+
+ var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
+
+ var DefaultWhitelist = {
+ // Global attributes allowed on any supplied element below.
+ '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
+ a: ['target', 'href', 'title', 'rel'],
+ area: [],
+ b: [],
+ br: [],
+ col: [],
+ code: [],
+ div: [],
+ em: [],
+ hr: [],
+ h1: [],
+ h2: [],
+ h3: [],
+ h4: [],
+ h5: [],
+ h6: [],
+ i: [],
+ img: ['src', 'alt', 'title', 'width', 'height'],
+ li: [],
+ ol: [],
+ p: [],
+ pre: [],
+ s: [],
+ small: [],
+ span: [],
+ sub: [],
+ sup: [],
+ strong: [],
+ u: [],
+ ul: []
+ }
+
+ /**
+ * A pattern that recognizes a commonly useful subset of URLs that are safe.
+ *
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+ */
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
+
+ /**
+ * A pattern that matches safe data URLs. Only matches image, video and audio types.
+ *
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
+ */
+ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
+
+ function allowedAttribute(attr, allowedAttributeList) {
+ var attrName = attr.nodeName.toLowerCase()
+
+ if ($.inArray(attrName, allowedAttributeList) !== -1) {
+ if ($.inArray(attrName, uriAttrs) !== -1) {
+ return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))
+ }
+
+ return true
+ }
+
+ var regExp = $(allowedAttributeList).filter(function (index, value) {
+ return value instanceof RegExp
+ })
+
+ // Check if a regular expression validates the attribute.
+ for (var i = 0, l = regExp.length; i < l; i++) {
+ if (attrName.match(regExp[i])) {
+ return true
+ }
+ }
+
+ return false
+ }
+
+ function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
+ if (unsafeHtml.length === 0) {
+ return unsafeHtml
+ }
+
+ if (sanitizeFn && typeof sanitizeFn === 'function') {
+ return sanitizeFn(unsafeHtml)
+ }
+
+ // IE 8 and below don't support createHTMLDocument
+ if (!document.implementation || !document.implementation.createHTMLDocument) {
+ return unsafeHtml
+ }
+
+ var createdDocument = document.implementation.createHTMLDocument('sanitization')
+ createdDocument.body.innerHTML = unsafeHtml
+
+ var whitelistKeys = $.map(whiteList, function (el, i) { return i })
+ var elements = $(createdDocument.body).find('*')
+
+ for (var i = 0, len = elements.length; i < len; i++) {
+ var el = elements[i]
+ var elName = el.nodeName.toLowerCase()
+
+ if ($.inArray(elName, whitelistKeys) === -1) {
+ el.parentNode.removeChild(el)
+
+ continue
+ }
+
+ var attributeList = $.map(el.attributes, function (el) { return el })
+ var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])
+
+ for (var j = 0, len2 = attributeList.length; j < len2; j++) {
+ if (!allowedAttribute(attributeList[j], whitelistedAttributes)) {
+ el.removeAttribute(attributeList[j].nodeName)
+ }
+ }
+ }
+
+ return createdDocument.body.innerHTML
+ }
+
+ // TOOLTIP PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Tooltip = function (element, options) {
+ this.type = null
+ this.options = null
+ this.enabled = null
+ this.timeout = null
+ this.hoverState = null
+ this.$element = null
+ this.inState = null
+
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.VERSION = '3.4.1'
+
+ Tooltip.TRANSITION_DURATION = 150
+
+ Tooltip.DEFAULTS = {
+ animation: true,
+ placement: 'top',
+ selector: false,
+ template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ container: false,
+ viewport: {
+ selector: 'body',
+ padding: 0
+ },
+ sanitize : true,
+ sanitizeFn : null,
+ whiteList : DefaultWhitelist
+ }
+
+ Tooltip.prototype.init = function (type, element, options) {
+ this.enabled = true
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+ this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
+ this.inState = { click: false, hover: false, focus: false }
+
+ if (this.$element[0] instanceof document.constructor && !this.options.selector) {
+ throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
+ }
+
+ var triggers = this.options.trigger.split(' ')
+
+ for (var i = triggers.length; i--;) {
+ var trigger = triggers[i]
+
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+ } else if (trigger != 'manual') {
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+ }
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ Tooltip.prototype.getDefaults = function () {
+ return Tooltip.DEFAULTS
+ }
+
+ Tooltip.prototype.getOptions = function (options) {
+ var dataAttributes = this.$element.data()
+
+ for (var dataAttr in dataAttributes) {
+ if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {
+ delete dataAttributes[dataAttr]
+ }
+ }
+
+ options = $.extend({}, this.getDefaults(), dataAttributes, options)
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay,
+ hide: options.delay
+ }
+ }
+
+ if (options.sanitize) {
+ options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn)
+ }
+
+ return options
+ }
+
+ Tooltip.prototype.getDelegateOptions = function () {
+ var options = {}
+ var defaults = this.getDefaults()
+
+ this._options && $.each(this._options, function (key, value) {
+ if (defaults[key] != value) options[key] = value
+ })
+
+ return options
+ }
+
+ Tooltip.prototype.enter = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type)
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+ $(obj.currentTarget).data('bs.' + this.type, self)
+ }
+
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
+ }
+
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
+ self.hoverState = 'in'
+ return
+ }
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'in'
+
+ if (!self.options.delay || !self.options.delay.show) return self.show()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'in') self.show()
+ }, self.options.delay.show)
+ }
+
+ Tooltip.prototype.isInStateTrue = function () {
+ for (var key in this.inState) {
+ if (this.inState[key]) return true
+ }
+
+ return false
+ }
+
+ Tooltip.prototype.leave = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type)
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+ $(obj.currentTarget).data('bs.' + this.type, self)
+ }
+
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
+ }
+
+ if (self.isInStateTrue()) return
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'out'
+
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'out') self.hide()
+ }, self.options.delay.hide)
+ }
+
+ Tooltip.prototype.show = function () {
+ var e = $.Event('show.bs.' + this.type)
+
+ if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e)
+
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
+ if (e.isDefaultPrevented() || !inDom) return
+ var that = this
+
+ var $tip = this.tip()
+
+ var tipId = this.getUID(this.type)
+
+ this.setContent()
+ $tip.attr('id', tipId)
+ this.$element.attr('aria-describedby', tipId)
+
+ if (this.options.animation) $tip.addClass('fade')
+
+ var placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ var autoToken = /\s?auto?\s?/i
+ var autoPlace = autoToken.test(placement)
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+ $tip
+ .detach()
+ .css({ top: 0, left: 0, display: 'block' })
+ .addClass(placement)
+ .data('bs.' + this.type, this)
+
+ this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element)
+ this.$element.trigger('inserted.bs.' + this.type)
+
+ var pos = this.getPosition()
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (autoPlace) {
+ var orgPlacement = placement
+ var viewportDim = this.getPosition(this.$viewport)
+
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
+ placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
+ placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
+ placement
+
+ $tip
+ .removeClass(orgPlacement)
+ .addClass(placement)
+ }
+
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+ this.applyPlacement(calculatedOffset, placement)
+
+ var complete = function () {
+ var prevHoverState = that.hoverState
+ that.$element.trigger('shown.bs.' + that.type)
+ that.hoverState = null
+
+ if (prevHoverState == 'out') that.leave(that)
+ }
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete()
+ }
+ }
+
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
+ var $tip = this.tip()
+ var width = $tip[0].offsetWidth
+ var height = $tip[0].offsetHeight
+
+ // manually read margins because getBoundingClientRect includes difference
+ var marginTop = parseInt($tip.css('margin-top'), 10)
+ var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+ // we must check for NaN for ie 8/9
+ if (isNaN(marginTop)) marginTop = 0
+ if (isNaN(marginLeft)) marginLeft = 0
+
+ offset.top += marginTop
+ offset.left += marginLeft
+
+ // $.fn.offset doesn't round pixel values
+ // so we use setOffset directly with our own function B-0
+ $.offset.setOffset($tip[0], $.extend({
+ using: function (props) {
+ $tip.css({
+ top: Math.round(props.top),
+ left: Math.round(props.left)
+ })
+ }
+ }, offset), 0)
+
+ $tip.addClass('in')
+
+ // check to see if placing tip in new offset caused the tip to resize itself
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (placement == 'top' && actualHeight != height) {
+ offset.top = offset.top + height - actualHeight
+ }
+
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+
+ if (delta.left) offset.left += delta.left
+ else offset.top += delta.top
+
+ var isVertical = /top|bottom/.test(placement)
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+
+ $tip.offset(offset)
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
+ }
+
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+ this.arrow()
+ .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+ .css(isVertical ? 'top' : 'left', '')
+ }
+
+ Tooltip.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+
+ if (this.options.html) {
+ if (this.options.sanitize) {
+ title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn)
+ }
+
+ $tip.find('.tooltip-inner').html(title)
+ } else {
+ $tip.find('.tooltip-inner').text(title)
+ }
+
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ Tooltip.prototype.hide = function (callback) {
+ var that = this
+ var $tip = $(this.$tip)
+ var e = $.Event('hide.bs.' + this.type)
+
+ function complete() {
+ if (that.hoverState != 'in') $tip.detach()
+ if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
+ that.$element
+ .removeAttr('aria-describedby')
+ .trigger('hidden.bs.' + that.type)
+ }
+ callback && callback()
+ }
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ $tip.removeClass('in')
+
+ $.support.transition && $tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete()
+
+ this.hoverState = null
+
+ return this
+ }
+
+ Tooltip.prototype.fixTitle = function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+ }
+ }
+
+ Tooltip.prototype.hasContent = function () {
+ return this.getTitle()
+ }
+
+ Tooltip.prototype.getPosition = function ($element) {
+ $element = $element || this.$element
+
+ var el = $element[0]
+ var isBody = el.tagName == 'BODY'
+
+ var elRect = el.getBoundingClientRect()
+ if (elRect.width == null) {
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+ }
+ var isSvg = window.SVGElement && el instanceof window.SVGElement
+ // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.
+ // See https://github.com/twbs/bootstrap/issues/20280
+ var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
+ }
+
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+
+ }
+
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+ var delta = { top: 0, left: 0 }
+ if (!this.$viewport) return delta
+
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
+ var viewportDimensions = this.getPosition(this.$viewport)
+
+ if (/right|left/.test(placement)) {
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
+ delta.top = viewportDimensions.top - topEdgeOffset
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+ }
+ } else {
+ var leftEdgeOffset = pos.left - viewportPadding
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+ delta.left = viewportDimensions.left - leftEdgeOffset
+ } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+ }
+ }
+
+ return delta
+ }
+
+ Tooltip.prototype.getTitle = function () {
+ var title
+ var $e = this.$element
+ var o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ return title
+ }
+
+ Tooltip.prototype.getUID = function (prefix) {
+ do prefix += ~~(Math.random() * 1000000)
+ while (document.getElementById(prefix))
+ return prefix
+ }
+
+ Tooltip.prototype.tip = function () {
+ if (!this.$tip) {
+ this.$tip = $(this.options.template)
+ if (this.$tip.length != 1) {
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
+ }
+ }
+ return this.$tip
+ }
+
+ Tooltip.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
+ }
+
+ Tooltip.prototype.enable = function () {
+ this.enabled = true
+ }
+
+ Tooltip.prototype.disable = function () {
+ this.enabled = false
+ }
+
+ Tooltip.prototype.toggleEnabled = function () {
+ this.enabled = !this.enabled
+ }
+
+ Tooltip.prototype.toggle = function (e) {
+ var self = this
+ if (e) {
+ self = $(e.currentTarget).data('bs.' + this.type)
+ if (!self) {
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions())
+ $(e.currentTarget).data('bs.' + this.type, self)
+ }
+ }
+
+ if (e) {
+ self.inState.click = !self.inState.click
+ if (self.isInStateTrue()) self.enter(self)
+ else self.leave(self)
+ } else {
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+ }
+ }
+
+ Tooltip.prototype.destroy = function () {
+ var that = this
+ clearTimeout(this.timeout)
+ this.hide(function () {
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
+ if (that.$tip) {
+ that.$tip.detach()
+ }
+ that.$tip = null
+ that.$arrow = null
+ that.$viewport = null
+ that.$element = null
+ })
+ }
+
+ Tooltip.prototype.sanitizeHtml = function (unsafeHtml) {
+ return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn)
+ }
+
+ // TOOLTIP PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tooltip')
+ var options = typeof option == 'object' && option
+
+ if (!data && /destroy|hide/.test(option)) return
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.tooltip
+
+ $.fn.tooltip = Plugin
+ $.fn.tooltip.Constructor = Tooltip
+
+
+ // TOOLTIP NO CONFLICT
+ // ===================
+
+ $.fn.tooltip.noConflict = function () {
+ $.fn.tooltip = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: popover.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // POPOVER PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Popover = function (element, options) {
+ this.init('popover', element, options)
+ }
+
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+ Popover.VERSION = '3.4.1'
+
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+ })
+
+
+ // NOTE: POPOVER EXTENDS tooltip.js
+ // ================================
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+ Popover.prototype.constructor = Popover
+
+ Popover.prototype.getDefaults = function () {
+ return Popover.DEFAULTS
+ }
+
+ Popover.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+ var content = this.getContent()
+
+ if (this.options.html) {
+ var typeContent = typeof content
+
+ if (this.options.sanitize) {
+ title = this.sanitizeHtml(title)
+
+ if (typeContent === 'string') {
+ content = this.sanitizeHtml(content)
+ }
+ }
+
+ $tip.find('.popover-title').html(title)
+ $tip.find('.popover-content').children().detach().end()[
+ typeContent === 'string' ? 'html' : 'append'
+ ](content)
+ } else {
+ $tip.find('.popover-title').text(title)
+ $tip.find('.popover-content').children().detach().end().text(content)
+ }
+
+ $tip.removeClass('fade top bottom left right in')
+
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+ // this manually by checking the contents.
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+ }
+
+ Popover.prototype.hasContent = function () {
+ return this.getTitle() || this.getContent()
+ }
+
+ Popover.prototype.getContent = function () {
+ var $e = this.$element
+ var o = this.options
+
+ return $e.attr('data-content')
+ || (typeof o.content == 'function' ?
+ o.content.call($e[0]) :
+ o.content)
+ }
+
+ Popover.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
+ }
+
+
+ // POPOVER PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.popover')
+ var options = typeof option == 'object' && option
+
+ if (!data && /destroy|hide/.test(option)) return
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.popover
+
+ $.fn.popover = Plugin
+ $.fn.popover.Constructor = Popover
+
+
+ // POPOVER NO CONFLICT
+ // ===================
+
+ $.fn.popover.noConflict = function () {
+ $.fn.popover = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // SCROLLSPY CLASS DEFINITION
+ // ==========================
+
+ function ScrollSpy(element, options) {
+ this.$body = $(document.body)
+ this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
+ this.selector = (this.options.target || '') + ' .nav li > a'
+ this.offsets = []
+ this.targets = []
+ this.activeTarget = null
+ this.scrollHeight = 0
+
+ this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
+ this.refresh()
+ this.process()
+ }
+
+ ScrollSpy.VERSION = '3.4.1'
+
+ ScrollSpy.DEFAULTS = {
+ offset: 10
+ }
+
+ ScrollSpy.prototype.getScrollHeight = function () {
+ return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
+ }
+
+ ScrollSpy.prototype.refresh = function () {
+ var that = this
+ var offsetMethod = 'offset'
+ var offsetBase = 0
+
+ this.offsets = []
+ this.targets = []
+ this.scrollHeight = this.getScrollHeight()
+
+ if (!$.isWindow(this.$scrollElement[0])) {
+ offsetMethod = 'position'
+ offsetBase = this.$scrollElement.scrollTop()
+ }
+
+ this.$body
+ .find(this.selector)
+ .map(function () {
+ var $el = $(this)
+ var href = $el.data('target') || $el.attr('href')
+ var $href = /^#./.test(href) && $(href)
+
+ return ($href
+ && $href.length
+ && $href.is(':visible')
+ && [[$href[offsetMethod]().top + offsetBase, href]]) || null
+ })
+ .sort(function (a, b) { return a[0] - b[0] })
+ .each(function () {
+ that.offsets.push(this[0])
+ that.targets.push(this[1])
+ })
+ }
+
+ ScrollSpy.prototype.process = function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+ var scrollHeight = this.getScrollHeight()
+ var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
+ var offsets = this.offsets
+ var targets = this.targets
+ var activeTarget = this.activeTarget
+ var i
+
+ if (this.scrollHeight != scrollHeight) {
+ this.refresh()
+ }
+
+ if (scrollTop >= maxScroll) {
+ return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+ }
+
+ if (activeTarget && scrollTop < offsets[0]) {
+ this.activeTarget = null
+ return this.clear()
+ }
+
+ for (i = offsets.length; i--;) {
+ activeTarget != targets[i]
+ && scrollTop >= offsets[i]
+ && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
+ && this.activate(targets[i])
+ }
+ }
+
+ ScrollSpy.prototype.activate = function (target) {
+ this.activeTarget = target
+
+ this.clear()
+
+ var selector = this.selector +
+ '[data-target="' + target + '"],' +
+ this.selector + '[href="' + target + '"]'
+
+ var active = $(selector)
+ .parents('li')
+ .addClass('active')
+
+ if (active.parent('.dropdown-menu').length) {
+ active = active
+ .closest('li.dropdown')
+ .addClass('active')
+ }
+
+ active.trigger('activate.bs.scrollspy')
+ }
+
+ ScrollSpy.prototype.clear = function () {
+ $(this.selector)
+ .parentsUntil(this.options.target, '.active')
+ .removeClass('active')
+ }
+
+
+ // SCROLLSPY PLUGIN DEFINITION
+ // ===========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.scrollspy')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.scrollspy
+
+ $.fn.scrollspy = Plugin
+ $.fn.scrollspy.Constructor = ScrollSpy
+
+
+ // SCROLLSPY NO CONFLICT
+ // =====================
+
+ $.fn.scrollspy.noConflict = function () {
+ $.fn.scrollspy = old
+ return this
+ }
+
+
+ // SCROLLSPY DATA-API
+ // ==================
+
+ $(window).on('load.bs.scrollspy.data-api', function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ Plugin.call($spy, $spy.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tab.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#tabs
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // TAB CLASS DEFINITION
+ // ====================
+
+ var Tab = function (element) {
+ // jscs:disable requireDollarBeforejQueryAssignment
+ this.element = $(element)
+ // jscs:enable requireDollarBeforejQueryAssignment
+ }
+
+ Tab.VERSION = '3.4.1'
+
+ Tab.TRANSITION_DURATION = 150
+
+ Tab.prototype.show = function () {
+ var $this = this.element
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
+ var selector = $this.data('target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ if ($this.parent('li').hasClass('active')) return
+
+ var $previous = $ul.find('.active:last a')
+ var hideEvent = $.Event('hide.bs.tab', {
+ relatedTarget: $this[0]
+ })
+ var showEvent = $.Event('show.bs.tab', {
+ relatedTarget: $previous[0]
+ })
+
+ $previous.trigger(hideEvent)
+ $this.trigger(showEvent)
+
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
+
+ var $target = $(document).find(selector)
+
+ this.activate($this.closest('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $previous.trigger({
+ type: 'hidden.bs.tab',
+ relatedTarget: $this[0]
+ })
+ $this.trigger({
+ type: 'shown.bs.tab',
+ relatedTarget: $previous[0]
+ })
+ })
+ }
+
+ Tab.prototype.activate = function (element, container, callback) {
+ var $active = container.find('> .active')
+ var transition = callback
+ && $.support.transition
+ && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', false)
+
+ element
+ .addClass('active')
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if (element.parent('.dropdown-menu').length) {
+ element
+ .closest('li.dropdown')
+ .addClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
+ }
+
+ callback && callback()
+ }
+
+ $active.length && transition ?
+ $active
+ .one('bsTransitionEnd', next)
+ .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
+ next()
+
+ $active.removeClass('in')
+ }
+
+
+ // TAB PLUGIN DEFINITION
+ // =====================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tab')
+
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.tab
+
+ $.fn.tab = Plugin
+ $.fn.tab.Constructor = Tab
+
+
+ // TAB NO CONFLICT
+ // ===============
+
+ $.fn.tab.noConflict = function () {
+ $.fn.tab = old
+ return this
+ }
+
+
+ // TAB DATA-API
+ // ============
+
+ var clickHandler = function (e) {
+ e.preventDefault()
+ Plugin.call($(this), 'show')
+ }
+
+ $(document)
+ .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+ .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: affix.js v3.4.1
+ * https://getbootstrap.com/docs/3.4/javascript/#affix
+ * ========================================================================
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // AFFIX CLASS DEFINITION
+ // ======================
+
+ var Affix = function (element, options) {
+ this.options = $.extend({}, Affix.DEFAULTS, options)
+
+ var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target)
+
+ this.$target = target
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
+
+ this.$element = $(element)
+ this.affixed = null
+ this.unpin = null
+ this.pinnedOffset = null
+
+ this.checkPosition()
+ }
+
+ Affix.VERSION = '3.4.1'
+
+ Affix.RESET = 'affix affix-top affix-bottom'
+
+ Affix.DEFAULTS = {
+ offset: 0,
+ target: window
+ }
+
+ Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ var targetHeight = this.$target.height()
+
+ if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+ if (this.affixed == 'bottom') {
+ if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+ return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+ }
+
+ var initializing = this.affixed == null
+ var colliderTop = initializing ? scrollTop : position.top
+ var colliderHeight = initializing ? targetHeight : height
+
+ if (offsetTop != null && scrollTop <= offsetTop) return 'top'
+ if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+ return false
+ }
+
+ Affix.prototype.getPinnedOffset = function () {
+ if (this.pinnedOffset) return this.pinnedOffset
+ this.$element.removeClass(Affix.RESET).addClass('affix')
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ return (this.pinnedOffset = position.top - scrollTop)
+ }
+
+ Affix.prototype.checkPositionWithEventLoop = function () {
+ setTimeout($.proxy(this.checkPosition, this), 1)
+ }
+
+ Affix.prototype.checkPosition = function () {
+ if (!this.$element.is(':visible')) return
+
+ var height = this.$element.height()
+ var offset = this.options.offset
+ var offsetTop = offset.top
+ var offsetBottom = offset.bottom
+ var scrollHeight = Math.max($(document).height(), $(document.body).height())
+
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
+ if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+
+ var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+
+ if (this.affixed != affix) {
+ if (this.unpin != null) this.$element.css('top', '')
+
+ var affixType = 'affix' + (affix ? '-' + affix : '')
+ var e = $.Event(affixType + '.bs.affix')
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ this.affixed = affix
+ this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+
+ this.$element
+ .removeClass(Affix.RESET)
+ .addClass(affixType)
+ .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+ }
+
+ if (affix == 'bottom') {
+ this.$element.offset({
+ top: scrollHeight - height - offsetBottom
+ })
+ }
+ }
+
+
+ // AFFIX PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.affix')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.affix
+
+ $.fn.affix = Plugin
+ $.fn.affix.Constructor = Affix
+
+
+ // AFFIX NO CONFLICT
+ // =================
+
+ $.fn.affix.noConflict = function () {
+ $.fn.affix = old
+ return this
+ }
+
+
+ // AFFIX DATA-API
+ // ==============
+
+ $(window).on('load', function () {
+ $('[data-spy="affix"]').each(function () {
+ var $spy = $(this)
+ var data = $spy.data()
+
+ data.offset = data.offset || {}
+
+ if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+ if (data.offsetTop != null) data.offset.top = data.offsetTop
+
+ Plugin.call($spy, data)
+ })
+ })
+
+}(jQuery);
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.min.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.min.js
new file mode 100644
index 0000000..eb0a8b4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(n){"use strict";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){"use strict";var e='[data-dismiss="alert"]',a=function(t){s(t).on("click",e,this.close)};a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),i="#"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.closest(".alert")),o.trigger(t=s.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),s.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new a(this)),"string"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on("click.bs.alert.data-api",e,a.prototype.close)}(jQuery),function(s){"use strict";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new n(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}n.VERSION="3.4.1",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",n=i.data();t+="Text",null==n.resetText&&i.data("resetText",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=s(t.target).closest(".btn");i.call(e,"toggle"),s(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),e.is("input,button")?e.trigger("focus"):e.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){s(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){"use strict";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",p.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",p.proxy(this.pause,this)).on("mouseleave.bs.carousel",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data("bs.carousel"),i=p.extend({},c.DEFAULTS,t.data(),"object"==typeof n&&n),o="string"==typeof n?n:i.slide;e||t.data("bs.carousel",e=new c(this,i)),"number"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION="3.4.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?"next":"prev",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(t,e){var i=this.$element.find(".item.active"),o=e||this.getItemForDirection(t,i),n=this.interval,s="next"==t?"left":"right",a=this;if(o.hasClass("active"))return this.sliding=!1;var r=o[0],l=p.Event("slide.bs.carousel",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass("active")}var d=p.Event("slid.bs.carousel",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass("slide")?(o.addClass(t),"object"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr("href");i&&(i=i.replace(/.*(?=#[^\s]+$)/,""));var o=e.attr("data-target")||i,n=p(document).find(o);if(n.hasClass("carousel")){var s=p.extend({},n.data(),e.data()),a=e.attr("data-slide-to");a&&(s.interval=!1),r.call(n,s),a&&n.data("bs.carousel").to(a),t.preventDefault()}};p(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),p(window).on("load",function(){p('[data-ride="carousel"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){"use strict";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr("data-target")||(e=t.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data("bs.collapse"),i=a.extend({},r.DEFAULTS,t.data(),"object"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data("bs.collapse",e=new r(this,i)),"string"==typeof o&&e[o]()})}r.VERSION="3.4.1",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(t=e.data("bs.collapse"))&&t.transitioning)){var i=a.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,"hide"),t||e.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var n=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return n.call(this);var s=a.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=a.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!a.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e=a(this);e.attr("data-target")||t.preventDefault();var i=n(e),o=i.data("bs.collapse")?"toggle":e.data();l.call(i,o)})}(jQuery),function(a){"use strict";var r='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i="#"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(".dropdown-backdrop").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass("open")&&(o&&"click"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event("hide.bs.dropdown",i)),o.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",i)))))}))}o.VERSION="3.4.1",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(s(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",s);var n={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(a.Event("shown.bs.dropdown",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger("focus"),e.trigger("click");var n=i.find(".dropdown-menu li:not(.disabled):visible a");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger("focus")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new o(this)),"string"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on("click.bs.dropdown.data-api",s).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),function(a){"use strict";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data("bs.modal"),i=a.extend({},s.DEFAULTS,t.data(),"object"==typeof o&&o);e||t.data("bs.modal",e=new s(this,i)),"string"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION="3.4.1",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:i});t?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger("focus").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},s.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css("padding-right");a(e).data("padding-right",i).css("padding-right",parseFloat(o)+n+"px")}))},s.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data("padding-right");a(e).removeData("padding-right"),e.style.paddingRight=i||""})},s.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=a(this),i=e.attr("href"),o=e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,""),n=a(document).find(o),s=n.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is("a")&&t.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),r.call(n,s,this)})}(jQuery),function(g){"use strict";var o=["sanitize","whiteList","sanitizeFn"],a=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],t={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&"function"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument("sanitization");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find("*"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e["*"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};m.VERSION="3.4.1",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d<c.top?"bottom":"right"==s&&l.right+h>c.width?"left":"left"==s&&l.left-h<c.left?"right":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass("in");var r=i[0].offsetWidth,l=i[0].offsetHeight;"top"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(".tooltip-inner").html(e)):t.find(".tooltip-inner").text(e),t.removeClass("fade in top bottom left right")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass("in"),g.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i="BODY"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=s(e).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on("load.bs.scrollspy.data-api",function(){s('[data-spy="scroll"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){"use strict";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data("bs.tab");e||t.data("bs.tab",e=new a(this)),"string"==typeof i&&e[i]()})}a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=e.find(".active:last a"),n=r.Event("hide.bs.tab",{relatedTarget:t[0]}),s=r.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest("li"),e),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find("> .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?"top":null!=o&&t-o<=l+(r?a:e)&&"bottom"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());"object"!=typeof e&&(o=i=e),"function"==typeof i&&(i=e.top(this.$element)),"function"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var a="affix"+(s?"-"+s:""),r=l.Event(a+".bs.affix");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on("load",function(){l('[data-spy="affix"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.js
new file mode 100644
index 0000000..773ad95
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.js
@@ -0,0 +1,10598 @@
+/*!
+ * jQuery JavaScript Library v3.4.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2019-05-01T21:04Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+ // Support: Chrome <=57, Firefox <=52
+ // In some browsers, typeof returns "function" for HTML <object> elements
+ // (i.e., `typeof document.createElement( "object" ) === "function"`).
+ // We don't want to classify *any* DOM node as a function.
+ return typeof obj === "function" && typeof obj.nodeType !== "number";
+ };
+
+
+var isWindow = function isWindow( obj ) {
+ return obj != null && obj === obj.window;
+ };
+
+
+
+
+ var preservedScriptAttributes = {
+ type: true,
+ src: true,
+ nonce: true,
+ noModule: true
+ };
+
+ function DOMEval( code, node, doc ) {
+ doc = doc || document;
+
+ var i, val,
+ script = doc.createElement( "script" );
+
+ script.text = code;
+ if ( node ) {
+ for ( i in preservedScriptAttributes ) {
+
+ // Support: Firefox 64+, Edge 18+
+ // Some browsers don't support the "nonce" property on scripts.
+ // On the other hand, just using `getAttribute` is not enough as
+ // the `nonce` attribute is reset to an empty string whenever it
+ // becomes browsing-context connected.
+ // See https://github.com/whatwg/html/issues/2369
+ // See https://html.spec.whatwg.org/#nonce-attributes
+ // The `node.getAttribute` check was added for the sake of
+ // `jQuery.globalEval` so that it can fake a nonce-containing node
+ // via an object.
+ val = node[ i ] || node.getAttribute && node.getAttribute( i );
+ if ( val ) {
+ script.setAttribute( i, val );
+ }
+ }
+ }
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+
+
+function toType( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.4.1",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android <=4.0 only
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+
+ // Return all the elements in a clean array
+ if ( num == null ) {
+ return slice.call( this );
+ }
+
+ // Return just the one element from the set
+ return num < 0 ? this[ num + this.length ] : this[ num ];
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ copy = options[ name ];
+
+ // Prevent Object.prototype pollution
+ // Prevent never-ending loop
+ if ( name === "__proto__" || target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
+ src = target[ name ];
+
+ // Ensure proper type for the source value
+ if ( copyIsArray && !Array.isArray( src ) ) {
+ clone = [];
+ } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
+ clone = {};
+ } else {
+ clone = src;
+ }
+ copyIsArray = false;
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code, options ) {
+ DOMEval( code, { nonce: options && options.nonce } );
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android <=4.0 only
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = toType( obj );
+
+ if ( isFunction( obj ) || isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.4
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://js.foundation/
+ *
+ * Date: 2019-04-08
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ nonnativeSelectorCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+ rdescend = new RegExp( whitespace + "|>" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rhtml = /HTML$/i,
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ inDisabledFieldset = addCombinator(
+ function( elem ) {
+ return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !nonnativeSelectorCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
+
+ // Support: IE 8 only
+ // Exclude object elements
+ (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
+
+ newSelector = selector;
+ newContext = context;
+
+ // qSA considers elements outside a scoping root when evaluating child or
+ // descendant combinators, which is not what we want.
+ // In such cases, we work around the behavior by prefixing every selector in the
+ // list with an ID selector referencing the scope context.
+ // Thanks to Andrew Dupont for this technique.
+ if ( nodeType === 1 && rdescend.test( selector ) ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ nonnativeSelectorCache( selector, true );
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement("fieldset");
+
+ try {
+ return !!fn( el );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Only certain elements can match :enabled or :disabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+ if ( "form" in elem ) {
+
+ // Check for inherited disabledness on relevant non-disabled elements:
+ // * listed form-associated elements in a disabled fieldset
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+ // * option elements in a disabled optgroup
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+ // All such elements have a "form" property.
+ if ( elem.parentNode && elem.disabled === false ) {
+
+ // Option elements defer to a parent optgroup if present
+ if ( "label" in elem ) {
+ if ( "label" in elem.parentNode ) {
+ return elem.parentNode.disabled === disabled;
+ } else {
+ return elem.disabled === disabled;
+ }
+ }
+
+ // Support: IE 6 - 11
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
+ return elem.isDisabled === disabled ||
+
+ // Where there is no isDisabled, check manually
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ inDisabledFieldset( elem ) === disabled;
+ }
+
+ return elem.disabled === disabled;
+
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+ // even exist on them, let alone have a boolean value.
+ } else if ( "label" in elem ) {
+ return elem.disabled === disabled;
+ }
+
+ // Remaining elements are neither :enabled nor :disabled
+ return false;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ var namespace = elem.namespaceURI,
+ docElem = (elem.ownerDocument || elem).documentElement;
+
+ // Support: IE <=8
+ // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
+ // https://bugs.jquery.com/ticket/4833
+ return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( preferredDoc !== document &&
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( el ) {
+ el.className = "i";
+ return !el.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( el ) {
+ el.appendChild( document.createComment("") );
+ return !el.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID filter and find
+ if ( support.getById ) {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var elem = context.getElementById( id );
+ return elem ? [ elem ] : [];
+ }
+ };
+ } else {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+
+ // Support: IE 6 - 7 only
+ // getElementById is not reliable as a find shortcut
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var node, i, elems,
+ elem = context.getElementById( id );
+
+ if ( elem ) {
+
+ // Verify the id attribute
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+
+ // Fall back on getElementsByName
+ elems = context.getElementsByName( id );
+ i = 0;
+ while ( (elem = elems[i++]) ) {
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+ }
+ }
+
+ return [];
+ }
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( el ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( el ) {
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
+ "<select disabled='disabled'><option/></select>";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( el ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !nonnativeSelectorCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {
+ nonnativeSelectorCache( expr, true );
+ }
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ?
+ argument + length :
+ argument > length ?
+ length :
+ argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ return false;
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( (oldCache = uniqueCache[ key ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+ el.innerHTML = "<a href='#'></a>";
+ return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+ el.innerHTML = "<input/>";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+ return el.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+ }
+
+ // Single element
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+ }
+
+ // Arraylike of elements (jQuery, arguments, Array)
+ if ( typeof qualifier !== "string" ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+ }
+
+ // Filtered directly for both simple and complex selectors
+ return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ if ( elems.length === 1 && elem.nodeType === 1 ) {
+ return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+ }
+
+ return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ if ( typeof elem.contentDocument !== "undefined" ) {
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = locked || options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.apply( undefined, [ value ] );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // rejected_handlers.disable
+ // fulfilled_handlers.disable
+ tuples[ 3 - i ][ 3 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock,
+
+ // progress_handlers.lock
+ tuples[ 0 ][ 3 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( toType( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ if ( chainable ) {
+ return elems;
+ }
+
+ // Gets
+ if ( bulk ) {
+ return fn.call( elems );
+ }
+
+ return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( all, letter ) {
+ return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( Array.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( camelCase );
+ } else {
+ key = camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnothtmlwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+ if ( data === "true" ) {
+ return true;
+ }
+
+ if ( data === "false" ) {
+ return false;
+ }
+
+ if ( data === "null" ) {
+ return null;
+ }
+
+ // Only convert to a number if it doesn't change the string
+ if ( data === +data + "" ) {
+ return +data;
+ }
+
+ if ( rbrace.test( data ) ) {
+ return JSON.parse( data );
+ }
+
+ return data;
+}
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = getData( data );
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || Array.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var documentElement = document.documentElement;
+
+
+
+ var isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem );
+ },
+ composed = { composed: true };
+
+ // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
+ // Check attachment across shadow DOM boundaries when possible (gh-3504)
+ // Support: iOS 10.0-10.2 only
+ // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
+ // leading to errors. We need to check for `getRootNode`.
+ if ( documentElement.getRootNode ) {
+ isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem ) ||
+ elem.getRootNode( composed ) === elem.ownerDocument;
+ };
+ }
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ isAttached( elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted, scale,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = elem.nodeType &&
+ ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Support: Firefox <=54
+ // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+ initial = initial / 2;
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ while ( maxIterations-- ) {
+
+ // Evaluate and update our best guess (doubling guesses that zero out).
+ // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+ jQuery.style( elem, prop, initialInUnit + unit );
+ if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+ maxIterations = 0;
+ }
+ initialInUnit = initialInUnit / scale;
+
+ }
+
+ initialInUnit = initialInUnit * 2;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) );
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
+
+var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE <=9 only
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret;
+
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ ret = context.getElementsByTagName( tag || "*" );
+
+ } else if ( typeof context.querySelectorAll !== "undefined" ) {
+ ret = context.querySelectorAll( tag || "*" );
+
+ } else {
+ ret = [];
+ }
+
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
+ return jQuery.merge( [ context ], ret );
+ }
+
+ return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, attached, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( toType( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ attached = isAttached( elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( attached ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 - 11+
+// focus() and blur() are asynchronous, except when they are no-op.
+// So expect focus to be synchronous when the element is already active,
+// and blur to be synchronous when the element is not already active.
+// (focus and blur are always synchronous in other supported browsers,
+// this just defines when we can count on it).
+function expectSync( elem, type ) {
+ return ( elem === safeActiveElement() ) === ( type === "focus" );
+}
+
+// Support: IE <=9 only
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ // Make a writable jQuery.Event from the native event object
+ var event = jQuery.event.fix( nativeEvent );
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // If the event is namespaced, then each handler is only invoked if it is
+ // specially universal or its namespaces are a superset of the event's.
+ if ( !event.rnamespace || handleObj.namespace === false ||
+ event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ if ( delegateCount &&
+
+ // Support: IE <=9
+ // Black-hole SVG <use> instance trees (trac-13180)
+ cur.nodeType &&
+
+ // Support: Firefox <=42
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+ // Support: IE 11 only
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+ !( event.type === "click" && event.button >= 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+ matchedHandlers = [];
+ matchedSelectors = {};
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matchedSelectors[ sel ] === undefined ) {
+ matchedSelectors[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matchedSelectors[ sel ] ) {
+ matchedHandlers.push( handleObj );
+ }
+ }
+ if ( matchedHandlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ cur = this;
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ click: {
+
+ // Utilize native event to ensure correct state for checkable inputs
+ setup: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Claim the first handler
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ // dataPriv.set( el, "click", ... )
+ leverageNative( el, "click", returnTrue );
+ }
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Force setup before triggering a click
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ leverageNative( el, "click" );
+ }
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ // For cross-browser consistency, suppress native .click() on links
+ // Also prevent it if we're currently inside a leveraged native-event stack
+ _default: function( event ) {
+ var target = event.target;
+ return rcheckableType.test( target.type ) &&
+ target.click && nodeName( target, "input" ) &&
+ dataPriv.get( target, "click" ) ||
+ nodeName( target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+// Ensure the presence of an event listener that handles manually-triggered
+// synthetic events by interrupting progress until reinvoked in response to
+// *native* events that it fires directly, ensuring that state changes have
+// already occurred before other listeners are invoked.
+function leverageNative( el, type, expectSync ) {
+
+ // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
+ if ( !expectSync ) {
+ if ( dataPriv.get( el, type ) === undefined ) {
+ jQuery.event.add( el, type, returnTrue );
+ }
+ return;
+ }
+
+ // Register the controller as a special universal handler for all event namespaces
+ dataPriv.set( el, type, false );
+ jQuery.event.add( el, type, {
+ namespace: false,
+ handler: function( event ) {
+ var notAsync, result,
+ saved = dataPriv.get( this, type );
+
+ if ( ( event.isTrigger & 1 ) && this[ type ] ) {
+
+ // Interrupt processing of the outer synthetic .trigger()ed event
+ // Saved data should be false in such cases, but might be a leftover capture object
+ // from an async native handler (gh-4350)
+ if ( !saved.length ) {
+
+ // Store arguments for use when handling the inner native event
+ // There will always be at least one argument (an event object), so this array
+ // will not be confused with a leftover capture object.
+ saved = slice.call( arguments );
+ dataPriv.set( this, type, saved );
+
+ // Trigger the native event and capture its result
+ // Support: IE <=9 - 11+
+ // focus() and blur() are asynchronous
+ notAsync = expectSync( this, type );
+ this[ type ]();
+ result = dataPriv.get( this, type );
+ if ( saved !== result || notAsync ) {
+ dataPriv.set( this, type, false );
+ } else {
+ result = {};
+ }
+ if ( saved !== result ) {
+
+ // Cancel the outer synthetic event
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ return result.value;
+ }
+
+ // If this is an inner synthetic event for an event with a bubbling surrogate
+ // (focus or blur), assume that the surrogate already propagated from triggering the
+ // native event and prevent that from happening again here.
+ // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
+ // bubbling surrogate propagates *after* the non-bubbling base), but that seems
+ // less bad than duplication.
+ } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
+ event.stopPropagation();
+ }
+
+ // If this is a native event triggered above, everything is now in order
+ // Fire an inner synthetic event with the original arguments
+ } else if ( saved.length ) {
+
+ // ...and capture the result
+ dataPriv.set( this, type, {
+ value: jQuery.event.trigger(
+
+ // Support: IE <=9 - 11+
+ // Extend with the prototype to reset the above stopImmediatePropagation()
+ jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
+ saved.slice( 1 ),
+ this
+ )
+ } );
+
+ // Abort handling of the native event
+ event.stopImmediatePropagation();
+ }
+ }
+ } );
+}
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || Date.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ code: true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ if ( button & 1 ) {
+ return 1;
+ }
+
+ if ( button & 2 ) {
+ return 3;
+ }
+
+ if ( button & 4 ) {
+ return 2;
+ }
+
+ return 0;
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+ jQuery.event.special[ type ] = {
+
+ // Utilize native event if possible so blur/focus sequence is correct
+ setup: function() {
+
+ // Claim the first handler
+ // dataPriv.set( this, "focus", ... )
+ // dataPriv.set( this, "blur", ... )
+ leverageNative( this, type, expectSync );
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function() {
+
+ // Force setup before trigger
+ leverageNative( this, type );
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ delegateType: delegateType
+ };
+} );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ /* eslint-disable max-len */
+
+ // See https://github.com/eslint/eslint/issues/3229
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+ /* eslint-enable */
+
+ // Support: IE <=10 - 11, Edge 12 - 13 only
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+ if ( nodeName( elem, "table" ) &&
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+ return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
+ }
+
+ return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
+ elem.type = elem.type.slice( 5 );
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ valueIsFunction = isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( valueIsFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( valueIsFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl && !node.noModule ) {
+ jQuery._evalUrl( node.src, {
+ nonce: node.nonce || node.getAttribute( "nonce" )
+ } );
+ }
+ } else {
+ DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && isAttached( node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = isAttached( elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
+
+
+
+( function() {
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+
+ // This is a singleton, we need to execute it only once
+ if ( !div ) {
+ return;
+ }
+
+ container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
+ "margin-top:1px;padding:0;border:0";
+ div.style.cssText =
+ "position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "width:60%;top:1%";
+ documentElement.appendChild( container ).appendChild( div );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+
+ // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+ reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
+
+ // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.right = "60%";
+ pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
+
+ // Support: IE 9 - 11 only
+ // Detect misreporting of content dimensions for box-sizing:border-box elements
+ boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
+
+ // Support: IE 9 only
+ // Detect overflow:scroll screwiness (gh-3699)
+ // Support: Chrome <=64
+ // Don't get tricked when zoom affects offsetWidth (gh-4029)
+ div.style.position = "absolute";
+ scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
+
+ documentElement.removeChild( container );
+
+ // Nullify the div so it wouldn't be stored in the memory and
+ // it will also be a sign that checks already performed
+ div = null;
+ }
+
+ function roundPixelMeasures( measure ) {
+ return Math.round( parseFloat( measure ) );
+ }
+
+ var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
+ reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE <=9 - 11 only
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ jQuery.extend( support, {
+ boxSizingReliable: function() {
+ computeStyleTests();
+ return boxSizingReliableVal;
+ },
+ pixelBoxStyles: function() {
+ computeStyleTests();
+ return pixelBoxStylesVal;
+ },
+ pixelPosition: function() {
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ reliableMarginLeft: function() {
+ computeStyleTests();
+ return reliableMarginLeftVal;
+ },
+ scrollboxSize: function() {
+ computeStyleTests();
+ return scrollboxSizeVal;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+
+ // Support: Firefox 51+
+ // Retrieving style before computed somehow
+ // fixes an issue with getting wrong values
+ // on detached elements
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // getPropertyValue is needed for:
+ // .css('filter') (IE 9 only, #12537)
+ // .css('--customProperty) (#3144)
+ if ( computed ) {
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
+ if ( ret === "" && !isAttached( elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // https://drafts.csswg.org/cssom/#resolved-values
+ if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE <=9 - 11 only
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style,
+ vendorProps = {};
+
+// Return a vendor-prefixed property or undefined
+function vendorPropName( name ) {
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
+function finalPropName( name ) {
+ var final = jQuery.cssProps[ name ] || vendorProps[ name ];
+
+ if ( final ) {
+ return final;
+ }
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ return vendorProps[ name ] = vendorPropName( name ) || name;
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ };
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
+ var i = dimension === "width" ? 1 : 0,
+ extra = 0,
+ delta = 0;
+
+ // Adjustment may not be necessary
+ if ( box === ( isBorderBox ? "border" : "content" ) ) {
+ return 0;
+ }
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin
+ if ( box === "margin" ) {
+ delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+ }
+
+ // If we get here with a content-box, we're seeking "padding" or "border" or "margin"
+ if ( !isBorderBox ) {
+
+ // Add padding
+ delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // For "border" or "margin", add border
+ if ( box !== "padding" ) {
+ delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+
+ // But still keep track of it otherwise
+ } else {
+ extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+
+ // If we get here with a border-box (content + padding + border), we're seeking "content" or
+ // "padding" or "margin"
+ } else {
+
+ // For "content", subtract padding
+ if ( box === "content" ) {
+ delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // For "content" or "padding", subtract border
+ if ( box !== "margin" ) {
+ delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ // Account for positive content-box scroll gutter when requested by providing computedVal
+ if ( !isBorderBox && computedVal >= 0 ) {
+
+ // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
+ // Assuming integer scroll gutter, subtract the rest and round down
+ delta += Math.max( 0, Math.ceil(
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+ computedVal -
+ delta -
+ extra -
+ 0.5
+
+ // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
+ // Use an explicit zero to avoid NaN (gh-3964)
+ ) ) || 0;
+ }
+
+ return delta;
+}
+
+function getWidthOrHeight( elem, dimension, extra ) {
+
+ // Start with computed style
+ var styles = getStyles( elem ),
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
+ // Fake content-box until we know it's needed to know the true value.
+ boxSizingNeeded = !support.boxSizingReliable() || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ valueIsBorderBox = isBorderBox,
+
+ val = curCSS( elem, dimension, styles ),
+ offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
+
+ // Support: Firefox <=54
+ // Return a confounding non-pixel value or feign ignorance, as appropriate.
+ if ( rnumnonpx.test( val ) ) {
+ if ( !extra ) {
+ return val;
+ }
+ val = "auto";
+ }
+
+
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ // Support: Android <=4.1 - 4.3 only
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+ // Support: IE 9-11 only
+ // Also use offsetWidth/offsetHeight for when box sizing is unreliable
+ // We use getClientRects() to check for hidden/disconnected.
+ // In those cases, the computed value can be trusted to be border-box
+ if ( ( !support.boxSizingReliable() && isBorderBox ||
+ val === "auto" ||
+ !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
+ elem.getClientRects().length ) {
+
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Where available, offsetWidth/offsetHeight approximate border box dimensions.
+ // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
+ // retrieved value as a content box dimension.
+ valueIsBorderBox = offsetProp in elem;
+ if ( valueIsBorderBox ) {
+ val = elem[ offsetProp ];
+ }
+ }
+
+ // Normalize "" and auto
+ val = parseFloat( val ) || 0;
+
+ // Adjust for the element's box model
+ return ( val +
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles,
+
+ // Provide the current computed size to request scroll gutter calculation (gh-3589)
+ val
+ )
+ ) + "px";
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "gridArea": true,
+ "gridColumn": true,
+ "gridColumnEnd": true,
+ "gridColumnStart": true,
+ "gridRow": true,
+ "gridRowEnd": true,
+ "gridRowStart": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {},
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = camelCase( name ),
+ isCustomProp = rcustomProp.test( name ),
+ style = elem.style;
+
+ // Make sure that we're working with the right name. We don't
+ // want to query the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
+ // "px" to a few hardcoded values.
+ if ( type === "number" && !isCustomProp ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ if ( isCustomProp ) {
+ style.setProperty( name, value );
+ } else {
+ style[ name ] = value;
+ }
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = camelCase( name ),
+ isCustomProp = rcustomProp.test( name );
+
+ // Make sure that we're working with the right name. We don't
+ // want to modify the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, dimension ) {
+ jQuery.cssHooks[ dimension ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+ // Support: Safari 8+
+ // Table columns in Safari have non-zero offsetWidth & zero
+ // getBoundingClientRect().width unless display is changed.
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, dimension, extra );
+ } ) :
+ getWidthOrHeight( elem, dimension, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = getStyles( elem ),
+
+ // Only read styles.position if the test has a chance to fail
+ // to avoid forcing a reflow.
+ scrollboxSizeBuggy = !support.scrollboxSize() &&
+ styles.position === "absolute",
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
+ boxSizingNeeded = scrollboxSizeBuggy || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ subtract = extra ?
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra,
+ isBorderBox,
+ styles
+ ) :
+ 0;
+
+ // Account for unreliable border-box dimensions by comparing offset* to computed and
+ // faking a content-box to get border and padding (gh-3699)
+ if ( isBorderBox && scrollboxSizeBuggy ) {
+ subtract -= Math.ceil(
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+ parseFloat( styles[ dimension ] ) -
+ boxModelAdjustment( elem, dimension, "border", false, styles ) -
+ 0.5
+ );
+ }
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ dimension ] = value;
+ value = jQuery.css( elem, dimension );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( prefix !== "margin" ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( Array.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ }
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+ return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+ constructor: Tween,
+ init: function( elem, options, prop, end, easing, unit ) {
+ this.elem = elem;
+ this.prop = prop;
+ this.easing = easing || jQuery.easing._default;
+ this.options = options;
+ this.start = this.now = this.cur();
+ this.end = end;
+ this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+ },
+ cur: function() {
+ var hooks = Tween.propHooks[ this.prop ];
+
+ return hooks && hooks.get ?
+ hooks.get( this ) :
+ Tween.propHooks._default.get( this );
+ },
+ run: function( percent ) {
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
+
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
+
+ if ( this.options.step ) {
+ this.options.step.call( this.elem, this.now, this );
+ }
+
+ if ( hooks && hooks.set ) {
+ hooks.set( this );
+ } else {
+ Tween.propHooks._default.set( this );
+ }
+ return this;
+ }
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+ _default: {
+ get: function( tween ) {
+ var result;
+
+ // Use a property on the element directly when it is not a DOM element,
+ // or when there is no matching style property that exists.
+ if ( tween.elem.nodeType !== 1 ||
+ tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+ return tween.elem[ tween.prop ];
+ }
+
+ // Passing an empty string as a 3rd parameter to .css will automatically
+ // attempt a parseFloat and fallback to a string if the parse fails.
+ // Simple values such as "10px" are parsed to Float;
+ // complex values such as "rotate(1rad)" are returned as-is.
+ result = jQuery.css( tween.elem, tween.prop, "" );
+
+ // Empty strings, null, undefined and "auto" are converted to 0.
+ return !result || result === "auto" ? 0 : result;
+ },
+ set: function( tween ) {
+
+ // Use step hook for back compat.
+ // Use cssHook if its there.
+ // Use .style if available and use plain properties where available.
+ if ( jQuery.fx.step[ tween.prop ] ) {
+ jQuery.fx.step[ tween.prop ]( tween );
+ } else if ( tween.elem.nodeType === 1 && (
+ jQuery.cssHooks[ tween.prop ] ||
+ tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
+ jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+ } else {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+ }
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+ set: function( tween ) {
+ if ( tween.elem.nodeType && tween.elem.parentNode ) {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+};
+
+jQuery.easing = {
+ linear: function( p ) {
+ return p;
+ },
+ swing: function( p ) {
+ return 0.5 - Math.cos( p * Math.PI ) / 2;
+ },
+ _default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+ fxNow, inProgress,
+ rfxtypes = /^(?:toggle|show|hide)$/,
+ rrun = /queueHooks$/;
+
+function schedule() {
+ if ( inProgress ) {
+ if ( document.hidden === false && window.requestAnimationFrame ) {
+ window.requestAnimationFrame( schedule );
+ } else {
+ window.setTimeout( schedule, jQuery.fx.interval );
+ }
+
+ jQuery.fx.tick();
+ }
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+ window.setTimeout( function() {
+ fxNow = undefined;
+ } );
+ return ( fxNow = Date.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+ var which,
+ i = 0,
+ attrs = { height: type };
+
+ // If we include width, step value is 1 to do all cssExpand values,
+ // otherwise step value is 2 to skip over Left and Right
+ includeWidth = includeWidth ? 1 : 0;
+ for ( ; i < 4; i += 2 - includeWidth ) {
+ which = cssExpand[ i ];
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+ }
+
+ if ( includeWidth ) {
+ attrs.opacity = attrs.width = type;
+ }
+
+ return attrs;
+}
+
+function createTween( value, prop, animation ) {
+ var tween,
+ collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+ index = 0,
+ length = collection.length;
+ for ( ; index < length; index++ ) {
+ if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+ // We're done with this property
+ return tween;
+ }
+ }
+}
+
+function defaultPrefilter( elem, props, opts ) {
+ var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
+ isBox = "width" in props || "height" in props,
+ anim = this,
+ orig = {},
+ style = elem.style,
+ hidden = elem.nodeType && isHiddenWithinTree( elem ),
+ dataShow = dataPriv.get( elem, "fxshow" );
+
+ // Queue-skipping animations hijack the fx hooks
+ if ( !opts.queue ) {
+ hooks = jQuery._queueHooks( elem, "fx" );
+ if ( hooks.unqueued == null ) {
+ hooks.unqueued = 0;
+ oldfire = hooks.empty.fire;
+ hooks.empty.fire = function() {
+ if ( !hooks.unqueued ) {
+ oldfire();
+ }
+ };
+ }
+ hooks.unqueued++;
+
+ anim.always( function() {
+
+ // Ensure the complete handler is called before this completes
+ anim.always( function() {
+ hooks.unqueued--;
+ if ( !jQuery.queue( elem, "fx" ).length ) {
+ hooks.empty.fire();
+ }
+ } );
+ } );
+ }
+
+ // Detect show/hide animations
+ for ( prop in props ) {
+ value = props[ prop ];
+ if ( rfxtypes.test( value ) ) {
+ delete props[ prop ];
+ toggle = toggle || value === "toggle";
+ if ( value === ( hidden ? "hide" : "show" ) ) {
+
+ // Pretend to be hidden if this is a "show" and
+ // there is still data from a stopped show/hide
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+ hidden = true;
+
+ // Ignore all other no-op show/hide data
+ } else {
+ continue;
+ }
+ }
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+ }
+ }
+
+ // Bail out if this is a no-op like .hide().hide()
+ propTween = !jQuery.isEmptyObject( props );
+ if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+ return;
+ }
+
+ // Restrict "overflow" and "display" styles during box animations
+ if ( isBox && elem.nodeType === 1 ) {
+
+ // Support: IE <=9 - 11, Edge 12 - 15
+ // Record all 3 overflow attributes because IE does not infer the shorthand
+ // from identically-valued overflowX and overflowY and Edge just mirrors
+ // the overflowX value there.
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+ // Identify a display type, preferring old show/hide data over the CSS cascade
+ restoreDisplay = dataShow && dataShow.display;
+ if ( restoreDisplay == null ) {
+ restoreDisplay = dataPriv.get( elem, "display" );
+ }
+ display = jQuery.css( elem, "display" );
+ if ( display === "none" ) {
+ if ( restoreDisplay ) {
+ display = restoreDisplay;
+ } else {
+
+ // Get nonempty value(s) by temporarily forcing visibility
+ showHide( [ elem ], true );
+ restoreDisplay = elem.style.display || restoreDisplay;
+ display = jQuery.css( elem, "display" );
+ showHide( [ elem ] );
+ }
+ }
+
+ // Animate inline elements as inline-block
+ if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+ if ( jQuery.css( elem, "float" ) === "none" ) {
+
+ // Restore the original display value at the end of pure show/hide animations
+ if ( !propTween ) {
+ anim.done( function() {
+ style.display = restoreDisplay;
+ } );
+ if ( restoreDisplay == null ) {
+ display = style.display;
+ restoreDisplay = display === "none" ? "" : display;
+ }
+ }
+ style.display = "inline-block";
+ }
+ }
+ }
+
+ if ( opts.overflow ) {
+ style.overflow = "hidden";
+ anim.always( function() {
+ style.overflow = opts.overflow[ 0 ];
+ style.overflowX = opts.overflow[ 1 ];
+ style.overflowY = opts.overflow[ 2 ];
+ } );
+ }
+
+ // Implement show/hide animations
+ propTween = false;
+ for ( prop in orig ) {
+
+ // General show/hide setup for this element animation
+ if ( !propTween ) {
+ if ( dataShow ) {
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+ } else {
+ dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+ }
+
+ // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
+
+ // Show elements before animating them
+ if ( hidden ) {
+ showHide( [ elem ], true );
+ }
+
+ /* eslint-disable no-loop-func */
+
+ anim.done( function() {
+
+ /* eslint-enable no-loop-func */
+
+ // The final step of a "hide" animation is actually hiding the element
+ if ( !hidden ) {
+ showHide( [ elem ] );
+ }
+ dataPriv.remove( elem, "fxshow" );
+ for ( prop in orig ) {
+ jQuery.style( elem, prop, orig[ prop ] );
+ }
+ } );
+ }
+
+ // Per-property setup
+ propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+ if ( !( prop in dataShow ) ) {
+ dataShow[ prop ] = propTween.start;
+ if ( hidden ) {
+ propTween.end = propTween.start;
+ propTween.start = 0;
+ }
+ }
+ }
+}
+
+function propFilter( props, specialEasing ) {
+ var index, name, easing, value, hooks;
+
+ // camelCase, specialEasing and expand cssHook pass
+ for ( index in props ) {
+ name = camelCase( index );
+ easing = specialEasing[ name ];
+ value = props[ index ];
+ if ( Array.isArray( value ) ) {
+ easing = value[ 1 ];
+ value = props[ index ] = value[ 0 ];
+ }
+
+ if ( index !== name ) {
+ props[ name ] = value;
+ delete props[ index ];
+ }
+
+ hooks = jQuery.cssHooks[ name ];
+ if ( hooks && "expand" in hooks ) {
+ value = hooks.expand( value );
+ delete props[ name ];
+
+ // Not quite $.extend, this won't overwrite existing keys.
+ // Reusing 'index' because we have the correct "name"
+ for ( index in value ) {
+ if ( !( index in props ) ) {
+ props[ index ] = value[ index ];
+ specialEasing[ index ] = easing;
+ }
+ }
+ } else {
+ specialEasing[ name ] = easing;
+ }
+ }
+}
+
+function Animation( elem, properties, options ) {
+ var result,
+ stopped,
+ index = 0,
+ length = Animation.prefilters.length,
+ deferred = jQuery.Deferred().always( function() {
+
+ // Don't match elem in the :animated selector
+ delete tick.elem;
+ } ),
+ tick = function() {
+ if ( stopped ) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+ // Support: Android 2.3 only
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ index = 0,
+ length = animation.tweens.length;
+
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( percent );
+ }
+
+ deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+ // If there's more to do, yield
+ if ( percent < 1 && length ) {
+ return remaining;
+ }
+
+ // If this was an empty animation, synthesize a final progress notification
+ if ( !length ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ }
+
+ // Resolve the animation and report its conclusion
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
+ },
+ animation = deferred.promise( {
+ elem: elem,
+ props: jQuery.extend( {}, properties ),
+ opts: jQuery.extend( true, {
+ specialEasing: {},
+ easing: jQuery.easing._default
+ }, options ),
+ originalProperties: properties,
+ originalOptions: options,
+ startTime: fxNow || createFxNow(),
+ duration: options.duration,
+ tweens: [],
+ createTween: function( prop, end ) {
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.tweens.push( tween );
+ return tween;
+ },
+ stop: function( gotoEnd ) {
+ var index = 0,
+
+ // If we are going to the end, we want to run all the tweens
+ // otherwise we skip this part
+ length = gotoEnd ? animation.tweens.length : 0;
+ if ( stopped ) {
+ return this;
+ }
+ stopped = true;
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( 1 );
+ }
+
+ // Resolve when we played the last frame; otherwise, reject
+ if ( gotoEnd ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
+ } else {
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
+ }
+ return this;
+ }
+ } ),
+ props = animation.props;
+
+ propFilter( props, animation.opts.specialEasing );
+
+ for ( ; index < length; index++ ) {
+ result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+ if ( result ) {
+ if ( isFunction( result.stop ) ) {
+ jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+ result.stop.bind( result );
+ }
+ return result;
+ }
+ }
+
+ jQuery.map( props, createTween, animation );
+
+ if ( isFunction( animation.opts.start ) ) {
+ animation.opts.start.call( elem, animation );
+ }
+
+ // Attach callbacks from options
+ animation
+ .progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+
+ jQuery.fx.timer(
+ jQuery.extend( tick, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ } )
+ );
+
+ return animation;
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+ tweeners: {
+ "*": [ function( prop, value ) {
+ var tween = this.createTween( prop, value );
+ adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+ return tween;
+ } ]
+ },
+
+ tweener: function( props, callback ) {
+ if ( isFunction( props ) ) {
+ callback = props;
+ props = [ "*" ];
+ } else {
+ props = props.match( rnothtmlwhite );
+ }
+
+ var prop,
+ index = 0,
+ length = props.length;
+
+ for ( ; index < length; index++ ) {
+ prop = props[ index ];
+ Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+ Animation.tweeners[ prop ].unshift( callback );
+ }
+ },
+
+ prefilters: [ defaultPrefilter ],
+
+ prefilter: function( callback, prepend ) {
+ if ( prepend ) {
+ Animation.prefilters.unshift( callback );
+ } else {
+ Animation.prefilters.push( callback );
+ }
+ }
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+ complete: fn || !fn && easing ||
+ isFunction( speed ) && speed,
+ duration: speed,
+ easing: fn && easing || easing && !isFunction( easing ) && easing
+ };
+
+ // Go to the end state if fx are off
+ if ( jQuery.fx.off ) {
+ opt.duration = 0;
+
+ } else {
+ if ( typeof opt.duration !== "number" ) {
+ if ( opt.duration in jQuery.fx.speeds ) {
+ opt.duration = jQuery.fx.speeds[ opt.duration ];
+
+ } else {
+ opt.duration = jQuery.fx.speeds._default;
+ }
+ }
+ }
+
+ // Normalize opt.queue - true/undefined/null -> "fx"
+ if ( opt.queue == null || opt.queue === true ) {
+ opt.queue = "fx";
+ }
+
+ // Queueing
+ opt.old = opt.complete;
+
+ opt.complete = function() {
+ if ( isFunction( opt.old ) ) {
+ opt.old.call( this );
+ }
+
+ if ( opt.queue ) {
+ jQuery.dequeue( this, opt.queue );
+ }
+ };
+
+ return opt;
+};
+
+jQuery.fn.extend( {
+ fadeTo: function( speed, to, easing, callback ) {
+
+ // Show any hidden elements after setting opacity to 0
+ return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+ // Animate to the value specified
+ .end().animate( { opacity: to }, speed, easing, callback );
+ },
+ animate: function( prop, speed, easing, callback ) {
+ var empty = jQuery.isEmptyObject( prop ),
+ optall = jQuery.speed( speed, easing, callback ),
+ doAnimation = function() {
+
+ // Operate on a copy of prop so per-property easing won't be lost
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+ // Empty animations, or finishing resolves immediately
+ if ( empty || dataPriv.get( this, "finish" ) ) {
+ anim.stop( true );
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ return empty || optall.queue === false ?
+ this.each( doAnimation ) :
+ this.queue( optall.queue, doAnimation );
+ },
+ stop: function( type, clearQueue, gotoEnd ) {
+ var stopQueue = function( hooks ) {
+ var stop = hooks.stop;
+ delete hooks.stop;
+ stop( gotoEnd );
+ };
+
+ if ( typeof type !== "string" ) {
+ gotoEnd = clearQueue;
+ clearQueue = type;
+ type = undefined;
+ }
+ if ( clearQueue && type !== false ) {
+ this.queue( type || "fx", [] );
+ }
+
+ return this.each( function() {
+ var dequeue = true,
+ index = type != null && type + "queueHooks",
+ timers = jQuery.timers,
+ data = dataPriv.get( this );
+
+ if ( index ) {
+ if ( data[ index ] && data[ index ].stop ) {
+ stopQueue( data[ index ] );
+ }
+ } else {
+ for ( index in data ) {
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+ stopQueue( data[ index ] );
+ }
+ }
+ }
+
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this &&
+ ( type == null || timers[ index ].queue === type ) ) {
+
+ timers[ index ].anim.stop( gotoEnd );
+ dequeue = false;
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Start the next in the queue if the last step wasn't forced.
+ // Timers currently will call their complete callbacks, which
+ // will dequeue but only if they were gotoEnd.
+ if ( dequeue || !gotoEnd ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ finish: function( type ) {
+ if ( type !== false ) {
+ type = type || "fx";
+ }
+ return this.each( function() {
+ var index,
+ data = dataPriv.get( this ),
+ queue = data[ type + "queue" ],
+ hooks = data[ type + "queueHooks" ],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // Enable finishing flag on private data
+ data.finish = true;
+
+ // Empty the queue first
+ jQuery.queue( this, type, [] );
+
+ if ( hooks && hooks.stop ) {
+ hooks.stop.call( this, true );
+ }
+
+ // Look for any active animations, and finish them
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+ timers[ index ].anim.stop( true );
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Look for any animations in the old queue and finish them
+ for ( index = 0; index < length; index++ ) {
+ if ( queue[ index ] && queue[ index ].finish ) {
+ queue[ index ].finish.call( this );
+ }
+ }
+
+ // Turn off finishing flag
+ delete data.finish;
+ } );
+ }
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+ var cssFn = jQuery.fn[ name ];
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return speed == null || typeof speed === "boolean" ?
+ cssFn.apply( this, arguments ) :
+ this.animate( genFx( name, true ), speed, easing, callback );
+ };
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+ slideDown: genFx( "show" ),
+ slideUp: genFx( "hide" ),
+ slideToggle: genFx( "toggle" ),
+ fadeIn: { opacity: "show" },
+ fadeOut: { opacity: "hide" },
+ fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return this.animate( props, speed, easing, callback );
+ };
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+ var timer,
+ i = 0,
+ timers = jQuery.timers;
+
+ fxNow = Date.now();
+
+ for ( ; i < timers.length; i++ ) {
+ timer = timers[ i ];
+
+ // Run the timer and safely remove it when done (allowing for external removal)
+ if ( !timer() && timers[ i ] === timer ) {
+ timers.splice( i--, 1 );
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+ jQuery.timers.push( timer );
+ jQuery.fx.start();
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+ if ( inProgress ) {
+ return;
+ }
+
+ inProgress = true;
+ schedule();
+};
+
+jQuery.fx.stop = function() {
+ inProgress = null;
+};
+
+jQuery.fx.speeds = {
+ slow: 600,
+ fast: 200,
+
+ // Default speed
+ _default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: Android <=4.3 only
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE <=11 only
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: IE <=11 only
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // Attribute hooks are determined by the lowercase version
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name,
+ i = 0,
+
+ // Attribute names can contain non-HTML whitespace characters
+ // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+ attrNames = value && value.match( rnothtmlwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle,
+ lowercaseName = name.toLowerCase();
+
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ lowercaseName ];
+ attrHandle[ lowercaseName ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ lowercaseName :
+ null;
+ attrHandle[ lowercaseName ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // Support: IE <=9 - 11 only
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ if ( tabindex ) {
+ return parseInt( tabindex, 10 );
+ }
+
+ if (
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) &&
+ elem.href
+ ) {
+ return 0;
+ }
+
+ return -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+ // Strip and collapse whitespace according to HTML spec
+ // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
+ function stripAndCollapse( value ) {
+ var tokens = value.match( rnothtmlwhite ) || [];
+ return tokens.join( " " );
+ }
+
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+function classesToArray( value ) {
+ if ( Array.isArray( value ) ) {
+ return value;
+ }
+ if ( typeof value === "string" ) {
+ return value.match( rnothtmlwhite ) || [];
+ }
+ return [];
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ classes = classesToArray( value );
+
+ if ( classes.length ) {
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ classes = classesToArray( value );
+
+ if ( classes.length ) {
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value,
+ isValidValue = type === "string" || Array.isArray( value );
+
+ if ( typeof stateVal === "boolean" && isValidValue ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( isValidValue ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = classesToArray( value );
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, valueIsFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ // Handle most common string cases
+ if ( typeof ret === "string" ) {
+ return ret.replace( rreturn, "" );
+ }
+
+ // Handle cases where value is null/undef or number
+ return ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ valueIsFunction = isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( valueIsFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( Array.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE <=10 - 11 only
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ stripAndCollapse( jQuery.text( elem ) );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option, i,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one",
+ values = one ? null : [],
+ max = one ? index + 1 : options.length;
+
+ if ( index < 0 ) {
+ i = max;
+
+ } else {
+ i = one ? index : 0;
+ }
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // Support: IE <=9 only
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ !option.disabled &&
+ ( !option.parentNode.disabled ||
+ !nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ /* eslint-disable no-cond-assign */
+
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+
+ /* eslint-enable no-cond-assign */
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( Array.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+support.focusin = "onfocusin" in window;
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ stopPropagationCallback = function( e ) {
+ e.stopPropagation();
+ };
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = lastElement = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+ lastElement = cur;
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+
+ if ( event.isPropagationStopped() ) {
+ lastElement.addEventListener( type, stopPropagationCallback );
+ }
+
+ elem[ type ]();
+
+ if ( event.isPropagationStopped() ) {
+ lastElement.removeEventListener( type, stopPropagationCallback );
+ }
+
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+var location = window.location;
+
+var nonce = Date.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE 9 - 11 only
+ // IE throws on parseFromString with invalid input.
+ try {
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+ } catch ( e ) {
+ xml = undefined;
+ }
+
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+};
+
+
+var
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( Array.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && toType( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, valueOrFunction ) {
+
+ // If value is a function, invoke it and use its return value
+ var value = isFunction( valueOrFunction ) ?
+ valueOrFunction() :
+ valueOrFunction;
+
+ s[ s.length ] = encodeURIComponent( key ) + "=" +
+ encodeURIComponent( value == null ? "" : value );
+ };
+
+ if ( a == null ) {
+ return "";
+ }
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ if ( val == null ) {
+ return null;
+ }
+
+ if ( Array.isArray( val ) ) {
+ return jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } );
+ }
+
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+var
+ r20 = /%20/g,
+ rhash = /#.*$/,
+ rantiCache = /([?&])_=[^&]*/,
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+ // #7653, #8125, #8152: local protocol detection
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+ rnoContent = /^(?:GET|HEAD)$/,
+ rprotocol = /^\/\//,
+
+ /* Prefilters
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+ * 2) These are called:
+ * - BEFORE asking for a transport
+ * - AFTER param serialization (s.data is a string if s.processData is true)
+ * 3) key is the dataType
+ * 4) the catchall symbol "*" can be used
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ */
+ prefilters = {},
+
+ /* Transports bindings
+ * 1) key is the dataType
+ * 2) the catchall symbol "*" can be used
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
+ */
+ transports = {},
+
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ allTypes = "*/".concat( "*" ),
+
+ // Anchor tag for parsing the document origin
+ originAnchor = document.createElement( "a" );
+ originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+ // dataTypeExpression is optional and defaults to "*"
+ return function( dataTypeExpression, func ) {
+
+ if ( typeof dataTypeExpression !== "string" ) {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
+
+ if ( isFunction( func ) ) {
+
+ // For each dataType in the dataTypeExpression
+ while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+ // Prepend if requested
+ if ( dataType[ 0 ] === "+" ) {
+ dataType = dataType.slice( 1 ) || "*";
+ ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+ // Otherwise append
+ } else {
+ ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+ }
+ }
+ }
+ };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+ var inspected = {},
+ seekingTransport = ( structure === transports );
+
+ function inspect( dataType ) {
+ var selected;
+ inspected[ dataType ] = true;
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+ if ( typeof dataTypeOrTransport === "string" &&
+ !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+ options.dataTypes.unshift( dataTypeOrTransport );
+ inspect( dataTypeOrTransport );
+ return false;
+ } else if ( seekingTransport ) {
+ return !( selected = dataTypeOrTransport );
+ }
+ } );
+ return selected;
+ }
+
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+ var key, deep,
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+ for ( key in src ) {
+ if ( src[ key ] !== undefined ) {
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+ }
+ }
+ if ( deep ) {
+ jQuery.extend( true, target, deep );
+ }
+
+ return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+ var ct, type, finalDataType, firstDataType,
+ contents = s.contents,
+ dataTypes = s.dataTypes;
+
+ // Remove auto dataType and get content-type in the process
+ while ( dataTypes[ 0 ] === "*" ) {
+ dataTypes.shift();
+ if ( ct === undefined ) {
+ ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+ }
+ }
+
+ // Check if we're dealing with a known content-type
+ if ( ct ) {
+ for ( type in contents ) {
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
+ dataTypes.unshift( type );
+ break;
+ }
+ }
+ }
+
+ // Check to see if we have a response for the expected dataType
+ if ( dataTypes[ 0 ] in responses ) {
+ finalDataType = dataTypes[ 0 ];
+ } else {
+
+ // Try convertible dataTypes
+ for ( type in responses ) {
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+ finalDataType = type;
+ break;
+ }
+ if ( !firstDataType ) {
+ firstDataType = type;
+ }
+ }
+
+ // Or just use first one
+ finalDataType = finalDataType || firstDataType;
+ }
+
+ // If we found a dataType
+ // We add the dataType to the list if needed
+ // and return the corresponding response
+ if ( finalDataType ) {
+ if ( finalDataType !== dataTypes[ 0 ] ) {
+ dataTypes.unshift( finalDataType );
+ }
+ return responses[ finalDataType ];
+ }
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+ var conv2, current, conv, tmp, prev,
+ converters = {},
+
+ // Work with a copy of dataTypes in case we need to modify it for conversion
+ dataTypes = s.dataTypes.slice();
+
+ // Create converters map with lowercased keys
+ if ( dataTypes[ 1 ] ) {
+ for ( conv in s.converters ) {
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
+ }
+ }
+
+ current = dataTypes.shift();
+
+ // Convert to each sequential dataType
+ while ( current ) {
+
+ if ( s.responseFields[ current ] ) {
+ jqXHR[ s.responseFields[ current ] ] = response;
+ }
+
+ // Apply the dataFilter if provided
+ if ( !prev && isSuccess && s.dataFilter ) {
+ response = s.dataFilter( response, s.dataType );
+ }
+
+ prev = current;
+ current = dataTypes.shift();
+
+ if ( current ) {
+
+ // There's only work to do if current dataType is non-auto
+ if ( current === "*" ) {
+
+ current = prev;
+
+ // Convert response if prev dataType is non-auto and differs from current
+ } else if ( prev !== "*" && prev !== current ) {
+
+ // Seek a direct converter
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+ // If none found, seek a pair
+ if ( !conv ) {
+ for ( conv2 in converters ) {
+
+ // If conv2 outputs current
+ tmp = conv2.split( " " );
+ if ( tmp[ 1 ] === current ) {
+
+ // If prev can be converted to accepted input
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
+ converters[ "* " + tmp[ 0 ] ];
+ if ( conv ) {
+
+ // Condense equivalence converters
+ if ( conv === true ) {
+ conv = converters[ conv2 ];
+
+ // Otherwise, insert the intermediate dataType
+ } else if ( converters[ conv2 ] !== true ) {
+ current = tmp[ 0 ];
+ dataTypes.unshift( tmp[ 1 ] );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ // Apply converter (if not an equivalence)
+ if ( conv !== true ) {
+
+ // Unless errors are allowed to bubble, catch and return them
+ if ( conv && s.throws ) {
+ response = conv( response );
+ } else {
+ try {
+ response = conv( response );
+ } catch ( e ) {
+ return {
+ state: "parsererror",
+ error: conv ? e : "No conversion from " + prev + " to " + current
+ };
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+ // Counter for holding the number of active queries
+ active: 0,
+
+ // Last-Modified header cache for next request
+ lastModified: {},
+ etag: {},
+
+ ajaxSettings: {
+ url: location.href,
+ type: "GET",
+ isLocal: rlocalProtocol.test( location.protocol ),
+ global: true,
+ processData: true,
+ async: true,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+ /*
+ timeout: 0,
+ data: null,
+ dataType: null,
+ username: null,
+ password: null,
+ cache: null,
+ throws: false,
+ traditional: false,
+ headers: {},
+ */
+
+ accepts: {
+ "*": allTypes,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+
+ contents: {
+ xml: /\bxml\b/,
+ html: /\bhtml/,
+ json: /\bjson\b/
+ },
+
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+
+ // Data converters
+ // Keys separate source (or catchall "*") and destination types with a single space
+ converters: {
+
+ // Convert anything to text
+ "* text": String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
+ // Evaluate text as a json expression
+ "text json": JSON.parse,
+
+ // Parse text as xml
+ "text xml": jQuery.parseXML
+ },
+
+ // For options that shouldn't be deep extended:
+ // you can add your own custom options here if
+ // and when you create one that shouldn't be
+ // deep extended (see ajaxExtend)
+ flatOptions: {
+ url: true,
+ context: true
+ }
+ },
+
+ // Creates a full fledged settings object into target
+ // with both ajaxSettings and settings fields.
+ // If target is omitted, writes into ajaxSettings.
+ ajaxSetup: function( target, settings ) {
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+ // Extending ajaxSettings
+ ajaxExtend( jQuery.ajaxSettings, target );
+ },
+
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+ // Main method
+ ajax: function( url, options ) {
+
+ // If url is an object, simulate pre-1.5 signature
+ if ( typeof url === "object" ) {
+ options = url;
+ url = undefined;
+ }
+
+ // Force options to be an object
+ options = options || {};
+
+ var transport,
+
+ // URL without anti-cache param
+ cacheURL,
+
+ // Response headers
+ responseHeadersString,
+ responseHeaders,
+
+ // timeout handle
+ timeoutTimer,
+
+ // Url cleanup var
+ urlAnchor,
+
+ // Request state (becomes false upon send and true upon completion)
+ completed,
+
+ // To know if global events are to be dispatched
+ fireGlobals,
+
+ // Loop variable
+ i,
+
+ // uncached part of the url
+ uncached,
+
+ // Create the final options object
+ s = jQuery.ajaxSetup( {}, options ),
+
+ // Callbacks context
+ callbackContext = s.context || s,
+
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context &&
+ ( callbackContext.nodeType || callbackContext.jquery ) ?
+ jQuery( callbackContext ) :
+ jQuery.event,
+
+ // Deferreds
+ deferred = jQuery.Deferred(),
+ completeDeferred = jQuery.Callbacks( "once memory" ),
+
+ // Status-dependent callbacks
+ statusCode = s.statusCode || {},
+
+ // Headers (they are sent all at once)
+ requestHeaders = {},
+ requestHeadersNames = {},
+
+ // Default abort message
+ strAbort = "canceled",
+
+ // Fake xhr
+ jqXHR = {
+ readyState: 0,
+
+ // Builds headers hashtable if needed
+ getResponseHeader: function( key ) {
+ var match;
+ if ( completed ) {
+ if ( !responseHeaders ) {
+ responseHeaders = {};
+ while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+ responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
+ ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
+ .concat( match[ 2 ] );
+ }
+ }
+ match = responseHeaders[ key.toLowerCase() + " " ];
+ }
+ return match == null ? null : match.join( ", " );
+ },
+
+ // Raw string
+ getAllResponseHeaders: function() {
+ return completed ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function( name, value ) {
+ if ( completed == null ) {
+ name = requestHeadersNames[ name.toLowerCase() ] =
+ requestHeadersNames[ name.toLowerCase() ] || name;
+ requestHeaders[ name ] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function( type ) {
+ if ( completed == null ) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function( map ) {
+ var code;
+ if ( map ) {
+ if ( completed ) {
+
+ // Execute the appropriate callbacks
+ jqXHR.always( map[ jqXHR.status ] );
+ } else {
+
+ // Lazy-add the new callbacks in a way that preserves old ones
+ for ( code in map ) {
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+ }
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function( statusText ) {
+ var finalText = statusText || strAbort;
+ if ( transport ) {
+ transport.abort( finalText );
+ }
+ done( 0, finalText );
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise( jqXHR );
+
+ // Add protocol if not provided (prefilters might expect it)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ( ( url || s.url || location.href ) + "" )
+ .replace( rprotocol, location.protocol + "//" );
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
+
+ // A cross-domain request is in order when the origin doesn't match the current origin.
+ if ( s.crossDomain == null ) {
+ urlAnchor = document.createElement( "a" );
+
+ // Support: IE <=8 - 11, Edge 12 - 15
+ // IE throws exception on accessing the href property if url is malformed,
+ // e.g. http://example.com:80x/
+ try {
+ urlAnchor.href = s.url;
+
+ // Support: IE <=8 - 11 only
+ // Anchor's host property isn't correctly set when s.url is relative
+ urlAnchor.href = urlAnchor.href;
+ s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+ urlAnchor.protocol + "//" + urlAnchor.host;
+ } catch ( e ) {
+
+ // If there is an error parsing the URL, assume it is crossDomain,
+ // it can be rejected by the transport if it is invalid
+ s.crossDomain = true;
+ }
+ }
+
+ // Convert data if not already a string
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
+
+ // Apply prefilters
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+ // If request was aborted inside a prefilter, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // We can fire global events as of now if asked to
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ fireGlobals = jQuery.event && s.global;
+
+ // Watch for a new set of requests
+ if ( fireGlobals && jQuery.active++ === 0 ) {
+ jQuery.event.trigger( "ajaxStart" );
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test( s.type );
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ // Remove hash to simplify url manipulation
+ cacheURL = s.url.replace( rhash, "" );
+
+ // More options handling for requests with no content
+ if ( !s.hasContent ) {
+
+ // Remember the hash so we can put it back
+ uncached = s.url.slice( cacheURL.length );
+
+ // If data is available and should be processed, append data to url
+ if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
+ cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add or update anti-cache param if needed
+ if ( s.cache === false ) {
+ cacheURL = cacheURL.replace( rantiCache, "$1" );
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+ }
+
+ // Put hash and anti-cache on the URL that will be requested (gh-1732)
+ s.url = cacheURL + uncached;
+
+ // Change '%20' to '+' if this is encoded form body content (gh-2658)
+ } else if ( s.data && s.processData &&
+ ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+ s.data = s.data.replace( r20, "+" );
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+ }
+ if ( jQuery.etag[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+ }
+ }
+
+ // Set the correct header, if data is being sent
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
+ }
+
+ // Set the Accepts header for the server, depending on the dataType
+ jqXHR.setRequestHeader(
+ "Accept",
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+ s.accepts[ s.dataTypes[ 0 ] ] +
+ ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+ s.accepts[ "*" ]
+ );
+
+ // Check for headers option
+ for ( i in s.headers ) {
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
+ }
+
+ // Allow custom headers/mimetypes and early abort
+ if ( s.beforeSend &&
+ ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+ // Abort if not done already and return
+ return jqXHR.abort();
+ }
+
+ // Aborting is no longer a cancellation
+ strAbort = "abort";
+
+ // Install callbacks on deferreds
+ completeDeferred.add( s.complete );
+ jqXHR.done( s.success );
+ jqXHR.fail( s.error );
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
+ } else {
+ jqXHR.readyState = 1;
+
+ // Send global event
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+ }
+
+ // If request was aborted inside ajaxSend, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // Timeout
+ if ( s.async && s.timeout > 0 ) {
+ timeoutTimer = window.setTimeout( function() {
+ jqXHR.abort( "timeout" );
+ }, s.timeout );
+ }
+
+ try {
+ completed = false;
+ transport.send( requestHeaders, done );
+ } catch ( e ) {
+
+ // Rethrow post-completion exceptions
+ if ( completed ) {
+ throw e;
+ }
+
+ // Propagate others as results
+ done( -1, e );
+ }
+ }
+
+ // Callback for when everything is done
+ function done( status, nativeStatusText, responses, headers ) {
+ var isSuccess, success, error, response, modified,
+ statusText = nativeStatusText;
+
+ // Ignore repeat invocations
+ if ( completed ) {
+ return;
+ }
+
+ completed = true;
+
+ // Clear timeout if it exists
+ if ( timeoutTimer ) {
+ window.clearTimeout( timeoutTimer );
+ }
+
+ // Dereference transport for early garbage collection
+ // (no matter how long the jqXHR object will be used)
+ transport = undefined;
+
+ // Cache response headers
+ responseHeadersString = headers || "";
+
+ // Set readyState
+ jqXHR.readyState = status > 0 ? 4 : 0;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if ( responses ) {
+ response = ajaxHandleResponses( s, jqXHR, responses );
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+ // If successful, handle type chaining
+ if ( isSuccess ) {
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ modified = jqXHR.getResponseHeader( "Last-Modified" );
+ if ( modified ) {
+ jQuery.lastModified[ cacheURL ] = modified;
+ }
+ modified = jqXHR.getResponseHeader( "etag" );
+ if ( modified ) {
+ jQuery.etag[ cacheURL ] = modified;
+ }
+ }
+
+ // if no content
+ if ( status === 204 || s.type === "HEAD" ) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if ( status === 304 ) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+
+ // Extract error from statusText and normalize for non-aborts
+ error = statusText;
+ if ( status || !statusText ) {
+ statusText = "error";
+ if ( status < 0 ) {
+ status = 0;
+ }
+ }
+ }
+
+ // Set data for the fake xhr object
+ jqXHR.status = status;
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+ // Success/Error
+ if ( isSuccess ) {
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+ } else {
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+ }
+
+ // Status-dependent callbacks
+ jqXHR.statusCode( statusCode );
+ statusCode = undefined;
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+ [ jqXHR, s, isSuccess ? success : error ] );
+ }
+
+ // Complete
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+ // Handle the global AJAX counter
+ if ( !( --jQuery.active ) ) {
+ jQuery.event.trigger( "ajaxStop" );
+ }
+ }
+ }
+
+ return jqXHR;
+ },
+
+ getJSON: function( url, data, callback ) {
+ return jQuery.get( url, data, callback, "json" );
+ },
+
+ getScript: function( url, callback ) {
+ return jQuery.get( url, undefined, callback, "script" );
+ }
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+ jQuery[ method ] = function( url, data, callback, type ) {
+
+ // Shift arguments if data argument was omitted
+ if ( isFunction( data ) ) {
+ type = type || callback;
+ callback = data;
+ data = undefined;
+ }
+
+ // The url can be an options object (which then must have .url)
+ return jQuery.ajax( jQuery.extend( {
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ }, jQuery.isPlainObject( url ) && url ) );
+ };
+} );
+
+
+jQuery._evalUrl = function( url, options ) {
+ return jQuery.ajax( {
+ url: url,
+
+ // Make this explicit, since user can override this through ajaxSetup (#11264)
+ type: "GET",
+ dataType: "script",
+ cache: true,
+ async: false,
+ global: false,
+
+ // Only evaluate the response if it is successful (gh-4126)
+ // dataFilter is not invoked for failure responses, so using it instead
+ // of the default converter is kludgy but it works.
+ converters: {
+ "text script": function() {}
+ },
+ dataFilter: function( response ) {
+ jQuery.globalEval( response, options );
+ }
+ } );
+};
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( this[ 0 ] ) {
+ if ( isFunction( html ) ) {
+ html = html.call( this[ 0 ] );
+ }
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var htmlIsFunction = isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function( selector ) {
+ this.parent( selector ).not( "body" ).each( function() {
+ jQuery( this ).replaceWith( this.childNodes );
+ } );
+ return this;
+ }
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+ return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+ return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+jQuery.ajaxSettings.xhr = function() {
+ try {
+ return new window.XMLHttpRequest();
+ } catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+ // File protocol always yields status code 0, assume 200
+ 0: 200,
+
+ // Support: IE <=9 only
+ // #1450: sometimes IE returns 1223 when it should be 204
+ 1223: 204
+ },
+ xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+ var callback, errorCallback;
+
+ // Cross domain only allowed if supported through XMLHttpRequest
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
+ return {
+ send: function( headers, complete ) {
+ var i,
+ xhr = options.xhr();
+
+ xhr.open(
+ options.type,
+ options.url,
+ options.async,
+ options.username,
+ options.password
+ );
+
+ // Apply custom fields if provided
+ if ( options.xhrFields ) {
+ for ( i in options.xhrFields ) {
+ xhr[ i ] = options.xhrFields[ i ];
+ }
+ }
+
+ // Override mime type if needed
+ if ( options.mimeType && xhr.overrideMimeType ) {
+ xhr.overrideMimeType( options.mimeType );
+ }
+
+ // X-Requested-With header
+ // For cross-domain requests, seeing as conditions for a preflight are
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
+ // (it can always be set on a per-request basis or even using ajaxSetup)
+ // For same-domain requests, won't change header if already provided.
+ if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+ headers[ "X-Requested-With" ] = "XMLHttpRequest";
+ }
+
+ // Set headers
+ for ( i in headers ) {
+ xhr.setRequestHeader( i, headers[ i ] );
+ }
+
+ // Callback
+ callback = function( type ) {
+ return function() {
+ if ( callback ) {
+ callback = errorCallback = xhr.onload =
+ xhr.onerror = xhr.onabort = xhr.ontimeout =
+ xhr.onreadystatechange = null;
+
+ if ( type === "abort" ) {
+ xhr.abort();
+ } else if ( type === "error" ) {
+
+ // Support: IE <=9 only
+ // On a manual native abort, IE9 throws
+ // errors on any property access that is not readyState
+ if ( typeof xhr.status !== "number" ) {
+ complete( 0, "error" );
+ } else {
+ complete(
+
+ // File: protocol always yields status 0; see #8605, #14207
+ xhr.status,
+ xhr.statusText
+ );
+ }
+ } else {
+ complete(
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
+ xhr.statusText,
+
+ // Support: IE <=9 only
+ // IE9 has no XHR2 but throws on binary (trac-11426)
+ // For XHR2 non-text, let the caller handle it (gh-2498)
+ ( xhr.responseType || "text" ) !== "text" ||
+ typeof xhr.responseText !== "string" ?
+ { binary: xhr.response } :
+ { text: xhr.responseText },
+ xhr.getAllResponseHeaders()
+ );
+ }
+ }
+ };
+ };
+
+ // Listen to events
+ xhr.onload = callback();
+ errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
+
+ // Support: IE 9 only
+ // Use onreadystatechange to replace onabort
+ // to handle uncaught aborts
+ if ( xhr.onabort !== undefined ) {
+ xhr.onabort = errorCallback;
+ } else {
+ xhr.onreadystatechange = function() {
+
+ // Check readyState before timeout as it changes
+ if ( xhr.readyState === 4 ) {
+
+ // Allow onerror to be called first,
+ // but that will not handle a native abort
+ // Also, save errorCallback to a variable
+ // as xhr.onerror cannot be accessed
+ window.setTimeout( function() {
+ if ( callback ) {
+ errorCallback();
+ }
+ } );
+ }
+ };
+ }
+
+ // Create the abort callback
+ callback = callback( "abort" );
+
+ try {
+
+ // Do send the request (this may raise an exception)
+ xhr.send( options.hasContent && options.data || null );
+ } catch ( e ) {
+
+ // #14683: Only rethrow if this hasn't been notified as an error yet
+ if ( callback ) {
+ throw e;
+ }
+ }
+ },
+
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+ if ( s.crossDomain ) {
+ s.contents.script = false;
+ }
+} );
+
+// Install script dataType
+jQuery.ajaxSetup( {
+ accepts: {
+ script: "text/javascript, application/javascript, " +
+ "application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /\b(?:java|ecma)script\b/
+ },
+ converters: {
+ "text script": function( text ) {
+ jQuery.globalEval( text );
+ return text;
+ }
+ }
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+ if ( s.cache === undefined ) {
+ s.cache = false;
+ }
+ if ( s.crossDomain ) {
+ s.type = "GET";
+ }
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+ // This transport only deals with cross domain or forced-by-attrs requests
+ if ( s.crossDomain || s.scriptAttrs ) {
+ var script, callback;
+ return {
+ send: function( _, complete ) {
+ script = jQuery( "<script>" )
+ .attr( s.scriptAttrs || {} )
+ .prop( { charset: s.scriptCharset, src: s.url } )
+ .on( "load error", callback = function( evt ) {
+ script.remove();
+ callback = null;
+ if ( evt ) {
+ complete( evt.type === "error" ? 404 : 200, evt.type );
+ }
+ } );
+
+ // Use native DOM manipulation to avoid our domManip AJAX trickery
+ document.head.appendChild( script[ 0 ] );
+ },
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+var oldCallbacks = [],
+ rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+ jsonp: "callback",
+ jsonpCallback: function() {
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+ this[ callback ] = true;
+ return callback;
+ }
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+ var callbackName, overwritten, responseContainer,
+ jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+ "url" :
+ typeof s.data === "string" &&
+ ( s.contentType || "" )
+ .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+ rjsonp.test( s.data ) && "data"
+ );
+
+ // Handle iff the expected data type is "jsonp" or we have a parameter to set
+ if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+ // Get callback name, remembering preexisting value associated with it
+ callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
+ s.jsonpCallback() :
+ s.jsonpCallback;
+
+ // Insert callback into url or form data
+ if ( jsonProp ) {
+ s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+ } else if ( s.jsonp !== false ) {
+ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+ }
+
+ // Use data converter to retrieve json after script execution
+ s.converters[ "script json" ] = function() {
+ if ( !responseContainer ) {
+ jQuery.error( callbackName + " was not called" );
+ }
+ return responseContainer[ 0 ];
+ };
+
+ // Force json dataType
+ s.dataTypes[ 0 ] = "json";
+
+ // Install callback
+ overwritten = window[ callbackName ];
+ window[ callbackName ] = function() {
+ responseContainer = arguments;
+ };
+
+ // Clean-up function (fires after converters)
+ jqXHR.always( function() {
+
+ // If previous value didn't exist - remove it
+ if ( overwritten === undefined ) {
+ jQuery( window ).removeProp( callbackName );
+
+ // Otherwise restore preexisting value
+ } else {
+ window[ callbackName ] = overwritten;
+ }
+
+ // Save back as free
+ if ( s[ callbackName ] ) {
+
+ // Make sure that re-using the options doesn't screw things around
+ s.jsonpCallback = originalSettings.jsonpCallback;
+
+ // Save the callback name for future use
+ oldCallbacks.push( callbackName );
+ }
+
+ // Call if it was a function and we have a response
+ if ( responseContainer && isFunction( overwritten ) ) {
+ overwritten( responseContainer[ 0 ] );
+ }
+
+ responseContainer = overwritten = undefined;
+ } );
+
+ // Delegate to script
+ return "script";
+ }
+} );
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+ var body = document.implementation.createHTMLDocument( "" ).body;
+ body.innerHTML = "<form></form><form></form>";
+ return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( typeof data !== "string" ) {
+ return [];
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+
+ var base, parsed, scripts;
+
+ if ( !context ) {
+
+ // Stop scripts or inline event handlers from being executed immediately
+ // by using document.implementation
+ if ( support.createHTMLDocument ) {
+ context = document.implementation.createHTMLDocument( "" );
+
+ // Set the base href for the created document
+ // so any parsed elements with URLs
+ // are based on the document's URL (gh-2965)
+ base = context.createElement( "base" );
+ base.href = document.location.href;
+ context.head.appendChild( base );
+ } else {
+ context = document;
+ }
+ }
+
+ parsed = rsingleTag.exec( data );
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[ 1 ] ) ];
+ }
+
+ parsed = buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+ var selector, type, response,
+ self = this,
+ off = url.indexOf( " " );
+
+ if ( off > -1 ) {
+ selector = stripAndCollapse( url.slice( off ) );
+ url = url.slice( 0, off );
+ }
+
+ // If it's a function
+ if ( isFunction( params ) ) {
+
+ // We assume that it's the callback
+ callback = params;
+ params = undefined;
+
+ // Otherwise, build a param string
+ } else if ( params && typeof params === "object" ) {
+ type = "POST";
+ }
+
+ // If we have elements to modify, make the request
+ if ( self.length > 0 ) {
+ jQuery.ajax( {
+ url: url,
+
+ // If "type" variable is undefined, then "GET" method will be used.
+ // Make value of this field explicit since
+ // user can override it through ajaxSetup method
+ type: type || "GET",
+ dataType: "html",
+ data: params
+ } ).done( function( responseText ) {
+
+ // Save response for use in complete callback
+ response = arguments;
+
+ self.html( selector ?
+
+ // If a selector was specified, locate the right elements in a dummy div
+ // Exclude scripts to avoid IE 'Permission Denied' errors
+ jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+ // Otherwise use the full result
+ responseText );
+
+ // If the request succeeds, this function gets "data", "status", "jqXHR"
+ // but they are ignored because response was set above.
+ // If it fails, this function gets "jqXHR", "status", "error"
+ } ).always( callback && function( jqXHR, status ) {
+ self.each( function() {
+ callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+ } );
+ } );
+ }
+
+ return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [
+ "ajaxStart",
+ "ajaxStop",
+ "ajaxComplete",
+ "ajaxError",
+ "ajaxSuccess",
+ "ajaxSend"
+], function( i, type ) {
+ jQuery.fn[ type ] = function( fn ) {
+ return this.on( type, fn );
+ };
+} );
+
+
+
+
+jQuery.expr.pseudos.animated = function( elem ) {
+ return jQuery.grep( jQuery.timers, function( fn ) {
+ return elem === fn.elem;
+ } ).length;
+};
+
+
+
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // Set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+ // Need to be able to calculate position if either
+ // top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( isFunction( options ) ) {
+
+ // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+ options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend( {
+
+ // offset() relates an element's border box to the document origin
+ offset: function( options ) {
+
+ // Preserve chaining for setter
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each( function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ } );
+ }
+
+ var rect, win,
+ elem = this[ 0 ];
+
+ if ( !elem ) {
+ return;
+ }
+
+ // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a
+ // disconnected node in IE throws an error
+ if ( !elem.getClientRects().length ) {
+ return { top: 0, left: 0 };
+ }
+
+ // Get document-relative position by adding viewport scroll to viewport-relative gBCR
+ rect = elem.getBoundingClientRect();
+ win = elem.ownerDocument.defaultView;
+ return {
+ top: rect.top + win.pageYOffset,
+ left: rect.left + win.pageXOffset
+ };
+ },
+
+ // position() relates an element's margin box to its offset parent's padding box
+ // This corresponds to the behavior of CSS absolute positioning
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset, doc,
+ elem = this[ 0 ],
+ parentOffset = { top: 0, left: 0 };
+
+ // position:fixed elements are offset from the viewport, which itself always has zero offset
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+ // Assume position:fixed implies availability of getBoundingClientRect
+ offset = elem.getBoundingClientRect();
+
+ } else {
+ offset = this.offset();
+
+ // Account for the *real* offset parent, which can be the document or its root element
+ // when a statically positioned element is identified
+ doc = elem.ownerDocument;
+ offsetParent = elem.offsetParent || doc.documentElement;
+ while ( offsetParent &&
+ ( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
+ jQuery.css( offsetParent, "position" ) === "static" ) {
+
+ offsetParent = offsetParent.parentNode;
+ }
+ if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
+
+ // Incorporate borders into its offset, since they are outside its content origin
+ parentOffset = jQuery( offsetParent ).offset();
+ parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
+ parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
+ }
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+ };
+ },
+
+ // This method will return documentElement in the following cases:
+ // 1) For the element inside the iframe without offsetParent, this method will return
+ // documentElement of the parent window
+ // 2) For the hidden or detached element
+ // 3) For body or html element, i.e. in case of the html node - it will return itself
+ //
+ // but those exceptions were never presented as a real life use-cases
+ // and might be considered as more preferable results.
+ //
+ // This logic, however, is not guaranteed and can change at any point in the future
+ offsetParent: function() {
+ return this.map( function() {
+ var offsetParent = this.offsetParent;
+
+ while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || documentElement;
+ } );
+ }
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = "pageYOffset" === prop;
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+
+ // Coalesce documents and windows
+ var win;
+ if ( isWindow( elem ) ) {
+ win = elem;
+ } else if ( elem.nodeType === 9 ) {
+ win = elem.defaultView;
+ }
+
+ if ( val === undefined ) {
+ return win ? win[ prop ] : elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : win.pageXOffset,
+ top ? val : win.pageYOffset
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length );
+ };
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+
+ // If curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+ function( defaultExtra, funcName ) {
+
+ // Margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( isWindow( elem ) ) {
+
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+ return funcName.indexOf( "outer" ) === 0 ?
+ elem[ "inner" + name ] :
+ elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+ // whichever is greatest
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable );
+ };
+ } );
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+jQuery.fn.extend( {
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ?
+ this.off( selector, "**" ) :
+ this.off( types, selector || "**", fn );
+ }
+} );
+
+// Bind a function to a context, optionally partially applying any
+// arguments.
+// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
+// However, it is not slated for removal any time soon
+jQuery.proxy = function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+};
+
+jQuery.holdReady = function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+jQuery.isFunction = isFunction;
+jQuery.isWindow = isWindow;
+jQuery.camelCase = camelCase;
+jQuery.type = toType;
+
+jQuery.now = Date.now;
+
+jQuery.isNumeric = function( obj ) {
+
+ // As of jQuery 3.0, isNumeric is limited to
+ // strings and numbers (primitives or objects)
+ // that can be coerced to finite numbers (gh-2662)
+ var type = jQuery.type( obj );
+ return ( type === "number" || type === "string" ) &&
+
+ // parseFloat NaNs numeric-cast false positives ("")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ !isNaN( obj - parseFloat( obj ) );
+};
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ } );
+}
+
+
+
+
+var
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.js
new file mode 100644
index 0000000..a1c07fd
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.map b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.map
new file mode 100644
index 0000000..e15edef
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery-3.4.1.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","rtrim","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","trim","makeArray","results","inArray","second","grep","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","div","buildFragment","scripts","selection","ignored","wrap","attached","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","parseInt","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.4.1.min.js"}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.js
new file mode 100644
index 0000000..aaabce8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.js
@@ -0,0 +1,8495 @@
+/*!
+ * jQuery JavaScript Library v3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2019-05-01T21:04Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+ // Support: Chrome <=57, Firefox <=52
+ // In some browsers, typeof returns "function" for HTML <object> elements
+ // (i.e., `typeof document.createElement( "object" ) === "function"`).
+ // We don't want to classify *any* DOM node as a function.
+ return typeof obj === "function" && typeof obj.nodeType !== "number";
+ };
+
+
+var isWindow = function isWindow( obj ) {
+ return obj != null && obj === obj.window;
+ };
+
+
+
+
+ var preservedScriptAttributes = {
+ type: true,
+ src: true,
+ nonce: true,
+ noModule: true
+ };
+
+ function DOMEval( code, node, doc ) {
+ doc = doc || document;
+
+ var i, val,
+ script = doc.createElement( "script" );
+
+ script.text = code;
+ if ( node ) {
+ for ( i in preservedScriptAttributes ) {
+
+ // Support: Firefox 64+, Edge 18+
+ // Some browsers don't support the "nonce" property on scripts.
+ // On the other hand, just using `getAttribute` is not enough as
+ // the `nonce` attribute is reset to an empty string whenever it
+ // becomes browsing-context connected.
+ // See https://github.com/whatwg/html/issues/2369
+ // See https://html.spec.whatwg.org/#nonce-attributes
+ // The `node.getAttribute` check was added for the sake of
+ // `jQuery.globalEval` so that it can fake a nonce-containing node
+ // via an object.
+ val = node[ i ] || node.getAttribute && node.getAttribute( i );
+ if ( val ) {
+ script.setAttribute( i, val );
+ }
+ }
+ }
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+
+
+function toType( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android <=4.0 only
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+
+ // Return all the elements in a clean array
+ if ( num == null ) {
+ return slice.call( this );
+ }
+
+ // Return just the one element from the set
+ return num < 0 ? this[ num + this.length ] : this[ num ];
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ copy = options[ name ];
+
+ // Prevent Object.prototype pollution
+ // Prevent never-ending loop
+ if ( name === "__proto__" || target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
+ src = target[ name ];
+
+ // Ensure proper type for the source value
+ if ( copyIsArray && !Array.isArray( src ) ) {
+ clone = [];
+ } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
+ clone = {};
+ } else {
+ clone = src;
+ }
+ copyIsArray = false;
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code, options ) {
+ DOMEval( code, { nonce: options && options.nonce } );
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android <=4.0 only
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = toType( obj );
+
+ if ( isFunction( obj ) || isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.4
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://js.foundation/
+ *
+ * Date: 2019-04-08
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ nonnativeSelectorCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+ rdescend = new RegExp( whitespace + "|>" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rhtml = /HTML$/i,
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ inDisabledFieldset = addCombinator(
+ function( elem ) {
+ return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !nonnativeSelectorCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
+
+ // Support: IE 8 only
+ // Exclude object elements
+ (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
+
+ newSelector = selector;
+ newContext = context;
+
+ // qSA considers elements outside a scoping root when evaluating child or
+ // descendant combinators, which is not what we want.
+ // In such cases, we work around the behavior by prefixing every selector in the
+ // list with an ID selector referencing the scope context.
+ // Thanks to Andrew Dupont for this technique.
+ if ( nodeType === 1 && rdescend.test( selector ) ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ nonnativeSelectorCache( selector, true );
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement("fieldset");
+
+ try {
+ return !!fn( el );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Only certain elements can match :enabled or :disabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+ if ( "form" in elem ) {
+
+ // Check for inherited disabledness on relevant non-disabled elements:
+ // * listed form-associated elements in a disabled fieldset
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+ // * option elements in a disabled optgroup
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+ // All such elements have a "form" property.
+ if ( elem.parentNode && elem.disabled === false ) {
+
+ // Option elements defer to a parent optgroup if present
+ if ( "label" in elem ) {
+ if ( "label" in elem.parentNode ) {
+ return elem.parentNode.disabled === disabled;
+ } else {
+ return elem.disabled === disabled;
+ }
+ }
+
+ // Support: IE 6 - 11
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
+ return elem.isDisabled === disabled ||
+
+ // Where there is no isDisabled, check manually
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ inDisabledFieldset( elem ) === disabled;
+ }
+
+ return elem.disabled === disabled;
+
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+ // even exist on them, let alone have a boolean value.
+ } else if ( "label" in elem ) {
+ return elem.disabled === disabled;
+ }
+
+ // Remaining elements are neither :enabled nor :disabled
+ return false;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ var namespace = elem.namespaceURI,
+ docElem = (elem.ownerDocument || elem).documentElement;
+
+ // Support: IE <=8
+ // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
+ // https://bugs.jquery.com/ticket/4833
+ return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( preferredDoc !== document &&
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( el ) {
+ el.className = "i";
+ return !el.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( el ) {
+ el.appendChild( document.createComment("") );
+ return !el.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID filter and find
+ if ( support.getById ) {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var elem = context.getElementById( id );
+ return elem ? [ elem ] : [];
+ }
+ };
+ } else {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+
+ // Support: IE 6 - 7 only
+ // getElementById is not reliable as a find shortcut
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var node, i, elems,
+ elem = context.getElementById( id );
+
+ if ( elem ) {
+
+ // Verify the id attribute
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+
+ // Fall back on getElementsByName
+ elems = context.getElementsByName( id );
+ i = 0;
+ while ( (elem = elems[i++]) ) {
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+ }
+ }
+
+ return [];
+ }
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( el ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( el ) {
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
+ "<select disabled='disabled'><option/></select>";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( el ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !nonnativeSelectorCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {
+ nonnativeSelectorCache( expr, true );
+ }
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ?
+ argument + length :
+ argument > length ?
+ length :
+ argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ return false;
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( (oldCache = uniqueCache[ key ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+ el.innerHTML = "<a href='#'></a>";
+ return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+ el.innerHTML = "<input/>";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+ return el.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+ }
+
+ // Single element
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+ }
+
+ // Arraylike of elements (jQuery, arguments, Array)
+ if ( typeof qualifier !== "string" ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+ }
+
+ // Filtered directly for both simple and complex selectors
+ return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ if ( elems.length === 1 && elem.nodeType === 1 ) {
+ return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+ }
+
+ return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ if ( typeof elem.contentDocument !== "undefined" ) {
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = locked || options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.apply( undefined, [ value ] );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // rejected_handlers.disable
+ // fulfilled_handlers.disable
+ tuples[ 3 - i ][ 3 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock,
+
+ // progress_handlers.lock
+ tuples[ 0 ][ 3 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( toType( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ if ( chainable ) {
+ return elems;
+ }
+
+ // Gets
+ if ( bulk ) {
+ return fn.call( elems );
+ }
+
+ return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( all, letter ) {
+ return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( Array.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( camelCase );
+ } else {
+ key = camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnothtmlwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+ if ( data === "true" ) {
+ return true;
+ }
+
+ if ( data === "false" ) {
+ return false;
+ }
+
+ if ( data === "null" ) {
+ return null;
+ }
+
+ // Only convert to a number if it doesn't change the string
+ if ( data === +data + "" ) {
+ return +data;
+ }
+
+ if ( rbrace.test( data ) ) {
+ return JSON.parse( data );
+ }
+
+ return data;
+}
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = getData( data );
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || Array.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var documentElement = document.documentElement;
+
+
+
+ var isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem );
+ },
+ composed = { composed: true };
+
+ // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
+ // Check attachment across shadow DOM boundaries when possible (gh-3504)
+ // Support: iOS 10.0-10.2 only
+ // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
+ // leading to errors. We need to check for `getRootNode`.
+ if ( documentElement.getRootNode ) {
+ isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem ) ||
+ elem.getRootNode( composed ) === elem.ownerDocument;
+ };
+ }
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ isAttached( elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted, scale,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = elem.nodeType &&
+ ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Support: Firefox <=54
+ // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+ initial = initial / 2;
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ while ( maxIterations-- ) {
+
+ // Evaluate and update our best guess (doubling guesses that zero out).
+ // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+ jQuery.style( elem, prop, initialInUnit + unit );
+ if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+ maxIterations = 0;
+ }
+ initialInUnit = initialInUnit / scale;
+
+ }
+
+ initialInUnit = initialInUnit * 2;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) );
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
+
+var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE <=9 only
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret;
+
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ ret = context.getElementsByTagName( tag || "*" );
+
+ } else if ( typeof context.querySelectorAll !== "undefined" ) {
+ ret = context.querySelectorAll( tag || "*" );
+
+ } else {
+ ret = [];
+ }
+
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
+ return jQuery.merge( [ context ], ret );
+ }
+
+ return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, attached, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( toType( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ attached = isAttached( elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( attached ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 - 11+
+// focus() and blur() are asynchronous, except when they are no-op.
+// So expect focus to be synchronous when the element is already active,
+// and blur to be synchronous when the element is not already active.
+// (focus and blur are always synchronous in other supported browsers,
+// this just defines when we can count on it).
+function expectSync( elem, type ) {
+ return ( elem === safeActiveElement() ) === ( type === "focus" );
+}
+
+// Support: IE <=9 only
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ // Make a writable jQuery.Event from the native event object
+ var event = jQuery.event.fix( nativeEvent );
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // If the event is namespaced, then each handler is only invoked if it is
+ // specially universal or its namespaces are a superset of the event's.
+ if ( !event.rnamespace || handleObj.namespace === false ||
+ event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ if ( delegateCount &&
+
+ // Support: IE <=9
+ // Black-hole SVG <use> instance trees (trac-13180)
+ cur.nodeType &&
+
+ // Support: Firefox <=42
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+ // Support: IE 11 only
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+ !( event.type === "click" && event.button >= 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+ matchedHandlers = [];
+ matchedSelectors = {};
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matchedSelectors[ sel ] === undefined ) {
+ matchedSelectors[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matchedSelectors[ sel ] ) {
+ matchedHandlers.push( handleObj );
+ }
+ }
+ if ( matchedHandlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ cur = this;
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ click: {
+
+ // Utilize native event to ensure correct state for checkable inputs
+ setup: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Claim the first handler
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ // dataPriv.set( el, "click", ... )
+ leverageNative( el, "click", returnTrue );
+ }
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Force setup before triggering a click
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ leverageNative( el, "click" );
+ }
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ // For cross-browser consistency, suppress native .click() on links
+ // Also prevent it if we're currently inside a leveraged native-event stack
+ _default: function( event ) {
+ var target = event.target;
+ return rcheckableType.test( target.type ) &&
+ target.click && nodeName( target, "input" ) &&
+ dataPriv.get( target, "click" ) ||
+ nodeName( target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+// Ensure the presence of an event listener that handles manually-triggered
+// synthetic events by interrupting progress until reinvoked in response to
+// *native* events that it fires directly, ensuring that state changes have
+// already occurred before other listeners are invoked.
+function leverageNative( el, type, expectSync ) {
+
+ // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
+ if ( !expectSync ) {
+ if ( dataPriv.get( el, type ) === undefined ) {
+ jQuery.event.add( el, type, returnTrue );
+ }
+ return;
+ }
+
+ // Register the controller as a special universal handler for all event namespaces
+ dataPriv.set( el, type, false );
+ jQuery.event.add( el, type, {
+ namespace: false,
+ handler: function( event ) {
+ var notAsync, result,
+ saved = dataPriv.get( this, type );
+
+ if ( ( event.isTrigger & 1 ) && this[ type ] ) {
+
+ // Interrupt processing of the outer synthetic .trigger()ed event
+ // Saved data should be false in such cases, but might be a leftover capture object
+ // from an async native handler (gh-4350)
+ if ( !saved.length ) {
+
+ // Store arguments for use when handling the inner native event
+ // There will always be at least one argument (an event object), so this array
+ // will not be confused with a leftover capture object.
+ saved = slice.call( arguments );
+ dataPriv.set( this, type, saved );
+
+ // Trigger the native event and capture its result
+ // Support: IE <=9 - 11+
+ // focus() and blur() are asynchronous
+ notAsync = expectSync( this, type );
+ this[ type ]();
+ result = dataPriv.get( this, type );
+ if ( saved !== result || notAsync ) {
+ dataPriv.set( this, type, false );
+ } else {
+ result = {};
+ }
+ if ( saved !== result ) {
+
+ // Cancel the outer synthetic event
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ return result.value;
+ }
+
+ // If this is an inner synthetic event for an event with a bubbling surrogate
+ // (focus or blur), assume that the surrogate already propagated from triggering the
+ // native event and prevent that from happening again here.
+ // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
+ // bubbling surrogate propagates *after* the non-bubbling base), but that seems
+ // less bad than duplication.
+ } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
+ event.stopPropagation();
+ }
+
+ // If this is a native event triggered above, everything is now in order
+ // Fire an inner synthetic event with the original arguments
+ } else if ( saved.length ) {
+
+ // ...and capture the result
+ dataPriv.set( this, type, {
+ value: jQuery.event.trigger(
+
+ // Support: IE <=9 - 11+
+ // Extend with the prototype to reset the above stopImmediatePropagation()
+ jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
+ saved.slice( 1 ),
+ this
+ )
+ } );
+
+ // Abort handling of the native event
+ event.stopImmediatePropagation();
+ }
+ }
+ } );
+}
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || Date.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ code: true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ if ( button & 1 ) {
+ return 1;
+ }
+
+ if ( button & 2 ) {
+ return 3;
+ }
+
+ if ( button & 4 ) {
+ return 2;
+ }
+
+ return 0;
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+ jQuery.event.special[ type ] = {
+
+ // Utilize native event if possible so blur/focus sequence is correct
+ setup: function() {
+
+ // Claim the first handler
+ // dataPriv.set( this, "focus", ... )
+ // dataPriv.set( this, "blur", ... )
+ leverageNative( this, type, expectSync );
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function() {
+
+ // Force setup before trigger
+ leverageNative( this, type );
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ delegateType: delegateType
+ };
+} );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ /* eslint-disable max-len */
+
+ // See https://github.com/eslint/eslint/issues/3229
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+ /* eslint-enable */
+
+ // Support: IE <=10 - 11, Edge 12 - 13 only
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+ if ( nodeName( elem, "table" ) &&
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+ return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
+ }
+
+ return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
+ elem.type = elem.type.slice( 5 );
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ valueIsFunction = isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( valueIsFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( valueIsFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl && !node.noModule ) {
+ jQuery._evalUrl( node.src, {
+ nonce: node.nonce || node.getAttribute( "nonce" )
+ } );
+ }
+ } else {
+ DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && isAttached( node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = isAttached( elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
+
+
+
+( function() {
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+
+ // This is a singleton, we need to execute it only once
+ if ( !div ) {
+ return;
+ }
+
+ container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
+ "margin-top:1px;padding:0;border:0";
+ div.style.cssText =
+ "position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "width:60%;top:1%";
+ documentElement.appendChild( container ).appendChild( div );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+
+ // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+ reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
+
+ // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.right = "60%";
+ pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
+
+ // Support: IE 9 - 11 only
+ // Detect misreporting of content dimensions for box-sizing:border-box elements
+ boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
+
+ // Support: IE 9 only
+ // Detect overflow:scroll screwiness (gh-3699)
+ // Support: Chrome <=64
+ // Don't get tricked when zoom affects offsetWidth (gh-4029)
+ div.style.position = "absolute";
+ scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
+
+ documentElement.removeChild( container );
+
+ // Nullify the div so it wouldn't be stored in the memory and
+ // it will also be a sign that checks already performed
+ div = null;
+ }
+
+ function roundPixelMeasures( measure ) {
+ return Math.round( parseFloat( measure ) );
+ }
+
+ var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
+ reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE <=9 - 11 only
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ jQuery.extend( support, {
+ boxSizingReliable: function() {
+ computeStyleTests();
+ return boxSizingReliableVal;
+ },
+ pixelBoxStyles: function() {
+ computeStyleTests();
+ return pixelBoxStylesVal;
+ },
+ pixelPosition: function() {
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ reliableMarginLeft: function() {
+ computeStyleTests();
+ return reliableMarginLeftVal;
+ },
+ scrollboxSize: function() {
+ computeStyleTests();
+ return scrollboxSizeVal;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+
+ // Support: Firefox 51+
+ // Retrieving style before computed somehow
+ // fixes an issue with getting wrong values
+ // on detached elements
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // getPropertyValue is needed for:
+ // .css('filter') (IE 9 only, #12537)
+ // .css('--customProperty) (#3144)
+ if ( computed ) {
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
+ if ( ret === "" && !isAttached( elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // https://drafts.csswg.org/cssom/#resolved-values
+ if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE <=9 - 11 only
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style,
+ vendorProps = {};
+
+// Return a vendor-prefixed property or undefined
+function vendorPropName( name ) {
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
+function finalPropName( name ) {
+ var final = jQuery.cssProps[ name ] || vendorProps[ name ];
+
+ if ( final ) {
+ return final;
+ }
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ return vendorProps[ name ] = vendorPropName( name ) || name;
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ };
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
+ var i = dimension === "width" ? 1 : 0,
+ extra = 0,
+ delta = 0;
+
+ // Adjustment may not be necessary
+ if ( box === ( isBorderBox ? "border" : "content" ) ) {
+ return 0;
+ }
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin
+ if ( box === "margin" ) {
+ delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+ }
+
+ // If we get here with a content-box, we're seeking "padding" or "border" or "margin"
+ if ( !isBorderBox ) {
+
+ // Add padding
+ delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // For "border" or "margin", add border
+ if ( box !== "padding" ) {
+ delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+
+ // But still keep track of it otherwise
+ } else {
+ extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+
+ // If we get here with a border-box (content + padding + border), we're seeking "content" or
+ // "padding" or "margin"
+ } else {
+
+ // For "content", subtract padding
+ if ( box === "content" ) {
+ delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // For "content" or "padding", subtract border
+ if ( box !== "margin" ) {
+ delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ // Account for positive content-box scroll gutter when requested by providing computedVal
+ if ( !isBorderBox && computedVal >= 0 ) {
+
+ // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
+ // Assuming integer scroll gutter, subtract the rest and round down
+ delta += Math.max( 0, Math.ceil(
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+ computedVal -
+ delta -
+ extra -
+ 0.5
+
+ // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
+ // Use an explicit zero to avoid NaN (gh-3964)
+ ) ) || 0;
+ }
+
+ return delta;
+}
+
+function getWidthOrHeight( elem, dimension, extra ) {
+
+ // Start with computed style
+ var styles = getStyles( elem ),
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
+ // Fake content-box until we know it's needed to know the true value.
+ boxSizingNeeded = !support.boxSizingReliable() || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ valueIsBorderBox = isBorderBox,
+
+ val = curCSS( elem, dimension, styles ),
+ offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
+
+ // Support: Firefox <=54
+ // Return a confounding non-pixel value or feign ignorance, as appropriate.
+ if ( rnumnonpx.test( val ) ) {
+ if ( !extra ) {
+ return val;
+ }
+ val = "auto";
+ }
+
+
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ // Support: Android <=4.1 - 4.3 only
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+ // Support: IE 9-11 only
+ // Also use offsetWidth/offsetHeight for when box sizing is unreliable
+ // We use getClientRects() to check for hidden/disconnected.
+ // In those cases, the computed value can be trusted to be border-box
+ if ( ( !support.boxSizingReliable() && isBorderBox ||
+ val === "auto" ||
+ !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
+ elem.getClientRects().length ) {
+
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Where available, offsetWidth/offsetHeight approximate border box dimensions.
+ // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
+ // retrieved value as a content box dimension.
+ valueIsBorderBox = offsetProp in elem;
+ if ( valueIsBorderBox ) {
+ val = elem[ offsetProp ];
+ }
+ }
+
+ // Normalize "" and auto
+ val = parseFloat( val ) || 0;
+
+ // Adjust for the element's box model
+ return ( val +
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles,
+
+ // Provide the current computed size to request scroll gutter calculation (gh-3589)
+ val
+ )
+ ) + "px";
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "gridArea": true,
+ "gridColumn": true,
+ "gridColumnEnd": true,
+ "gridColumnStart": true,
+ "gridRow": true,
+ "gridRowEnd": true,
+ "gridRowStart": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {},
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = camelCase( name ),
+ isCustomProp = rcustomProp.test( name ),
+ style = elem.style;
+
+ // Make sure that we're working with the right name. We don't
+ // want to query the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
+ // "px" to a few hardcoded values.
+ if ( type === "number" && !isCustomProp ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ if ( isCustomProp ) {
+ style.setProperty( name, value );
+ } else {
+ style[ name ] = value;
+ }
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = camelCase( name ),
+ isCustomProp = rcustomProp.test( name );
+
+ // Make sure that we're working with the right name. We don't
+ // want to modify the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, dimension ) {
+ jQuery.cssHooks[ dimension ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+ // Support: Safari 8+
+ // Table columns in Safari have non-zero offsetWidth & zero
+ // getBoundingClientRect().width unless display is changed.
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, dimension, extra );
+ } ) :
+ getWidthOrHeight( elem, dimension, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = getStyles( elem ),
+
+ // Only read styles.position if the test has a chance to fail
+ // to avoid forcing a reflow.
+ scrollboxSizeBuggy = !support.scrollboxSize() &&
+ styles.position === "absolute",
+
+ // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
+ boxSizingNeeded = scrollboxSizeBuggy || extra,
+ isBorderBox = boxSizingNeeded &&
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ subtract = extra ?
+ boxModelAdjustment(
+ elem,
+ dimension,
+ extra,
+ isBorderBox,
+ styles
+ ) :
+ 0;
+
+ // Account for unreliable border-box dimensions by comparing offset* to computed and
+ // faking a content-box to get border and padding (gh-3699)
+ if ( isBorderBox && scrollboxSizeBuggy ) {
+ subtract -= Math.ceil(
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+ parseFloat( styles[ dimension ] ) -
+ boxModelAdjustment( elem, dimension, "border", false, styles ) -
+ 0.5
+ );
+ }
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ dimension ] = value;
+ value = jQuery.css( elem, dimension );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( prefix !== "margin" ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( Array.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ }
+} );
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: Android <=4.3 only
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE <=11 only
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: IE <=11 only
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // Attribute hooks are determined by the lowercase version
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name,
+ i = 0,
+
+ // Attribute names can contain non-HTML whitespace characters
+ // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+ attrNames = value && value.match( rnothtmlwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle,
+ lowercaseName = name.toLowerCase();
+
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ lowercaseName ];
+ attrHandle[ lowercaseName ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ lowercaseName :
+ null;
+ attrHandle[ lowercaseName ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // Support: IE <=9 - 11 only
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ if ( tabindex ) {
+ return parseInt( tabindex, 10 );
+ }
+
+ if (
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) &&
+ elem.href
+ ) {
+ return 0;
+ }
+
+ return -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+ // Strip and collapse whitespace according to HTML spec
+ // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
+ function stripAndCollapse( value ) {
+ var tokens = value.match( rnothtmlwhite ) || [];
+ return tokens.join( " " );
+ }
+
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+function classesToArray( value ) {
+ if ( Array.isArray( value ) ) {
+ return value;
+ }
+ if ( typeof value === "string" ) {
+ return value.match( rnothtmlwhite ) || [];
+ }
+ return [];
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ classes = classesToArray( value );
+
+ if ( classes.length ) {
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ classes = classesToArray( value );
+
+ if ( classes.length ) {
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value,
+ isValidValue = type === "string" || Array.isArray( value );
+
+ if ( typeof stateVal === "boolean" && isValidValue ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( isValidValue ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = classesToArray( value );
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, valueIsFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ // Handle most common string cases
+ if ( typeof ret === "string" ) {
+ return ret.replace( rreturn, "" );
+ }
+
+ // Handle cases where value is null/undef or number
+ return ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ valueIsFunction = isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( valueIsFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( Array.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE <=10 - 11 only
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ stripAndCollapse( jQuery.text( elem ) );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option, i,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one",
+ values = one ? null : [],
+ max = one ? index + 1 : options.length;
+
+ if ( index < 0 ) {
+ i = max;
+
+ } else {
+ i = one ? index : 0;
+ }
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // Support: IE <=9 only
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ !option.disabled &&
+ ( !option.parentNode.disabled ||
+ !nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ /* eslint-disable no-cond-assign */
+
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+
+ /* eslint-enable no-cond-assign */
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( Array.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+support.focusin = "onfocusin" in window;
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ stopPropagationCallback = function( e ) {
+ e.stopPropagation();
+ };
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = lastElement = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+ lastElement = cur;
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+
+ if ( event.isPropagationStopped() ) {
+ lastElement.addEventListener( type, stopPropagationCallback );
+ }
+
+ elem[ type ]();
+
+ if ( event.isPropagationStopped() ) {
+ lastElement.removeEventListener( type, stopPropagationCallback );
+ }
+
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+
+
+var
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( Array.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && toType( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, valueOrFunction ) {
+
+ // If value is a function, invoke it and use its return value
+ var value = isFunction( valueOrFunction ) ?
+ valueOrFunction() :
+ valueOrFunction;
+
+ s[ s.length ] = encodeURIComponent( key ) + "=" +
+ encodeURIComponent( value == null ? "" : value );
+ };
+
+ if ( a == null ) {
+ return "";
+ }
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ if ( val == null ) {
+ return null;
+ }
+
+ if ( Array.isArray( val ) ) {
+ return jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } );
+ }
+
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( this[ 0 ] ) {
+ if ( isFunction( html ) ) {
+ html = html.call( this[ 0 ] );
+ }
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var htmlIsFunction = isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function( selector ) {
+ this.parent( selector ).not( "body" ).each( function() {
+ jQuery( this ).replaceWith( this.childNodes );
+ } );
+ return this;
+ }
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+ return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+ return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+ var body = document.implementation.createHTMLDocument( "" ).body;
+ body.innerHTML = "<form></form><form></form>";
+ return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( typeof data !== "string" ) {
+ return [];
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+
+ var base, parsed, scripts;
+
+ if ( !context ) {
+
+ // Stop scripts or inline event handlers from being executed immediately
+ // by using document.implementation
+ if ( support.createHTMLDocument ) {
+ context = document.implementation.createHTMLDocument( "" );
+
+ // Set the base href for the created document
+ // so any parsed elements with URLs
+ // are based on the document's URL (gh-2965)
+ base = context.createElement( "base" );
+ base.href = document.location.href;
+ context.head.appendChild( base );
+ } else {
+ context = document;
+ }
+ }
+
+ parsed = rsingleTag.exec( data );
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[ 1 ] ) ];
+ }
+
+ parsed = buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // Set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+ // Need to be able to calculate position if either
+ // top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( isFunction( options ) ) {
+
+ // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+ options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend( {
+
+ // offset() relates an element's border box to the document origin
+ offset: function( options ) {
+
+ // Preserve chaining for setter
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each( function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ } );
+ }
+
+ var rect, win,
+ elem = this[ 0 ];
+
+ if ( !elem ) {
+ return;
+ }
+
+ // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a
+ // disconnected node in IE throws an error
+ if ( !elem.getClientRects().length ) {
+ return { top: 0, left: 0 };
+ }
+
+ // Get document-relative position by adding viewport scroll to viewport-relative gBCR
+ rect = elem.getBoundingClientRect();
+ win = elem.ownerDocument.defaultView;
+ return {
+ top: rect.top + win.pageYOffset,
+ left: rect.left + win.pageXOffset
+ };
+ },
+
+ // position() relates an element's margin box to its offset parent's padding box
+ // This corresponds to the behavior of CSS absolute positioning
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset, doc,
+ elem = this[ 0 ],
+ parentOffset = { top: 0, left: 0 };
+
+ // position:fixed elements are offset from the viewport, which itself always has zero offset
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+ // Assume position:fixed implies availability of getBoundingClientRect
+ offset = elem.getBoundingClientRect();
+
+ } else {
+ offset = this.offset();
+
+ // Account for the *real* offset parent, which can be the document or its root element
+ // when a statically positioned element is identified
+ doc = elem.ownerDocument;
+ offsetParent = elem.offsetParent || doc.documentElement;
+ while ( offsetParent &&
+ ( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
+ jQuery.css( offsetParent, "position" ) === "static" ) {
+
+ offsetParent = offsetParent.parentNode;
+ }
+ if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
+
+ // Incorporate borders into its offset, since they are outside its content origin
+ parentOffset = jQuery( offsetParent ).offset();
+ parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
+ parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
+ }
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+ };
+ },
+
+ // This method will return documentElement in the following cases:
+ // 1) For the element inside the iframe without offsetParent, this method will return
+ // documentElement of the parent window
+ // 2) For the hidden or detached element
+ // 3) For body or html element, i.e. in case of the html node - it will return itself
+ //
+ // but those exceptions were never presented as a real life use-cases
+ // and might be considered as more preferable results.
+ //
+ // This logic, however, is not guaranteed and can change at any point in the future
+ offsetParent: function() {
+ return this.map( function() {
+ var offsetParent = this.offsetParent;
+
+ while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || documentElement;
+ } );
+ }
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = "pageYOffset" === prop;
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+
+ // Coalesce documents and windows
+ var win;
+ if ( isWindow( elem ) ) {
+ win = elem;
+ } else if ( elem.nodeType === 9 ) {
+ win = elem.defaultView;
+ }
+
+ if ( val === undefined ) {
+ return win ? win[ prop ] : elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : win.pageXOffset,
+ top ? val : win.pageYOffset
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length );
+ };
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+
+ // If curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+ function( defaultExtra, funcName ) {
+
+ // Margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( isWindow( elem ) ) {
+
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+ return funcName.indexOf( "outer" ) === 0 ?
+ elem[ "inner" + name ] :
+ elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+ // whichever is greatest
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable );
+ };
+ } );
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+jQuery.fn.extend( {
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ?
+ this.off( selector, "**" ) :
+ this.off( types, selector || "**", fn );
+ }
+} );
+
+// Bind a function to a context, optionally partially applying any
+// arguments.
+// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
+// However, it is not slated for removal any time soon
+jQuery.proxy = function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+};
+
+jQuery.holdReady = function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+jQuery.isFunction = isFunction;
+jQuery.isWindow = isWindow;
+jQuery.camelCase = camelCase;
+jQuery.type = toType;
+
+jQuery.now = Date.now;
+
+jQuery.isNumeric = function( obj ) {
+
+ // As of jQuery 3.0, isNumeric is limited to
+ // strings and numbers (primitives or objects)
+ // that can be coerced to finite numbers (gh-2662)
+ var type = jQuery.type( obj );
+ return ( type === "number" || type === "string" ) &&
+
+ // parseFloat NaNs numeric-cast false positives ("")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ !isNaN( obj - parseFloat( obj ) );
+};
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ } );
+}
+
+
+
+
+var
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.js
new file mode 100644
index 0000000..af151cf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],v=g.document,r=Object.getPrototypeOf,s=t.slice,y=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,m=n.hasOwnProperty,a=m.toString,l=a.call(Object),b={},x=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},w=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)},d=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function p(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!x(e)&&!w(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||x(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=m.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){C(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(d,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return y.apply([],a)},guid:1,support:b}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,N="sizzle"+1*new Date,m=n.document,A=0,r=0,d=ue(),b=ue(),k=ue(),S=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",$=new RegExp(R+"+","g"),F=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&((e?e.ownerDocument||e:m)!==T&&C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!S[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=N),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+be(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){S(t,!0)}finally{s===N&&e.removeAttribute("id")}}}return g(t.replace(F,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[N]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),m!==T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=N,!T.getElementsByName||!T.getElementsByName(N).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+N+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+N+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument===m&&y(m,e)?-1:t===T||t.ownerDocument===m&&y(m,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===T?-1:t===T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==T&&C(e),p.matchesSelector&&E&&!S[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){S(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=d[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&d(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===A&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[A,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===A&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[A,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[N]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(F,"$1"));return s[N]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[A,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[N]||(e[N]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===A&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[N]&&(v=Te(v)),y&&!y[N]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[N]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(F,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(F," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=k[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[N]?i.push(a):o.push(a);(a=k(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=A+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t===T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument===T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(A=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(A=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=N.split("").sort(D).join("")===N,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=h,E.expr=h.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=h.uniqueSort,E.text=h.getText,E.isXMLDoc=h.isXML,E.contains=h.contains,E.escapeSelector=h.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,n,r){return x(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),D.test(r[1])&&E.isPlainObject(t))for(r in t)x(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):x(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,j=E(v);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(P[r]||E.uniqueSort(n),O.test(r)&&n.reverse()),this.pushStack(n)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){return e}function B(e){throw e}function M(e,t,n,r){var i;try{e&&x(i=e.promise)?i.call(e).done(t).fail(n):e&&x(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(I)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){x(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=x(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&x(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,x(t)?s?t.call(e,l(u,o,R,s),l(u,o,B,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,B,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==B&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,x(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,x(t)?t:R)),o[2][3].add(l(0,e,x(n)?n:B))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(M(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||x(i[t]&&i[t].then)))return o.then();while(t--)M(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&W.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var $=E.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return $.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||$.resolveWith(v,[E])}}),E.ready.then=$.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?g.setTimeout(E.ready):(v.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)z(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,x(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(U,V)}var Q=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=E.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Q(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(I)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var G=new Y,K=new Y,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}K.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return K.hasData(e)||G.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=K.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),ee(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){K.set(this,n)}):z(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=K.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){K.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:E.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=v.documentElement,oe=function(e){return E.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===E.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};var le={};function ce(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=G.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=le[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),le[s]=u)))):"none"!==n&&(l[c]="none",G.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?E(this).show():E(this).hide()})}});var fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i,he={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}he.optgroup=he.option,he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td;var ye,me,be=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}ye=v.createDocumentFragment().appendChild(v.createElement("div")),(me=v.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),ye.appendChild(me),b.checkClone=ye.cloneNode(!0).cloneNode(!0).lastChild.checked,ye.innerHTML="<textarea>x</textarea>",b.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function Ae(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(G.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=G.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),G.set(this,i,r),t=o(this,i),this[i](),r!==(n=G.get(this,i))||t?G.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(G.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,i)&&E.event.add(e,i,Ee)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=G.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(ie,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(I)||[""]).length;while(l--)p=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(p=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=E.event.fix(e),u=new Array(arguments.length),l=(G.get(this,"events")||{})[s.type]||[],c=E.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=E.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:x(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Se(t,"click",Ee),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&G.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Ne,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Ne,isPropagationStopped:Ne,isImmediatePropagationStopped:Ne,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Se(this,e,Ae),!1},trigger:function(){return Se(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ne),this.each(function(){E.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Le=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ie(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(G.hasData(e)&&(o=G.access(e),a=G.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)E.event.add(t,i,l[i][n]);K.hasData(e)&&(s=K.access(e),u=E.extend({},s),K.set(t,u))}}function Re(n,r,i,o){r=y.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=x(p);if(h||1<f&&"string"==typeof p&&!b.checkClone&&je.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Re(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),Pe)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,He),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!G.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):C(u.textContent.replace(qe,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&oe(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e.replace(De,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(b.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Ie(o[r],a[r]);else Ie(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(Q(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return z(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Le.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Re(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),We=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},$e=new RegExp(re.join("|"),"i");function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||We(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=E.style(e,t)),!b.pixelBoxStyles()&&Me.test(a)&&$e.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=g.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=v.createElement("div"),u=v.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",b.clearCloneStyle="content-box"===u.style.backgroundClip,E.extend(b,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var _e=["Webkit","Moz","ms"],Ue=v.createElement("div").style,Ve={};function Xe(e){var t=E.cssProps[e]||Ve[e];return t||(e in Ue?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in Ue)return e}(e)||e)}var Qe,Ye,Ge=/^(none|table(?!-c[ea]).+)/,Ke=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ze={letterSpacing:"0",fontWeight:"400"};function et(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function tt(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+re[a]+"Width",!0,i))):(u+=E.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=E.css(e,"border"+re[a]+"Width",!0,i):s+=E.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function nt(e,t,n){var r=We(e),i=(!b.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Fe(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!b.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+tt(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ke.test(t),l=e.style;if(u||(t=Xe(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&ne.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),b.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ke.test(t)||(t=Xe(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ze&&(i=Ze[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?nt(e,u,n):ue(e,Je,function(){return nt(e,u,n)})},set:function(e,t,n){var r,i=We(e),o=!b.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?tt(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-tt(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),et(0,t,s)}}}),E.cssHooks.marginLeft=ze(b.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=et)}),E.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Qe=v.createElement("input"),Ye=v.createElement("select").appendChild(v.createElement("option")),Qe.type="checkbox",b.checkOn=""!==Qe.value,b.optSelected=Ye.selected,(Qe=v.createElement("input")).value="t",Qe.type="radio",b.radioValue="t"===Qe.value;var rt,it=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return z(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?rt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!b.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),rt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=it[t]||E.find.attr;it[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=it[o],it[o]=r,r=null!=a(e,t,n)?o:null,it[o]=i),r}});var ot=/^(?:input|select|textarea|button)$/i,at=/^(?:a|area)$/i;function st(e){return(e.match(I)||[]).join(" ")}function ut(e){return e.getAttribute&&e.getAttribute("class")||""}function lt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}E.fn.extend({prop:function(e,t){return z(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ot.test(e.nodeName)||at.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),b.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(x(t))return this.each(function(e){E(this).addClass(t.call(this,e,ut(this)))});if((e=lt(t)).length)while(n=this[u++])if(i=ut(n),r=1===n.nodeType&&" "+st(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=st(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(x(t))return this.each(function(e){E(this).removeClass(t.call(this,e,ut(this)))});if(!arguments.length)return this.attr("class","");if((e=lt(t)).length)while(n=this[u++])if(i=ut(n),r=1===n.nodeType&&" "+st(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=st(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):x(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,ut(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=lt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=ut(this))&&G.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+st(ut(n))+" ").indexOf(t))return!0;return!1}});var ct=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=x(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ct,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:st(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},b.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),b.focusin="onfocusin"in g;var ft=/^(?:focusinfocus|focusoutblur)$/,dt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||v],p=m.call(e,"type")?e.type:e,h=m.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||v,3!==n.nodeType&&8!==n.nodeType&&!ft.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!w(n)){for(s=c.delegateType||p,ft.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||v)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(G.get(o,"events")||{})[e.type]&&G.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&Q(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!Q(n)||u&&x(n[p])&&!w(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,dt),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,dt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),b.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=G.access(e,r);t||e.addEventListener(n,i,!0),G.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=G.access(e,r)-1;t?G.access(e,r,t):(e.removeEventListener(n,i,!0),G.remove(e,r))}}});var pt,ht=/\[\]$/,gt=/\r?\n/g,vt=/^(?:submit|button|image|reset|file)$/i,yt=/^(?:input|select|textarea|keygen)/i;function mt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||ht.test(n)?i(n,t):mt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)mt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=x(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)mt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&yt.test(this.nodeName)&&!vt.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(gt,"\r\n")}}):{name:t.name,value:n.replace(gt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(x(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return x(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=x(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.createHTMLDocument=((pt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===pt.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(b.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),x(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||ie})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return z(this,function(e,t,n){var r;if(w(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=ze(b.pixelPosition,function(e,t){if(t)return t=Fe(e,n),Me.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return z(this,function(e,t,n){var r;return w(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),E.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),x(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=x,E.isWindow=w,E.camelCase=X,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var bt=g.jQuery,xt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=xt),e&&g.jQuery===E&&(g.jQuery=bt),E},e||(g.jQuery=g.$=E),E});
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.map b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.map
new file mode 100644
index 0000000..55ccb0f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery-3.4.1.slim.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery-3.4.1.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","rtrim","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","trim","makeArray","results","inArray","second","grep","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","swap","old","defaultDisplayMap","showHide","show","values","body","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","div","buildFragment","scripts","selection","ignored","wrap","attached","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","opt","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","cssHooks","opacity","cssNumber","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","initialInUnit","adjustCSS","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","propHooks","tabindex","parseInt","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","hidden","visible","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.4.1.slim.min.js"}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.js
new file mode 100644
index 0000000..9859301
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.js
@@ -0,0 +1,2958 @@
+/* jquery.signalR.core.js */
+/*global window:false */
+/*!
+ * ASP.NET SignalR JavaScript Library v2.2.2
+ * http://signalr.net/
+ *
+ * Copyright (c) .NET Foundation. All rights reserved.
+ * Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+ *
+ */
+
+/// <reference path="Scripts/jquery-1.6.4.js" />
+/// <reference path="jquery.signalR.version.js" />
+(function ($, window, undefined) {
+
+ var resources = {
+ nojQuery: "jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",
+ noTransportOnInit: "No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",
+ errorOnNegotiate: "Error during negotiation request.",
+ stoppedWhileLoading: "The connection was stopped during page load.",
+ stoppedWhileNegotiating: "The connection was stopped during the negotiate request.",
+ errorParsingNegotiateResponse: "Error parsing negotiate response.",
+ errorDuringStartRequest: "Error during start request. Stopping the connection.",
+ stoppedDuringStartRequest: "The connection was stopped during the start request.",
+ errorParsingStartResponse: "Error parsing start response: '{0}'. Stopping the connection.",
+ invalidStartResponse: "Invalid start response: '{0}'. Stopping the connection.",
+ protocolIncompatible: "You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",
+ sendFailed: "Send failed.",
+ parseFailed: "Failed at parsing response: {0}",
+ longPollFailed: "Long polling request failed.",
+ eventSourceFailedToConnect: "EventSource failed to connect.",
+ eventSourceError: "Error raised by EventSource",
+ webSocketClosed: "WebSocket closed.",
+ pingServerFailedInvalidResponse: "Invalid ping response when pinging server: '{0}'.",
+ pingServerFailed: "Failed to ping server.",
+ pingServerFailedStatusCode: "Failed to ping server. Server responded with status code {0}, stopping the connection.",
+ pingServerFailedParse: "Failed to parse ping server response, stopping the connection.",
+ noConnectionTransport: "Connection is in an invalid state, there is no transport active.",
+ webSocketsInvalidState: "The Web Socket transport is in an invalid state, transitioning into reconnecting.",
+ reconnectTimeout: "Couldn't reconnect within the configured timeout of {0} ms, disconnecting.",
+ reconnectWindowTimeout: "The client has been inactive since {0} and it has exceeded the inactivity timeout of {1} ms. Stopping the connection."
+ };
+
+ if (typeof ($) !== "function") {
+ // no jQuery!
+ throw new Error(resources.nojQuery);
+ }
+
+ var signalR,
+ _connection,
+ _pageLoaded = (window.document.readyState === "complete"),
+ _pageWindow = $(window),
+ _negotiateAbortText = "__Negotiate Aborted__",
+ events = {
+ onStart: "onStart",
+ onStarting: "onStarting",
+ onReceived: "onReceived",
+ onError: "onError",
+ onConnectionSlow: "onConnectionSlow",
+ onReconnecting: "onReconnecting",
+ onReconnect: "onReconnect",
+ onStateChanged: "onStateChanged",
+ onDisconnect: "onDisconnect"
+ },
+ ajaxDefaults = {
+ processData: true,
+ timeout: null,
+ async: true,
+ global: false,
+ cache: false
+ },
+ log = function (msg, logging) {
+ if (logging === false) {
+ return;
+ }
+ var m;
+ if (typeof (window.console) === "undefined") {
+ return;
+ }
+ m = "[" + new Date().toTimeString() + "] SignalR: " + msg;
+ if (window.console.debug) {
+ window.console.debug(m);
+ } else if (window.console.log) {
+ window.console.log(m);
+ }
+ },
+
+ changeState = function (connection, expectedState, newState) {
+ if (expectedState === connection.state) {
+ connection.state = newState;
+
+ $(connection).triggerHandler(events.onStateChanged, [{ oldState: expectedState, newState: newState }]);
+ return true;
+ }
+
+ return false;
+ },
+
+ isDisconnecting = function (connection) {
+ return connection.state === signalR.connectionState.disconnected;
+ },
+
+ supportsKeepAlive = function (connection) {
+ return connection._.keepAliveData.activated &&
+ connection.transport.supportsKeepAlive(connection);
+ },
+
+ configureStopReconnectingTimeout = function (connection) {
+ var stopReconnectingTimeout,
+ onReconnectTimeout;
+
+ // Check if this connection has already been configured to stop reconnecting after a specified timeout.
+ // Without this check if a connection is stopped then started events will be bound multiple times.
+ if (!connection._.configuredStopReconnectingTimeout) {
+ onReconnectTimeout = function (connection) {
+ var message = signalR._.format(signalR.resources.reconnectTimeout, connection.disconnectTimeout);
+ connection.log(message);
+ $(connection).triggerHandler(events.onError, [signalR._.error(message, /* source */ "TimeoutException")]);
+ connection.stop(/* async */ false, /* notifyServer */ false);
+ };
+
+ connection.reconnecting(function () {
+ var connection = this;
+
+ // Guard against state changing in a previous user defined even handler
+ if (connection.state === signalR.connectionState.reconnecting) {
+ stopReconnectingTimeout = window.setTimeout(function () { onReconnectTimeout(connection); }, connection.disconnectTimeout);
+ }
+ });
+
+ connection.stateChanged(function (data) {
+ if (data.oldState === signalR.connectionState.reconnecting) {
+ // Clear the pending reconnect timeout check
+ window.clearTimeout(stopReconnectingTimeout);
+ }
+ });
+
+ connection._.configuredStopReconnectingTimeout = true;
+ }
+ };
+
+ signalR = function (url, qs, logging) {
+ /// <summary>Creates a new SignalR connection for the given url</summary>
+ /// <param name="url" type="String">The URL of the long polling endpoint</param>
+ /// <param name="qs" type="Object">
+ /// [Optional] Custom querystring parameters to add to the connection URL.
+ /// If an object, every non-function member will be added to the querystring.
+ /// If a string, it's added to the QS as specified.
+ /// </param>
+ /// <param name="logging" type="Boolean">
+ /// [Optional] A flag indicating whether connection logging is enabled to the browser
+ /// console/log. Defaults to false.
+ /// </param>
+
+ return new signalR.fn.init(url, qs, logging);
+ };
+
+ signalR._ = {
+ defaultContentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+ ieVersion: (function () {
+ var version,
+ matches;
+
+ if (window.navigator.appName === 'Microsoft Internet Explorer') {
+ // Check if the user agent has the pattern "MSIE (one or more numbers).(one or more numbers)";
+ matches = /MSIE ([0-9]+\.[0-9]+)/.exec(window.navigator.userAgent);
+
+ if (matches) {
+ version = window.parseFloat(matches[1]);
+ }
+ }
+
+ // undefined value means not IE
+ return version;
+ })(),
+
+ error: function (message, source, context) {
+ var e = new Error(message);
+ e.source = source;
+
+ if (typeof context !== "undefined") {
+ e.context = context;
+ }
+
+ return e;
+ },
+
+ transportError: function (message, transport, source, context) {
+ var e = this.error(message, source, context);
+ e.transport = transport ? transport.name : undefined;
+ return e;
+ },
+
+ format: function () {
+ /// <summary>Usage: format("Hi {0}, you are {1}!", "Foo", 100) </summary>
+ var s = arguments[0];
+ for (var i = 0; i < arguments.length - 1; i++) {
+ s = s.replace("{" + i + "}", arguments[i + 1]);
+ }
+ return s;
+ },
+
+ firefoxMajorVersion: function (userAgent) {
+ // Firefox user agents: http://useragentstring.com/pages/Firefox/
+ var matches = userAgent.match(/Firefox\/(\d+)/);
+ if (!matches || !matches.length || matches.length < 2) {
+ return 0;
+ }
+ return parseInt(matches[1], 10 /* radix */);
+ },
+
+ configurePingInterval: function (connection) {
+ var config = connection._.config,
+ onFail = function (error) {
+ $(connection).triggerHandler(events.onError, [error]);
+ };
+
+ if (config && !connection._.pingIntervalId && config.pingInterval) {
+ connection._.pingIntervalId = window.setInterval(function () {
+ signalR.transports._logic.pingServer(connection).fail(onFail);
+ }, config.pingInterval);
+ }
+ }
+ };
+
+ signalR.events = events;
+
+ signalR.resources = resources;
+
+ signalR.ajaxDefaults = ajaxDefaults;
+
+ signalR.changeState = changeState;
+
+ signalR.isDisconnecting = isDisconnecting;
+
+ signalR.connectionState = {
+ connecting: 0,
+ connected: 1,
+ reconnecting: 2,
+ disconnected: 4
+ };
+
+ signalR.hub = {
+ start: function () {
+ // This will get replaced with the real hub connection start method when hubs is referenced correctly
+ throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'></script>.");
+ }
+ };
+
+ // .on() was added in version 1.7.0, .load() was removed in version 3.0.0 so we fallback to .load() if .on() does
+ // not exist to not break existing applications
+ if (typeof _pageWindow.on == "function") {
+ _pageWindow.on("load", function () { _pageLoaded = true; });
+ }
+ else {
+ _pageWindow.load(function () { _pageLoaded = true; });
+ }
+
+ function validateTransport(requestedTransport, connection) {
+ /// <summary>Validates the requested transport by cross checking it with the pre-defined signalR.transports</summary>
+ /// <param name="requestedTransport" type="Object">The designated transports that the user has specified.</param>
+ /// <param name="connection" type="signalR">The connection that will be using the requested transports. Used for logging purposes.</param>
+ /// <returns type="Object" />
+
+ if ($.isArray(requestedTransport)) {
+ // Go through transport array and remove an "invalid" tranports
+ for (var i = requestedTransport.length - 1; i >= 0; i--) {
+ var transport = requestedTransport[i];
+ if ($.type(transport) !== "string" || !signalR.transports[transport]) {
+ connection.log("Invalid transport: " + transport + ", removing it from the transports list.");
+ requestedTransport.splice(i, 1);
+ }
+ }
+
+ // Verify we still have transports left, if we dont then we have invalid transports
+ if (requestedTransport.length === 0) {
+ connection.log("No transports remain within the specified transport array.");
+ requestedTransport = null;
+ }
+ } else if (!signalR.transports[requestedTransport] && requestedTransport !== "auto") {
+ connection.log("Invalid transport: " + requestedTransport.toString() + ".");
+ requestedTransport = null;
+ } else if (requestedTransport === "auto" && signalR._.ieVersion <= 8) {
+ // If we're doing an auto transport and we're IE8 then force longPolling, #1764
+ return ["longPolling"];
+
+ }
+
+ return requestedTransport;
+ }
+
+ function getDefaultPort(protocol) {
+ if (protocol === "http:") {
+ return 80;
+ } else if (protocol === "https:") {
+ return 443;
+ }
+ }
+
+ function addDefaultPort(protocol, url) {
+ // Remove ports from url. We have to check if there's a / or end of line
+ // following the port in order to avoid removing ports such as 8080.
+ if (url.match(/:\d+$/)) {
+ return url;
+ } else {
+ return url + ":" + getDefaultPort(protocol);
+ }
+ }
+
+ function ConnectingMessageBuffer(connection, drainCallback) {
+ var that = this,
+ buffer = [];
+
+ that.tryBuffer = function (message) {
+ if (connection.state === $.signalR.connectionState.connecting) {
+ buffer.push(message);
+
+ return true;
+ }
+
+ return false;
+ };
+
+ that.drain = function () {
+ // Ensure that the connection is connected when we drain (do not want to drain while a connection is not active)
+ if (connection.state === $.signalR.connectionState.connected) {
+ while (buffer.length > 0) {
+ drainCallback(buffer.shift());
+ }
+ }
+ };
+
+ that.clear = function () {
+ buffer = [];
+ };
+ }
+
+ signalR.fn = signalR.prototype = {
+ init: function (url, qs, logging) {
+ var $connection = $(this);
+
+ this.url = url;
+ this.qs = qs;
+ this.lastError = null;
+ this._ = {
+ keepAliveData: {},
+ connectingMessageBuffer: new ConnectingMessageBuffer(this, function (message) {
+ $connection.triggerHandler(events.onReceived, [message]);
+ }),
+ lastMessageAt: new Date().getTime(),
+ lastActiveAt: new Date().getTime(),
+ beatInterval: 5000, // Default value, will only be overridden if keep alive is enabled,
+ beatHandle: null,
+ totalTransportConnectTimeout: 0 // This will be the sum of the TransportConnectTimeout sent in response to negotiate and connection.transportConnectTimeout
+ };
+ if (typeof (logging) === "boolean") {
+ this.logging = logging;
+ }
+ },
+
+ _parseResponse: function (response) {
+ var that = this;
+
+ if (!response) {
+ return response;
+ } else if (typeof response === "string") {
+ return that.json.parse(response);
+ } else {
+ return response;
+ }
+ },
+
+ _originalJson: window.JSON,
+
+ json: window.JSON,
+
+ isCrossDomain: function (url, against) {
+ /// <summary>Checks if url is cross domain</summary>
+ /// <param name="url" type="String">The base URL</param>
+ /// <param name="against" type="Object">
+ /// An optional argument to compare the URL against, if not specified it will be set to window.location.
+ /// If specified it must contain a protocol and a host property.
+ /// </param>
+ var link;
+
+ url = $.trim(url);
+
+ against = against || window.location;
+
+ if (url.indexOf("http") !== 0) {
+ return false;
+ }
+
+ // Create an anchor tag.
+ link = window.document.createElement("a");
+ link.href = url;
+
+ // When checking for cross domain we have to special case port 80 because the window.location will remove the
+ return link.protocol + addDefaultPort(link.protocol, link.host) !== against.protocol + addDefaultPort(against.protocol, against.host);
+ },
+
+ ajaxDataType: "text",
+
+ contentType: "application/json; charset=UTF-8",
+
+ logging: false,
+
+ state: signalR.connectionState.disconnected,
+
+ clientProtocol: "1.5",
+
+ reconnectDelay: 2000,
+
+ transportConnectTimeout: 0,
+
+ disconnectTimeout: 30000, // This should be set by the server in response to the negotiate request (30s default)
+
+ reconnectWindow: 30000, // This should be set by the server in response to the negotiate request
+
+ keepAliveWarnAt: 2 / 3, // Warn user of slow connection if we breach the X% mark of the keep alive timeout
+
+ start: function (options, callback) {
+ /// <summary>Starts the connection</summary>
+ /// <param name="options" type="Object">Options map</param>
+ /// <param name="callback" type="Function">A callback function to execute when the connection has started</param>
+ var connection = this,
+ config = {
+ pingInterval: 300000,
+ waitForPageLoad: true,
+ transport: "auto",
+ jsonp: false
+ },
+ initialize,
+ deferred = connection._deferral || $.Deferred(), // Check to see if there is a pre-existing deferral that's being built on, if so we want to keep using it
+ parser = window.document.createElement("a");
+
+ connection.lastError = null;
+
+ // Persist the deferral so that if start is called multiple times the same deferral is used.
+ connection._deferral = deferred;
+
+ if (!connection.json) {
+ // no JSON!
+ throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");
+ }
+
+ if ($.type(options) === "function") {
+ // Support calling with single callback parameter
+ callback = options;
+ } else if ($.type(options) === "object") {
+ $.extend(config, options);
+ if ($.type(config.callback) === "function") {
+ callback = config.callback;
+ }
+ }
+
+ config.transport = validateTransport(config.transport, connection);
+
+ // If the transport is invalid throw an error and abort start
+ if (!config.transport) {
+ throw new Error("SignalR: Invalid transport(s) specified, aborting start.");
+ }
+
+ connection._.config = config;
+
+ // Check to see if start is being called prior to page load
+ // If waitForPageLoad is true we then want to re-direct function call to the window load event
+ if (!_pageLoaded && config.waitForPageLoad === true) {
+ connection._.deferredStartHandler = function () {
+ connection.start(options, callback);
+ };
+ _pageWindow.bind("load", connection._.deferredStartHandler);
+
+ return deferred.promise();
+ }
+
+ // If we're already connecting just return the same deferral as the original connection start
+ if (connection.state === signalR.connectionState.connecting) {
+ return deferred.promise();
+ } else if (changeState(connection,
+ signalR.connectionState.disconnected,
+ signalR.connectionState.connecting) === false) {
+ // We're not connecting so try and transition into connecting.
+ // If we fail to transition then we're either in connected or reconnecting.
+
+ deferred.resolve(connection);
+ return deferred.promise();
+ }
+
+ configureStopReconnectingTimeout(connection);
+
+ // Resolve the full url
+ parser.href = connection.url;
+ if (!parser.protocol || parser.protocol === ":") {
+ connection.protocol = window.document.location.protocol;
+ connection.host = parser.host || window.document.location.host;
+ } else {
+ connection.protocol = parser.protocol;
+ connection.host = parser.host;
+ }
+
+ connection.baseUrl = connection.protocol + "//" + connection.host;
+
+ // Set the websocket protocol
+ connection.wsProtocol = connection.protocol === "https:" ? "wss://" : "ws://";
+
+ // If jsonp with no/auto transport is specified, then set the transport to long polling
+ // since that is the only transport for which jsonp really makes sense.
+ // Some developers might actually choose to specify jsonp for same origin requests
+ // as demonstrated by Issue #623.
+ if (config.transport === "auto" && config.jsonp === true) {
+ config.transport = "longPolling";
+ }
+
+ // If the url is protocol relative, prepend the current windows protocol to the url.
+ if (connection.url.indexOf("//") === 0) {
+ connection.url = window.location.protocol + connection.url;
+ connection.log("Protocol relative URL detected, normalizing it to '" + connection.url + "'.");
+ }
+
+ if (this.isCrossDomain(connection.url)) {
+ connection.log("Auto detected cross domain url.");
+
+ if (config.transport === "auto") {
+ // TODO: Support XDM with foreverFrame
+ config.transport = ["webSockets", "serverSentEvents", "longPolling"];
+ }
+
+ if (typeof (config.withCredentials) === "undefined") {
+ config.withCredentials = true;
+ }
+
+ // Determine if jsonp is the only choice for negotiation, ajaxSend and ajaxAbort.
+ // i.e. if the browser doesn't supports CORS
+ // If it is, ignore any preference to the contrary, and switch to jsonp.
+ if (!config.jsonp) {
+ config.jsonp = !$.support.cors;
+
+ if (config.jsonp) {
+ connection.log("Using jsonp because this browser doesn't support CORS.");
+ }
+ }
+
+ connection.contentType = signalR._.defaultContentType;
+ }
+
+ connection.withCredentials = config.withCredentials;
+
+ connection.ajaxDataType = config.jsonp ? "jsonp" : "text";
+
+ $(connection).bind(events.onStart, function (e, data) {
+ if ($.type(callback) === "function") {
+ callback.call(connection);
+ }
+ deferred.resolve(connection);
+ });
+
+ connection._.initHandler = signalR.transports._logic.initHandler(connection);
+
+ initialize = function (transports, index) {
+ var noTransportError = signalR._.error(resources.noTransportOnInit);
+
+ index = index || 0;
+ if (index >= transports.length) {
+ if (index === 0) {
+ connection.log("No transports supported by the server were selected.");
+ } else if (index === 1) {
+ connection.log("No fallback transports were selected.");
+ } else {
+ connection.log("Fallback transports exhausted.");
+ }
+
+ // No transport initialized successfully
+ $(connection).triggerHandler(events.onError, [noTransportError]);
+ deferred.reject(noTransportError);
+ // Stop the connection if it has connected and move it into the disconnected state
+ connection.stop();
+ return;
+ }
+
+ // The connection was aborted
+ if (connection.state === signalR.connectionState.disconnected) {
+ return;
+ }
+
+ var transportName = transports[index],
+ transport = signalR.transports[transportName],
+ onFallback = function () {
+ initialize(transports, index + 1);
+ };
+
+ connection.transport = transport;
+
+ try {
+ connection._.initHandler.start(transport, function () { // success
+ // Firefox 11+ doesn't allow sync XHR withCredentials: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#withCredentials
+ var isFirefox11OrGreater = signalR._.firefoxMajorVersion(window.navigator.userAgent) >= 11,
+ asyncAbort = !!connection.withCredentials && isFirefox11OrGreater;
+
+ connection.log("The start request succeeded. Transitioning to the connected state.");
+
+ if (supportsKeepAlive(connection)) {
+ signalR.transports._logic.monitorKeepAlive(connection);
+ }
+
+ signalR.transports._logic.startHeartbeat(connection);
+
+ // Used to ensure low activity clients maintain their authentication.
+ // Must be configured once a transport has been decided to perform valid ping requests.
+ signalR._.configurePingInterval(connection);
+
+ if (!changeState(connection,
+ signalR.connectionState.connecting,
+ signalR.connectionState.connected)) {
+ connection.log("WARNING! The connection was not in the connecting state.");
+ }
+
+ // Drain any incoming buffered messages (messages that came in prior to connect)
+ connection._.connectingMessageBuffer.drain();
+
+ $(connection).triggerHandler(events.onStart);
+
+ // wire the stop handler for when the user leaves the page
+ _pageWindow.bind("unload", function () {
+ connection.log("Window unloading, stopping the connection.");
+
+ connection.stop(asyncAbort);
+ });
+
+ if (isFirefox11OrGreater) {
+ // Firefox does not fire cross-domain XHRs in the normal unload handler on tab close.
+ // #2400
+ _pageWindow.bind("beforeunload", function () {
+ // If connection.stop() runs runs in beforeunload and fails, it will also fail
+ // in unload unless connection.stop() runs after a timeout.
+ window.setTimeout(function () {
+ connection.stop(asyncAbort);
+ }, 0);
+ });
+ }
+ }, onFallback);
+ }
+ catch (error) {
+ connection.log(transport.name + " transport threw '" + error.message + "' when attempting to start.");
+ onFallback();
+ }
+ };
+
+ var url = connection.url + "/negotiate",
+ onFailed = function (error, connection) {
+ var err = signalR._.error(resources.errorOnNegotiate, error, connection._.negotiateRequest);
+
+ $(connection).triggerHandler(events.onError, err);
+ deferred.reject(err);
+ // Stop the connection if negotiate failed
+ connection.stop();
+ };
+
+ $(connection).triggerHandler(events.onStarting);
+
+ url = signalR.transports._logic.prepareQueryString(connection, url);
+
+ connection.log("Negotiating with '" + url + "'.");
+
+ // Save the ajax negotiate request object so we can abort it if stop is called while the request is in flight.
+ connection._.negotiateRequest = signalR.transports._logic.ajax(connection, {
+ url: url,
+ error: function (error, statusText) {
+ // We don't want to cause any errors if we're aborting our own negotiate request.
+ if (statusText !== _negotiateAbortText) {
+ onFailed(error, connection);
+ } else {
+ // This rejection will noop if the deferred has already been resolved or rejected.
+ deferred.reject(signalR._.error(resources.stoppedWhileNegotiating, null /* error */, connection._.negotiateRequest));
+ }
+ },
+ success: function (result) {
+ var res,
+ keepAliveData,
+ protocolError,
+ transports = [],
+ supportedTransports = [];
+
+ try {
+ res = connection._parseResponse(result);
+ } catch (error) {
+ onFailed(signalR._.error(resources.errorParsingNegotiateResponse, error), connection);
+ return;
+ }
+
+ keepAliveData = connection._.keepAliveData;
+ connection.appRelativeUrl = res.Url;
+ connection.id = res.ConnectionId;
+ connection.token = res.ConnectionToken;
+ connection.webSocketServerUrl = res.WebSocketServerUrl;
+
+ // The long poll timeout is the ConnectionTimeout plus 10 seconds
+ connection._.pollTimeout = res.ConnectionTimeout * 1000 + 10000; // in ms
+
+ // Once the server has labeled the PersistentConnection as Disconnected, we should stop attempting to reconnect
+ // after res.DisconnectTimeout seconds.
+ connection.disconnectTimeout = res.DisconnectTimeout * 1000; // in ms
+
+ // Add the TransportConnectTimeout from the response to the transportConnectTimeout from the client to calculate the total timeout
+ connection._.totalTransportConnectTimeout = connection.transportConnectTimeout + res.TransportConnectTimeout * 1000;
+
+ // If we have a keep alive
+ if (res.KeepAliveTimeout) {
+ // Register the keep alive data as activated
+ keepAliveData.activated = true;
+
+ // Timeout to designate when to force the connection into reconnecting converted to milliseconds
+ keepAliveData.timeout = res.KeepAliveTimeout * 1000;
+
+ // Timeout to designate when to warn the developer that the connection may be dead or is not responding.
+ keepAliveData.timeoutWarning = keepAliveData.timeout * connection.keepAliveWarnAt;
+
+ // Instantiate the frequency in which we check the keep alive. It must be short in order to not miss/pick up any changes
+ connection._.beatInterval = (keepAliveData.timeout - keepAliveData.timeoutWarning) / 3;
+ } else {
+ keepAliveData.activated = false;
+ }
+
+ connection.reconnectWindow = connection.disconnectTimeout + (keepAliveData.timeout || 0);
+
+ if (!res.ProtocolVersion || res.ProtocolVersion !== connection.clientProtocol) {
+ protocolError = signalR._.error(signalR._.format(resources.protocolIncompatible, connection.clientProtocol, res.ProtocolVersion));
+ $(connection).triggerHandler(events.onError, [protocolError]);
+ deferred.reject(protocolError);
+
+ return;
+ }
+
+ $.each(signalR.transports, function (key) {
+ if ((key.indexOf("_") === 0) || (key === "webSockets" && !res.TryWebSockets)) {
+ return true;
+ }
+ supportedTransports.push(key);
+ });
+
+ if ($.isArray(config.transport)) {
+ $.each(config.transport, function (_, transport) {
+ if ($.inArray(transport, supportedTransports) >= 0) {
+ transports.push(transport);
+ }
+ });
+ } else if (config.transport === "auto") {
+ transports = supportedTransports;
+ } else if ($.inArray(config.transport, supportedTransports) >= 0) {
+ transports.push(config.transport);
+ }
+
+ initialize(transports);
+ }
+ });
+
+ return deferred.promise();
+ },
+
+ starting: function (callback) {
+ /// <summary>Adds a callback that will be invoked before anything is sent over the connection</summary>
+ /// <param name="callback" type="Function">A callback function to execute before the connection is fully instantiated.</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onStarting, function (e, data) {
+ callback.call(connection);
+ });
+ return connection;
+ },
+
+ send: function (data) {
+ /// <summary>Sends data over the connection</summary>
+ /// <param name="data" type="String">The data to send over the connection</param>
+ /// <returns type="signalR" />
+ var connection = this;
+
+ if (connection.state === signalR.connectionState.disconnected) {
+ // Connection hasn't been started yet
+ throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");
+ }
+
+ if (connection.state === signalR.connectionState.connecting) {
+ // Connection hasn't been started yet
+ throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");
+ }
+
+ connection.transport.send(connection, data);
+ // REVIEW: Should we return deferred here?
+ return connection;
+ },
+
+ received: function (callback) {
+ /// <summary>Adds a callback that will be invoked after anything is received over the connection</summary>
+ /// <param name="callback" type="Function">A callback function to execute when any data is received on the connection</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onReceived, function (e, data) {
+ callback.call(connection, data);
+ });
+ return connection;
+ },
+
+ stateChanged: function (callback) {
+ /// <summary>Adds a callback that will be invoked when the connection state changes</summary>
+ /// <param name="callback" type="Function">A callback function to execute when the connection state changes</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onStateChanged, function (e, data) {
+ callback.call(connection, data);
+ });
+ return connection;
+ },
+
+ error: function (callback) {
+ /// <summary>Adds a callback that will be invoked after an error occurs with the connection</summary>
+ /// <param name="callback" type="Function">A callback function to execute when an error occurs on the connection</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onError, function (e, errorData, sendData) {
+ connection.lastError = errorData;
+ // In practice 'errorData' is the SignalR built error object.
+ // In practice 'sendData' is undefined for all error events except those triggered by
+ // 'ajaxSend' and 'webSockets.send'.'sendData' is the original send payload.
+ callback.call(connection, errorData, sendData);
+ });
+ return connection;
+ },
+
+ disconnected: function (callback) {
+ /// <summary>Adds a callback that will be invoked when the client disconnects</summary>
+ /// <param name="callback" type="Function">A callback function to execute when the connection is broken</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onDisconnect, function (e, data) {
+ callback.call(connection);
+ });
+ return connection;
+ },
+
+ connectionSlow: function (callback) {
+ /// <summary>Adds a callback that will be invoked when the client detects a slow connection</summary>
+ /// <param name="callback" type="Function">A callback function to execute when the connection is slow</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onConnectionSlow, function (e, data) {
+ callback.call(connection);
+ });
+
+ return connection;
+ },
+
+ reconnecting: function (callback) {
+ /// <summary>Adds a callback that will be invoked when the underlying transport begins reconnecting</summary>
+ /// <param name="callback" type="Function">A callback function to execute when the connection enters a reconnecting state</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onReconnecting, function (e, data) {
+ callback.call(connection);
+ });
+ return connection;
+ },
+
+ reconnected: function (callback) {
+ /// <summary>Adds a callback that will be invoked when the underlying transport reconnects</summary>
+ /// <param name="callback" type="Function">A callback function to execute when the connection is restored</param>
+ /// <returns type="signalR" />
+ var connection = this;
+ $(connection).bind(events.onReconnect, function (e, data) {
+ callback.call(connection);
+ });
+ return connection;
+ },
+
+ stop: function (async, notifyServer) {
+ /// <summary>Stops listening</summary>
+ /// <param name="async" type="Boolean">Whether or not to asynchronously abort the connection</param>
+ /// <param name="notifyServer" type="Boolean">Whether we want to notify the server that we are aborting the connection</param>
+ /// <returns type="signalR" />
+ var connection = this,
+ // Save deferral because this is always cleaned up
+ deferral = connection._deferral;
+
+ // Verify that we've bound a load event.
+ if (connection._.deferredStartHandler) {
+ // Unbind the event.
+ _pageWindow.unbind("load", connection._.deferredStartHandler);
+ }
+
+ // Always clean up private non-timeout based state.
+ delete connection._.config;
+ delete connection._.deferredStartHandler;
+
+ // This needs to be checked despite the connection state because a connection start can be deferred until page load.
+ // If we've deferred the start due to a page load we need to unbind the "onLoad" -> start event.
+ if (!_pageLoaded && (!connection._.config || connection._.config.waitForPageLoad === true)) {
+ connection.log("Stopping connection prior to negotiate.");
+
+ // If we have a deferral we should reject it
+ if (deferral) {
+ deferral.reject(signalR._.error(resources.stoppedWhileLoading));
+ }
+
+ // Short-circuit because the start has not been fully started.
+ return;
+ }
+
+ if (connection.state === signalR.connectionState.disconnected) {
+ return;
+ }
+
+ connection.log("Stopping connection.");
+
+ // Clear this no matter what
+ window.clearTimeout(connection._.beatHandle);
+ window.clearInterval(connection._.pingIntervalId);
+
+ if (connection.transport) {
+ connection.transport.stop(connection);
+
+ if (notifyServer !== false) {
+ connection.transport.abort(connection, async);
+ }
+
+ if (supportsKeepAlive(connection)) {
+ signalR.transports._logic.stopMonitoringKeepAlive(connection);
+ }
+
+ connection.transport = null;
+ }
+
+ if (connection._.negotiateRequest) {
+ // If the negotiation request has already completed this will noop.
+ connection._.negotiateRequest.abort(_negotiateAbortText);
+ delete connection._.negotiateRequest;
+ }
+
+ // Ensure that initHandler.stop() is called before connection._deferral is deleted
+ if (connection._.initHandler) {
+ connection._.initHandler.stop();
+ }
+
+ delete connection._deferral;
+ delete connection.messageId;
+ delete connection.groupsToken;
+ delete connection.id;
+ delete connection._.pingIntervalId;
+ delete connection._.lastMessageAt;
+ delete connection._.lastActiveAt;
+
+ // Clear out our message buffer
+ connection._.connectingMessageBuffer.clear();
+
+ // Clean up this event
+ $(connection).unbind(events.onStart);
+
+ // Trigger the disconnect event
+ changeState(connection, connection.state, signalR.connectionState.disconnected);
+ $(connection).triggerHandler(events.onDisconnect);
+
+ return connection;
+ },
+
+ log: function (msg) {
+ log(msg, this.logging);
+ }
+ };
+
+ signalR.fn.init.prototype = signalR.fn;
+
+ signalR.noConflict = function () {
+ /// <summary>Reinstates the original value of $.connection and returns the signalR object for manual assignment</summary>
+ /// <returns type="signalR" />
+ if ($.connection === signalR) {
+ $.connection = _connection;
+ }
+ return signalR;
+ };
+
+ if ($.connection) {
+ _connection = $.connection;
+ }
+
+ $.connection = $.signalR = signalR;
+
+}(window.jQuery, window));
+/* jquery.signalR.transports.common.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+/*global window:false */
+/// <reference path="jquery.signalR.core.js" />
+
+(function ($, window, undefined) {
+
+ var signalR = $.signalR,
+ events = $.signalR.events,
+ changeState = $.signalR.changeState,
+ startAbortText = "__Start Aborted__",
+ transportLogic;
+
+ signalR.transports = {};
+
+ function beat(connection) {
+ if (connection._.keepAliveData.monitoring) {
+ checkIfAlive(connection);
+ }
+
+ // Ensure that we successfully marked active before continuing the heartbeat.
+ if (transportLogic.markActive(connection)) {
+ connection._.beatHandle = window.setTimeout(function () {
+ beat(connection);
+ }, connection._.beatInterval);
+ }
+ }
+
+ function checkIfAlive(connection) {
+ var keepAliveData = connection._.keepAliveData,
+ timeElapsed;
+
+ // Only check if we're connected
+ if (connection.state === signalR.connectionState.connected) {
+ timeElapsed = new Date().getTime() - connection._.lastMessageAt;
+
+ // Check if the keep alive has completely timed out
+ if (timeElapsed >= keepAliveData.timeout) {
+ connection.log("Keep alive timed out. Notifying transport that connection has been lost.");
+
+ // Notify transport that the connection has been lost
+ connection.transport.lostConnection(connection);
+ } else if (timeElapsed >= keepAliveData.timeoutWarning) {
+ // This is to assure that the user only gets a single warning
+ if (!keepAliveData.userNotified) {
+ connection.log("Keep alive has been missed, connection may be dead/slow.");
+ $(connection).triggerHandler(events.onConnectionSlow);
+ keepAliveData.userNotified = true;
+ }
+ } else {
+ keepAliveData.userNotified = false;
+ }
+ }
+ }
+
+ function getAjaxUrl(connection, path) {
+ var url = connection.url + path;
+
+ if (connection.transport) {
+ url += "?transport=" + connection.transport.name;
+ }
+
+ return transportLogic.prepareQueryString(connection, url);
+ }
+
+ function InitHandler(connection) {
+ this.connection = connection;
+
+ this.startRequested = false;
+ this.startCompleted = false;
+ this.connectionStopped = false;
+ }
+
+ InitHandler.prototype = {
+ start: function (transport, onSuccess, onFallback) {
+ var that = this,
+ connection = that.connection,
+ failCalled = false;
+
+ if (that.startRequested || that.connectionStopped) {
+ connection.log("WARNING! " + transport.name + " transport cannot be started. Initialization ongoing or completed.");
+ return;
+ }
+
+ connection.log(transport.name + " transport starting.");
+
+ transport.start(connection, function () {
+ if (!failCalled) {
+ that.initReceived(transport, onSuccess);
+ }
+ }, function (error) {
+ // Don't allow the same transport to cause onFallback to be called twice
+ if (!failCalled) {
+ failCalled = true;
+ that.transportFailed(transport, error, onFallback);
+ }
+
+ // Returns true if the transport should stop;
+ // false if it should attempt to reconnect
+ return !that.startCompleted || that.connectionStopped;
+ });
+
+ that.transportTimeoutHandle = window.setTimeout(function () {
+ if (!failCalled) {
+ failCalled = true;
+ connection.log(transport.name + " transport timed out when trying to connect.");
+ that.transportFailed(transport, undefined, onFallback);
+ }
+ }, connection._.totalTransportConnectTimeout);
+ },
+
+ stop: function () {
+ this.connectionStopped = true;
+ window.clearTimeout(this.transportTimeoutHandle);
+ signalR.transports._logic.tryAbortStartRequest(this.connection);
+ },
+
+ initReceived: function (transport, onSuccess) {
+ var that = this,
+ connection = that.connection;
+
+ if (that.startRequested) {
+ connection.log("WARNING! The client received multiple init messages.");
+ return;
+ }
+
+ if (that.connectionStopped) {
+ return;
+ }
+
+ that.startRequested = true;
+ window.clearTimeout(that.transportTimeoutHandle);
+
+ connection.log(transport.name + " transport connected. Initiating start request.");
+ signalR.transports._logic.ajaxStart(connection, function () {
+ that.startCompleted = true;
+ onSuccess();
+ });
+ },
+
+ transportFailed: function (transport, error, onFallback) {
+ var connection = this.connection,
+ deferred = connection._deferral,
+ wrappedError;
+
+ if (this.connectionStopped) {
+ return;
+ }
+
+ window.clearTimeout(this.transportTimeoutHandle);
+
+ if (!this.startRequested) {
+ transport.stop(connection);
+
+ connection.log(transport.name + " transport failed to connect. Attempting to fall back.");
+ onFallback();
+ } else if (!this.startCompleted) {
+ // Do not attempt to fall back if a start request is ongoing during a transport failure.
+ // Instead, trigger an error and stop the connection.
+ wrappedError = signalR._.error(signalR.resources.errorDuringStartRequest, error);
+
+ connection.log(transport.name + " transport failed during the start request. Stopping the connection.");
+ $(connection).triggerHandler(events.onError, [wrappedError]);
+ if (deferred) {
+ deferred.reject(wrappedError);
+ }
+
+ connection.stop();
+ } else {
+ // The start request has completed, but the connection has not stopped.
+ // No need to do anything here. The transport should attempt its normal reconnect logic.
+ }
+ }
+ };
+
+ transportLogic = signalR.transports._logic = {
+ ajax: function (connection, options) {
+ return $.ajax(
+ $.extend(/*deep copy*/ true, {}, $.signalR.ajaxDefaults, {
+ type: "GET",
+ data: {},
+ xhrFields: { withCredentials: connection.withCredentials },
+ contentType: connection.contentType,
+ dataType: connection.ajaxDataType
+ }, options));
+ },
+
+ pingServer: function (connection) {
+ /// <summary>Pings the server</summary>
+ /// <param name="connection" type="signalr">Connection associated with the server ping</param>
+ /// <returns type="signalR" />
+ var url,
+ xhr,
+ deferral = $.Deferred();
+
+ if (connection.transport) {
+ url = connection.url + "/ping";
+
+ url = transportLogic.addQs(url, connection.qs);
+
+ xhr = transportLogic.ajax(connection, {
+ url: url,
+ success: function (result) {
+ var data;
+
+ try {
+ data = connection._parseResponse(result);
+ }
+ catch (error) {
+ deferral.reject(
+ signalR._.transportError(
+ signalR.resources.pingServerFailedParse,
+ connection.transport,
+ error,
+ xhr
+ )
+ );
+ connection.stop();
+ return;
+ }
+
+ if (data.Response === "pong") {
+ deferral.resolve();
+ }
+ else {
+ deferral.reject(
+ signalR._.transportError(
+ signalR._.format(signalR.resources.pingServerFailedInvalidResponse, result),
+ connection.transport,
+ null /* error */,
+ xhr
+ )
+ );
+ }
+ },
+ error: function (error) {
+ if (error.status === 401 || error.status === 403) {
+ deferral.reject(
+ signalR._.transportError(
+ signalR._.format(signalR.resources.pingServerFailedStatusCode, error.status),
+ connection.transport,
+ error,
+ xhr
+ )
+ );
+ connection.stop();
+ }
+ else {
+ deferral.reject(
+ signalR._.transportError(
+ signalR.resources.pingServerFailed,
+ connection.transport,
+ error,
+ xhr
+ )
+ );
+ }
+ }
+ });
+ }
+ else {
+ deferral.reject(
+ signalR._.transportError(
+ signalR.resources.noConnectionTransport,
+ connection.transport
+ )
+ );
+ }
+
+ return deferral.promise();
+ },
+
+ prepareQueryString: function (connection, url) {
+ var preparedUrl;
+
+ // Use addQs to start since it handles the ?/& prefix for us
+ preparedUrl = transportLogic.addQs(url, "clientProtocol=" + connection.clientProtocol);
+
+ // Add the user-specified query string params if any
+ preparedUrl = transportLogic.addQs(preparedUrl, connection.qs);
+
+ if (connection.token) {
+ preparedUrl += "&connectionToken=" + window.encodeURIComponent(connection.token);
+ }
+
+ if (connection.data) {
+ preparedUrl += "&connectionData=" + window.encodeURIComponent(connection.data);
+ }
+
+ return preparedUrl;
+ },
+
+ addQs: function (url, qs) {
+ var appender = url.indexOf("?") !== -1 ? "&" : "?",
+ firstChar;
+
+ if (!qs) {
+ return url;
+ }
+
+ if (typeof (qs) === "object") {
+ return url + appender + $.param(qs);
+ }
+
+ if (typeof (qs) === "string") {
+ firstChar = qs.charAt(0);
+
+ if (firstChar === "?" || firstChar === "&") {
+ appender = "";
+ }
+
+ return url + appender + qs;
+ }
+
+ throw new Error("Query string property must be either a string or object.");
+ },
+
+ // BUG #2953: The url needs to be same otherwise it will cause a memory leak
+ getUrl: function (connection, transport, reconnecting, poll, ajaxPost) {
+ /// <summary>Gets the url for making a GET based connect request</summary>
+ var baseUrl = transport === "webSockets" ? "" : connection.baseUrl,
+ url = baseUrl + connection.appRelativeUrl,
+ qs = "transport=" + transport;
+
+ if (!ajaxPost && connection.groupsToken) {
+ qs += "&groupsToken=" + window.encodeURIComponent(connection.groupsToken);
+ }
+
+ if (!reconnecting) {
+ url += "/connect";
+ } else {
+ if (poll) {
+ // longPolling transport specific
+ url += "/poll";
+ } else {
+ url += "/reconnect";
+ }
+
+ if (!ajaxPost && connection.messageId) {
+ qs += "&messageId=" + window.encodeURIComponent(connection.messageId);
+ }
+ }
+ url += "?" + qs;
+ url = transportLogic.prepareQueryString(connection, url);
+
+ if (!ajaxPost) {
+ url += "&tid=" + Math.floor(Math.random() * 11);
+ }
+
+ return url;
+ },
+
+ maximizePersistentResponse: function (minPersistentResponse) {
+ return {
+ MessageId: minPersistentResponse.C,
+ Messages: minPersistentResponse.M,
+ Initialized: typeof (minPersistentResponse.S) !== "undefined" ? true : false,
+ ShouldReconnect: typeof (minPersistentResponse.T) !== "undefined" ? true : false,
+ LongPollDelay: minPersistentResponse.L,
+ GroupsToken: minPersistentResponse.G
+ };
+ },
+
+ updateGroups: function (connection, groupsToken) {
+ if (groupsToken) {
+ connection.groupsToken = groupsToken;
+ }
+ },
+
+ stringifySend: function (connection, message) {
+ if (typeof (message) === "string" || typeof (message) === "undefined" || message === null) {
+ return message;
+ }
+ return connection.json.stringify(message);
+ },
+
+ ajaxSend: function (connection, data) {
+ var payload = transportLogic.stringifySend(connection, data),
+ url = getAjaxUrl(connection, "/send"),
+ xhr,
+ onFail = function (error, connection) {
+ $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.sendFailed, connection.transport, error, xhr), data]);
+ };
+
+
+ xhr = transportLogic.ajax(connection, {
+ url: url,
+ type: connection.ajaxDataType === "jsonp" ? "GET" : "POST",
+ contentType: signalR._.defaultContentType,
+ data: {
+ data: payload
+ },
+ success: function (result) {
+ var res;
+
+ if (result) {
+ try {
+ res = connection._parseResponse(result);
+ }
+ catch (error) {
+ onFail(error, connection);
+ connection.stop();
+ return;
+ }
+
+ transportLogic.triggerReceived(connection, res);
+ }
+ },
+ error: function (error, textStatus) {
+ if (textStatus === "abort" || textStatus === "parsererror") {
+ // The parsererror happens for sends that don't return any data, and hence
+ // don't write the jsonp callback to the response. This is harder to fix on the server
+ // so just hack around it on the client for now.
+ return;
+ }
+
+ onFail(error, connection);
+ }
+ });
+
+ return xhr;
+ },
+
+ ajaxAbort: function (connection, async) {
+ if (typeof (connection.transport) === "undefined") {
+ return;
+ }
+
+ // Async by default unless explicitly overidden
+ async = typeof async === "undefined" ? true : async;
+
+ var url = getAjaxUrl(connection, "/abort");
+
+ transportLogic.ajax(connection, {
+ url: url,
+ async: async,
+ timeout: 1000,
+ type: "POST"
+ });
+
+ connection.log("Fired ajax abort async = " + async + ".");
+ },
+
+ ajaxStart: function (connection, onSuccess) {
+ var rejectDeferred = function (error) {
+ var deferred = connection._deferral;
+ if (deferred) {
+ deferred.reject(error);
+ }
+ },
+ triggerStartError = function (error) {
+ connection.log("The start request failed. Stopping the connection.");
+ $(connection).triggerHandler(events.onError, [error]);
+ rejectDeferred(error);
+ connection.stop();
+ };
+
+ connection._.startRequest = transportLogic.ajax(connection, {
+ url: getAjaxUrl(connection, "/start"),
+ success: function (result, statusText, xhr) {
+ var data;
+
+ try {
+ data = connection._parseResponse(result);
+ } catch (error) {
+ triggerStartError(signalR._.error(
+ signalR._.format(signalR.resources.errorParsingStartResponse, result),
+ error, xhr));
+ return;
+ }
+
+ if (data.Response === "started") {
+ onSuccess();
+ } else {
+ triggerStartError(signalR._.error(
+ signalR._.format(signalR.resources.invalidStartResponse, result),
+ null /* error */, xhr));
+ }
+ },
+ error: function (xhr, statusText, error) {
+ if (statusText !== startAbortText) {
+ triggerStartError(signalR._.error(
+ signalR.resources.errorDuringStartRequest,
+ error, xhr));
+ } else {
+ // Stop has been called, no need to trigger the error handler
+ // or stop the connection again with onStartError
+ connection.log("The start request aborted because connection.stop() was called.");
+ rejectDeferred(signalR._.error(
+ signalR.resources.stoppedDuringStartRequest,
+ null /* error */, xhr));
+ }
+ }
+ });
+ },
+
+ tryAbortStartRequest: function (connection) {
+ if (connection._.startRequest) {
+ // If the start request has already completed this will noop.
+ connection._.startRequest.abort(startAbortText);
+ delete connection._.startRequest;
+ }
+ },
+
+ tryInitialize: function (connection, persistentResponse, onInitialized) {
+ if (persistentResponse.Initialized && onInitialized) {
+ onInitialized();
+ } else if (persistentResponse.Initialized) {
+ connection.log("WARNING! The client received an init message after reconnecting.");
+ }
+
+ },
+
+ triggerReceived: function (connection, data) {
+ if (!connection._.connectingMessageBuffer.tryBuffer(data)) {
+ $(connection).triggerHandler(events.onReceived, [data]);
+ }
+ },
+
+ processMessages: function (connection, minData, onInitialized) {
+ var data;
+
+ // Update the last message time stamp
+ transportLogic.markLastMessage(connection);
+
+ if (minData) {
+ data = transportLogic.maximizePersistentResponse(minData);
+
+ transportLogic.updateGroups(connection, data.GroupsToken);
+
+ if (data.MessageId) {
+ connection.messageId = data.MessageId;
+ }
+
+ if (data.Messages) {
+ $.each(data.Messages, function (index, message) {
+ transportLogic.triggerReceived(connection, message);
+ });
+
+ transportLogic.tryInitialize(connection, data, onInitialized);
+ }
+ }
+ },
+
+ monitorKeepAlive: function (connection) {
+ var keepAliveData = connection._.keepAliveData;
+
+ // If we haven't initiated the keep alive timeouts then we need to
+ if (!keepAliveData.monitoring) {
+ keepAliveData.monitoring = true;
+
+ transportLogic.markLastMessage(connection);
+
+ // Save the function so we can unbind it on stop
+ connection._.keepAliveData.reconnectKeepAliveUpdate = function () {
+ // Mark a new message so that keep alive doesn't time out connections
+ transportLogic.markLastMessage(connection);
+ };
+
+ // Update Keep alive on reconnect
+ $(connection).bind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate);
+
+ connection.log("Now monitoring keep alive with a warning timeout of " + keepAliveData.timeoutWarning + ", keep alive timeout of " + keepAliveData.timeout + " and disconnecting timeout of " + connection.disconnectTimeout);
+ } else {
+ connection.log("Tried to monitor keep alive but it's already being monitored.");
+ }
+ },
+
+ stopMonitoringKeepAlive: function (connection) {
+ var keepAliveData = connection._.keepAliveData;
+
+ // Only attempt to stop the keep alive monitoring if its being monitored
+ if (keepAliveData.monitoring) {
+ // Stop monitoring
+ keepAliveData.monitoring = false;
+
+ // Remove the updateKeepAlive function from the reconnect event
+ $(connection).unbind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate);
+
+ // Clear all the keep alive data
+ connection._.keepAliveData = {};
+ connection.log("Stopping the monitoring of the keep alive.");
+ }
+ },
+
+ startHeartbeat: function (connection) {
+ connection._.lastActiveAt = new Date().getTime();
+ beat(connection);
+ },
+
+ markLastMessage: function (connection) {
+ connection._.lastMessageAt = new Date().getTime();
+ },
+
+ markActive: function (connection) {
+ if (transportLogic.verifyLastActive(connection)) {
+ connection._.lastActiveAt = new Date().getTime();
+ return true;
+ }
+
+ return false;
+ },
+
+ isConnectedOrReconnecting: function (connection) {
+ return connection.state === signalR.connectionState.connected ||
+ connection.state === signalR.connectionState.reconnecting;
+ },
+
+ ensureReconnectingState: function (connection) {
+ if (changeState(connection,
+ signalR.connectionState.connected,
+ signalR.connectionState.reconnecting) === true) {
+ $(connection).triggerHandler(events.onReconnecting);
+ }
+ return connection.state === signalR.connectionState.reconnecting;
+ },
+
+ clearReconnectTimeout: function (connection) {
+ if (connection && connection._.reconnectTimeout) {
+ window.clearTimeout(connection._.reconnectTimeout);
+ delete connection._.reconnectTimeout;
+ }
+ },
+
+ verifyLastActive: function (connection) {
+ if (new Date().getTime() - connection._.lastActiveAt >= connection.reconnectWindow) {
+ var message = signalR._.format(signalR.resources.reconnectWindowTimeout, new Date(connection._.lastActiveAt), connection.reconnectWindow);
+ connection.log(message);
+ $(connection).triggerHandler(events.onError, [signalR._.error(message, /* source */ "TimeoutException")]);
+ connection.stop(/* async */ false, /* notifyServer */ false);
+ return false;
+ }
+
+ return true;
+ },
+
+ reconnect: function (connection, transportName) {
+ var transport = signalR.transports[transportName];
+
+ // We should only set a reconnectTimeout if we are currently connected
+ // and a reconnectTimeout isn't already set.
+ if (transportLogic.isConnectedOrReconnecting(connection) && !connection._.reconnectTimeout) {
+ // Need to verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration.
+ if (!transportLogic.verifyLastActive(connection)) {
+ return;
+ }
+
+ connection._.reconnectTimeout = window.setTimeout(function () {
+ if (!transportLogic.verifyLastActive(connection)) {
+ return;
+ }
+
+ transport.stop(connection);
+
+ if (transportLogic.ensureReconnectingState(connection)) {
+ connection.log(transportName + " reconnecting.");
+ transport.start(connection);
+ }
+ }, connection.reconnectDelay);
+ }
+ },
+
+ handleParseFailure: function (connection, result, error, onFailed, context) {
+ var wrappedError = signalR._.transportError(
+ signalR._.format(signalR.resources.parseFailed, result),
+ connection.transport,
+ error,
+ context);
+
+ // If we're in the initialization phase trigger onFailed, otherwise stop the connection.
+ if (onFailed && onFailed(wrappedError)) {
+ connection.log("Failed to parse server response while attempting to connect.");
+ } else {
+ $(connection).triggerHandler(events.onError, [wrappedError]);
+ connection.stop();
+ }
+ },
+
+ initHandler: function (connection) {
+ return new InitHandler(connection);
+ },
+
+ foreverFrame: {
+ count: 0,
+ connections: {}
+ }
+ };
+
+}(window.jQuery, window));
+/* jquery.signalR.transports.webSockets.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+
+/*global window:false */
+/// <reference path="jquery.signalR.transports.common.js" />
+
+(function ($, window, undefined) {
+
+ var signalR = $.signalR,
+ events = $.signalR.events,
+ changeState = $.signalR.changeState,
+ transportLogic = signalR.transports._logic;
+
+ signalR.transports.webSockets = {
+ name: "webSockets",
+
+ supportsKeepAlive: function () {
+ return true;
+ },
+
+ send: function (connection, data) {
+ var payload = transportLogic.stringifySend(connection, data);
+
+ try {
+ connection.socket.send(payload);
+ } catch (ex) {
+ $(connection).triggerHandler(events.onError,
+ [signalR._.transportError(
+ signalR.resources.webSocketsInvalidState,
+ connection.transport,
+ ex,
+ connection.socket
+ ),
+ data]);
+ }
+ },
+
+ start: function (connection, onSuccess, onFailed) {
+ var url,
+ opened = false,
+ that = this,
+ reconnecting = !onSuccess,
+ $connection = $(connection);
+
+ if (!window.WebSocket) {
+ onFailed();
+ return;
+ }
+
+ if (!connection.socket) {
+ if (connection.webSocketServerUrl) {
+ url = connection.webSocketServerUrl;
+ } else {
+ url = connection.wsProtocol + connection.host;
+ }
+
+ url += transportLogic.getUrl(connection, this.name, reconnecting);
+
+ connection.log("Connecting to websocket endpoint '" + url + "'.");
+ connection.socket = new window.WebSocket(url);
+
+ connection.socket.onopen = function () {
+ opened = true;
+ connection.log("Websocket opened.");
+
+ transportLogic.clearReconnectTimeout(connection);
+
+ if (changeState(connection,
+ signalR.connectionState.reconnecting,
+ signalR.connectionState.connected) === true) {
+ $connection.triggerHandler(events.onReconnect);
+ }
+ };
+
+ connection.socket.onclose = function (event) {
+ var error;
+
+ // Only handle a socket close if the close is from the current socket.
+ // Sometimes on disconnect the server will push down an onclose event
+ // to an expired socket.
+
+ if (this === connection.socket) {
+ if (opened && typeof event.wasClean !== "undefined" && event.wasClean === false) {
+ // Ideally this would use the websocket.onerror handler (rather than checking wasClean in onclose) but
+ // I found in some circumstances Chrome won't call onerror. This implementation seems to work on all browsers.
+ error = signalR._.transportError(
+ signalR.resources.webSocketClosed,
+ connection.transport,
+ event);
+
+ connection.log("Unclean disconnect from websocket: " + (event.reason || "[no reason given]."));
+ } else {
+ connection.log("Websocket closed.");
+ }
+
+ if (!onFailed || !onFailed(error)) {
+ if (error) {
+ $(connection).triggerHandler(events.onError, [error]);
+ }
+
+ that.reconnect(connection);
+ }
+ }
+ };
+
+ connection.socket.onmessage = function (event) {
+ var data;
+
+ try {
+ data = connection._parseResponse(event.data);
+ }
+ catch (error) {
+ transportLogic.handleParseFailure(connection, event.data, error, onFailed, event);
+ return;
+ }
+
+ if (data) {
+ // data.M is PersistentResponse.Messages
+ if ($.isEmptyObject(data) || data.M) {
+ transportLogic.processMessages(connection, data, onSuccess);
+ } else {
+ // For websockets we need to trigger onReceived
+ // for callbacks to outgoing hub calls.
+ transportLogic.triggerReceived(connection, data);
+ }
+ }
+ };
+ }
+ },
+
+ reconnect: function (connection) {
+ transportLogic.reconnect(connection, this.name);
+ },
+
+ lostConnection: function (connection) {
+ this.reconnect(connection);
+ },
+
+ stop: function (connection) {
+ // Don't trigger a reconnect after stopping
+ transportLogic.clearReconnectTimeout(connection);
+
+ if (connection.socket) {
+ connection.log("Closing the Websocket.");
+ connection.socket.close();
+ connection.socket = null;
+ }
+ },
+
+ abort: function (connection, async) {
+ transportLogic.ajaxAbort(connection, async);
+ }
+ };
+
+}(window.jQuery, window));
+/* jquery.signalR.transports.serverSentEvents.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+
+/*global window:false */
+/// <reference path="jquery.signalR.transports.common.js" />
+
+(function ($, window, undefined) {
+
+ var signalR = $.signalR,
+ events = $.signalR.events,
+ changeState = $.signalR.changeState,
+ transportLogic = signalR.transports._logic,
+ clearReconnectAttemptTimeout = function (connection) {
+ window.clearTimeout(connection._.reconnectAttemptTimeoutHandle);
+ delete connection._.reconnectAttemptTimeoutHandle;
+ };
+
+ signalR.transports.serverSentEvents = {
+ name: "serverSentEvents",
+
+ supportsKeepAlive: function () {
+ return true;
+ },
+
+ timeOut: 3000,
+
+ start: function (connection, onSuccess, onFailed) {
+ var that = this,
+ opened = false,
+ $connection = $(connection),
+ reconnecting = !onSuccess,
+ url;
+
+ if (connection.eventSource) {
+ connection.log("The connection already has an event source. Stopping it.");
+ connection.stop();
+ }
+
+ if (!window.EventSource) {
+ if (onFailed) {
+ connection.log("This browser doesn't support SSE.");
+ onFailed();
+ }
+ return;
+ }
+
+ url = transportLogic.getUrl(connection, this.name, reconnecting);
+
+ try {
+ connection.log("Attempting to connect to SSE endpoint '" + url + "'.");
+ connection.eventSource = new window.EventSource(url, { withCredentials: connection.withCredentials });
+ }
+ catch (e) {
+ connection.log("EventSource failed trying to connect with error " + e.Message + ".");
+ if (onFailed) {
+ // The connection failed, call the failed callback
+ onFailed();
+ } else {
+ $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceFailedToConnect, connection.transport, e)]);
+ if (reconnecting) {
+ // If we were reconnecting, rather than doing initial connect, then try reconnect again
+ that.reconnect(connection);
+ }
+ }
+ return;
+ }
+
+ if (reconnecting) {
+ connection._.reconnectAttemptTimeoutHandle = window.setTimeout(function () {
+ if (opened === false) {
+ // If we're reconnecting and the event source is attempting to connect,
+ // don't keep retrying. This causes duplicate connections to spawn.
+ if (connection.eventSource.readyState !== window.EventSource.OPEN) {
+ // If we were reconnecting, rather than doing initial connect, then try reconnect again
+ that.reconnect(connection);
+ }
+ }
+ },
+ that.timeOut);
+ }
+
+ connection.eventSource.addEventListener("open", function (e) {
+ connection.log("EventSource connected.");
+
+ clearReconnectAttemptTimeout(connection);
+ transportLogic.clearReconnectTimeout(connection);
+
+ if (opened === false) {
+ opened = true;
+
+ if (changeState(connection,
+ signalR.connectionState.reconnecting,
+ signalR.connectionState.connected) === true) {
+ $connection.triggerHandler(events.onReconnect);
+ }
+ }
+ }, false);
+
+ connection.eventSource.addEventListener("message", function (e) {
+ var res;
+
+ // process messages
+ if (e.data === "initialized") {
+ return;
+ }
+
+ try {
+ res = connection._parseResponse(e.data);
+ }
+ catch (error) {
+ transportLogic.handleParseFailure(connection, e.data, error, onFailed, e);
+ return;
+ }
+
+ transportLogic.processMessages(connection, res, onSuccess);
+ }, false);
+
+ connection.eventSource.addEventListener("error", function (e) {
+ var error = signalR._.transportError(
+ signalR.resources.eventSourceError,
+ connection.transport,
+ e);
+
+ // Only handle an error if the error is from the current Event Source.
+ // Sometimes on disconnect the server will push down an error event
+ // to an expired Event Source.
+ if (this !== connection.eventSource) {
+ return;
+ }
+
+ if (onFailed && onFailed(error)) {
+ return;
+ }
+
+ connection.log("EventSource readyState: " + connection.eventSource.readyState + ".");
+
+ if (e.eventPhase === window.EventSource.CLOSED) {
+ // We don't use the EventSource's native reconnect function as it
+ // doesn't allow us to change the URL when reconnecting. We need
+ // to change the URL to not include the /connect suffix, and pass
+ // the last message id we received.
+ connection.log("EventSource reconnecting due to the server connection ending.");
+ that.reconnect(connection);
+ } else {
+ // connection error
+ connection.log("EventSource error.");
+ $connection.triggerHandler(events.onError, [error]);
+ }
+ }, false);
+ },
+
+ reconnect: function (connection) {
+ transportLogic.reconnect(connection, this.name);
+ },
+
+ lostConnection: function (connection) {
+ this.reconnect(connection);
+ },
+
+ send: function (connection, data) {
+ transportLogic.ajaxSend(connection, data);
+ },
+
+ stop: function (connection) {
+ // Don't trigger a reconnect after stopping
+ clearReconnectAttemptTimeout(connection);
+ transportLogic.clearReconnectTimeout(connection);
+
+ if (connection && connection.eventSource) {
+ connection.log("EventSource calling close().");
+ connection.eventSource.close();
+ connection.eventSource = null;
+ delete connection.eventSource;
+ }
+ },
+
+ abort: function (connection, async) {
+ transportLogic.ajaxAbort(connection, async);
+ }
+ };
+
+}(window.jQuery, window));
+/* jquery.signalR.transports.foreverFrame.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+
+/*global window:false */
+/// <reference path="jquery.signalR.transports.common.js" />
+
+(function ($, window, undefined) {
+
+ var signalR = $.signalR,
+ events = $.signalR.events,
+ changeState = $.signalR.changeState,
+ transportLogic = signalR.transports._logic,
+ createFrame = function () {
+ var frame = window.document.createElement("iframe");
+ frame.setAttribute("style", "position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;");
+ return frame;
+ },
+ // Used to prevent infinite loading icon spins in older versions of ie
+ // We build this object inside a closure so we don't pollute the rest of
+ // the foreverFrame transport with unnecessary functions/utilities.
+ loadPreventer = (function () {
+ var loadingFixIntervalId = null,
+ loadingFixInterval = 1000,
+ attachedTo = 0;
+
+ return {
+ prevent: function () {
+ // Prevent additional iframe removal procedures from newer browsers
+ if (signalR._.ieVersion <= 8) {
+ // We only ever want to set the interval one time, so on the first attachedTo
+ if (attachedTo === 0) {
+ // Create and destroy iframe every 3 seconds to prevent loading icon, super hacky
+ loadingFixIntervalId = window.setInterval(function () {
+ var tempFrame = createFrame();
+
+ window.document.body.appendChild(tempFrame);
+ window.document.body.removeChild(tempFrame);
+
+ tempFrame = null;
+ }, loadingFixInterval);
+ }
+
+ attachedTo++;
+ }
+ },
+ cancel: function () {
+ // Only clear the interval if there's only one more object that the loadPreventer is attachedTo
+ if (attachedTo === 1) {
+ window.clearInterval(loadingFixIntervalId);
+ }
+
+ if (attachedTo > 0) {
+ attachedTo--;
+ }
+ }
+ };
+ })();
+
+ signalR.transports.foreverFrame = {
+ name: "foreverFrame",
+
+ supportsKeepAlive: function () {
+ return true;
+ },
+
+ // Added as a value here so we can create tests to verify functionality
+ iframeClearThreshold: 50,
+
+ start: function (connection, onSuccess, onFailed) {
+ var that = this,
+ frameId = (transportLogic.foreverFrame.count += 1),
+ url,
+ frame = createFrame(),
+ frameLoadHandler = function () {
+ connection.log("Forever frame iframe finished loading and is no longer receiving messages.");
+ if (!onFailed || !onFailed()) {
+ that.reconnect(connection);
+ }
+ };
+
+ if (window.EventSource) {
+ // If the browser supports SSE, don't use Forever Frame
+ if (onFailed) {
+ connection.log("Forever Frame is not supported by SignalR on browsers with SSE support.");
+ onFailed();
+ }
+ return;
+ }
+
+ frame.setAttribute("data-signalr-connection-id", connection.id);
+
+ // Start preventing loading icon
+ // This will only perform work if the loadPreventer is not attached to another connection.
+ loadPreventer.prevent();
+
+ // Build the url
+ url = transportLogic.getUrl(connection, this.name);
+ url += "&frameId=" + frameId;
+
+ // add frame to the document prior to setting URL to avoid caching issues.
+ window.document.documentElement.appendChild(frame);
+
+ connection.log("Binding to iframe's load event.");
+
+ if (frame.addEventListener) {
+ frame.addEventListener("load", frameLoadHandler, false);
+ } else if (frame.attachEvent) {
+ frame.attachEvent("onload", frameLoadHandler);
+ }
+
+ frame.src = url;
+ transportLogic.foreverFrame.connections[frameId] = connection;
+
+ connection.frame = frame;
+ connection.frameId = frameId;
+
+ if (onSuccess) {
+ connection.onSuccess = function () {
+ connection.log("Iframe transport started.");
+ onSuccess();
+ };
+ }
+ },
+
+ reconnect: function (connection) {
+ var that = this;
+
+ // Need to verify connection state and verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration.
+ if (transportLogic.isConnectedOrReconnecting(connection) && transportLogic.verifyLastActive(connection)) {
+ window.setTimeout(function () {
+ // Verify that we're ok to reconnect.
+ if (!transportLogic.verifyLastActive(connection)) {
+ return;
+ }
+
+ if (connection.frame && transportLogic.ensureReconnectingState(connection)) {
+ var frame = connection.frame,
+ src = transportLogic.getUrl(connection, that.name, true) + "&frameId=" + connection.frameId;
+ connection.log("Updating iframe src to '" + src + "'.");
+ frame.src = src;
+ }
+ }, connection.reconnectDelay);
+ }
+ },
+
+ lostConnection: function (connection) {
+ this.reconnect(connection);
+ },
+
+ send: function (connection, data) {
+ transportLogic.ajaxSend(connection, data);
+ },
+
+ receive: function (connection, data) {
+ var cw,
+ body,
+ response;
+
+ if (connection.json !== connection._originalJson) {
+ // If there's a custom JSON parser configured then serialize the object
+ // using the original (browser) JSON parser and then deserialize it using
+ // the custom parser (connection._parseResponse does that). This is so we
+ // can easily send the response from the server as "raw" JSON but still
+ // support custom JSON deserialization in the browser.
+ data = connection._originalJson.stringify(data);
+ }
+
+ response = connection._parseResponse(data);
+
+ transportLogic.processMessages(connection, response, connection.onSuccess);
+
+ // Protect against connection stopping from a callback trigger within the processMessages above.
+ if (connection.state === $.signalR.connectionState.connected) {
+ // Delete the script & div elements
+ connection.frameMessageCount = (connection.frameMessageCount || 0) + 1;
+ if (connection.frameMessageCount > signalR.transports.foreverFrame.iframeClearThreshold) {
+ connection.frameMessageCount = 0;
+ cw = connection.frame.contentWindow || connection.frame.contentDocument;
+ if (cw && cw.document && cw.document.body) {
+ body = cw.document.body;
+
+ // Remove all the child elements from the iframe's body to conserver memory
+ while (body.firstChild) {
+ body.removeChild(body.firstChild);
+ }
+ }
+ }
+ }
+ },
+
+ stop: function (connection) {
+ var cw = null;
+
+ // Stop attempting to prevent loading icon
+ loadPreventer.cancel();
+
+ if (connection.frame) {
+ if (connection.frame.stop) {
+ connection.frame.stop();
+ } else {
+ try {
+ cw = connection.frame.contentWindow || connection.frame.contentDocument;
+ if (cw.document && cw.document.execCommand) {
+ cw.document.execCommand("Stop");
+ }
+ }
+ catch (e) {
+ connection.log("Error occurred when stopping foreverFrame transport. Message = " + e.message + ".");
+ }
+ }
+
+ // Ensure the iframe is where we left it
+ if (connection.frame.parentNode === window.document.documentElement) {
+ window.document.documentElement.removeChild(connection.frame);
+ }
+
+ delete transportLogic.foreverFrame.connections[connection.frameId];
+ connection.frame = null;
+ connection.frameId = null;
+ delete connection.frame;
+ delete connection.frameId;
+ delete connection.onSuccess;
+ delete connection.frameMessageCount;
+ connection.log("Stopping forever frame.");
+ }
+ },
+
+ abort: function (connection, async) {
+ transportLogic.ajaxAbort(connection, async);
+ },
+
+ getConnection: function (id) {
+ return transportLogic.foreverFrame.connections[id];
+ },
+
+ started: function (connection) {
+ if (changeState(connection,
+ signalR.connectionState.reconnecting,
+ signalR.connectionState.connected) === true) {
+
+ $(connection).triggerHandler(events.onReconnect);
+ }
+ }
+ };
+
+}(window.jQuery, window));
+/* jquery.signalR.transports.longPolling.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+
+/*global window:false */
+/// <reference path="jquery.signalR.transports.common.js" />
+
+(function ($, window, undefined) {
+
+ var signalR = $.signalR,
+ events = $.signalR.events,
+ changeState = $.signalR.changeState,
+ isDisconnecting = $.signalR.isDisconnecting,
+ transportLogic = signalR.transports._logic;
+
+ signalR.transports.longPolling = {
+ name: "longPolling",
+
+ supportsKeepAlive: function () {
+ return false;
+ },
+
+ reconnectDelay: 3000,
+
+ start: function (connection, onSuccess, onFailed) {
+ /// <summary>Starts the long polling connection</summary>
+ /// <param name="connection" type="signalR">The SignalR connection to start</param>
+ var that = this,
+ fireConnect = function () {
+ fireConnect = $.noop;
+
+ connection.log("LongPolling connected.");
+
+ if (onSuccess) {
+ onSuccess();
+ } else {
+ connection.log("WARNING! The client received an init message after reconnecting.");
+ }
+ },
+ tryFailConnect = function (error) {
+ if (onFailed(error)) {
+ connection.log("LongPolling failed to connect.");
+ return true;
+ }
+
+ return false;
+ },
+ privateData = connection._,
+ reconnectErrors = 0,
+ fireReconnected = function (instance) {
+ window.clearTimeout(privateData.reconnectTimeoutId);
+ privateData.reconnectTimeoutId = null;
+
+ if (changeState(instance,
+ signalR.connectionState.reconnecting,
+ signalR.connectionState.connected) === true) {
+ // Successfully reconnected!
+ instance.log("Raising the reconnect event");
+ $(instance).triggerHandler(events.onReconnect);
+ }
+ },
+ // 1 hour
+ maxFireReconnectedTimeout = 3600000;
+
+ if (connection.pollXhr) {
+ connection.log("Polling xhr requests already exists, aborting.");
+ connection.stop();
+ }
+
+ connection.messageId = null;
+
+ privateData.reconnectTimeoutId = null;
+
+ privateData.pollTimeoutId = window.setTimeout(function () {
+ (function poll(instance, raiseReconnect) {
+ var messageId = instance.messageId,
+ connect = (messageId === null),
+ reconnecting = !connect,
+ polling = !raiseReconnect,
+ url = transportLogic.getUrl(instance, that.name, reconnecting, polling, true /* use Post for longPolling */),
+ postData = {};
+
+ if (instance.messageId) {
+ postData.messageId = instance.messageId;
+ }
+
+ if (instance.groupsToken) {
+ postData.groupsToken = instance.groupsToken;
+ }
+
+ // If we've disconnected during the time we've tried to re-instantiate the poll then stop.
+ if (isDisconnecting(instance) === true) {
+ return;
+ }
+
+ connection.log("Opening long polling request to '" + url + "'.");
+ instance.pollXhr = transportLogic.ajax(connection, {
+ xhrFields: {
+ onprogress: function () {
+ transportLogic.markLastMessage(connection);
+ }
+ },
+ url: url,
+ type: "POST",
+ contentType: signalR._.defaultContentType,
+ data: postData,
+ timeout: connection._.pollTimeout,
+ success: function (result) {
+ var minData,
+ delay = 0,
+ data,
+ shouldReconnect;
+
+ connection.log("Long poll complete.");
+
+ // Reset our reconnect errors so if we transition into a reconnecting state again we trigger
+ // reconnected quickly
+ reconnectErrors = 0;
+
+ try {
+ // Remove any keep-alives from the beginning of the result
+ minData = connection._parseResponse(result);
+ }
+ catch (error) {
+ transportLogic.handleParseFailure(instance, result, error, tryFailConnect, instance.pollXhr);
+ return;
+ }
+
+ // If there's currently a timeout to trigger reconnect, fire it now before processing messages
+ if (privateData.reconnectTimeoutId !== null) {
+ fireReconnected(instance);
+ }
+
+ if (minData) {
+ data = transportLogic.maximizePersistentResponse(minData);
+ }
+
+ transportLogic.processMessages(instance, minData, fireConnect);
+
+ if (data &&
+ $.type(data.LongPollDelay) === "number") {
+ delay = data.LongPollDelay;
+ }
+
+ if (isDisconnecting(instance) === true) {
+ return;
+ }
+
+ shouldReconnect = data && data.ShouldReconnect;
+ if (shouldReconnect) {
+ // Transition into the reconnecting state
+ // If this fails then that means that the user transitioned the connection into a invalid state in processMessages.
+ if (!transportLogic.ensureReconnectingState(instance)) {
+ return;
+ }
+ }
+
+ // We never want to pass a raiseReconnect flag after a successful poll. This is handled via the error function
+ if (delay > 0) {
+ privateData.pollTimeoutId = window.setTimeout(function () {
+ poll(instance, shouldReconnect);
+ }, delay);
+ } else {
+ poll(instance, shouldReconnect);
+ }
+ },
+
+ error: function (data, textStatus) {
+ var error = signalR._.transportError(signalR.resources.longPollFailed, connection.transport, data, instance.pollXhr);
+
+ // Stop trying to trigger reconnect, connection is in an error state
+ // If we're not in the reconnect state this will noop
+ window.clearTimeout(privateData.reconnectTimeoutId);
+ privateData.reconnectTimeoutId = null;
+
+ if (textStatus === "abort") {
+ connection.log("Aborted xhr request.");
+ return;
+ }
+
+ if (!tryFailConnect(error)) {
+
+ // Increment our reconnect errors, we assume all errors to be reconnect errors
+ // In the case that it's our first error this will cause Reconnect to be fired
+ // after 1 second due to reconnectErrors being = 1.
+ reconnectErrors++;
+
+ if (connection.state !== signalR.connectionState.reconnecting) {
+ connection.log("An error occurred using longPolling. Status = " + textStatus + ". Response = " + data.responseText + ".");
+ $(instance).triggerHandler(events.onError, [error]);
+ }
+
+ // We check the state here to verify that we're not in an invalid state prior to verifying Reconnect.
+ // If we're not in connected or reconnecting then the next ensureReconnectingState check will fail and will return.
+ // Therefore we don't want to change that failure code path.
+ if ((connection.state === signalR.connectionState.connected ||
+ connection.state === signalR.connectionState.reconnecting) &&
+ !transportLogic.verifyLastActive(connection)) {
+ return;
+ }
+
+ // Transition into the reconnecting state
+ // If this fails then that means that the user transitioned the connection into the disconnected or connecting state within the above error handler trigger.
+ if (!transportLogic.ensureReconnectingState(instance)) {
+ return;
+ }
+
+ // Call poll with the raiseReconnect flag as true after the reconnect delay
+ privateData.pollTimeoutId = window.setTimeout(function () {
+ poll(instance, true);
+ }, that.reconnectDelay);
+ }
+ }
+ });
+
+ // This will only ever pass after an error has occurred via the poll ajax procedure.
+ if (reconnecting && raiseReconnect === true) {
+ // We wait to reconnect depending on how many times we've failed to reconnect.
+ // This is essentially a heuristic that will exponentially increase in wait time before
+ // triggering reconnected. This depends on the "error" handler of Poll to cancel this
+ // timeout if it triggers before the Reconnected event fires.
+ // The Math.min at the end is to ensure that the reconnect timeout does not overflow.
+ privateData.reconnectTimeoutId = window.setTimeout(function () { fireReconnected(instance); }, Math.min(1000 * (Math.pow(2, reconnectErrors) - 1), maxFireReconnectedTimeout));
+ }
+ }(connection));
+ }, 250); // Have to delay initial poll so Chrome doesn't show loader spinner in tab
+ },
+
+ lostConnection: function (connection) {
+ if (connection.pollXhr) {
+ connection.pollXhr.abort("lostConnection");
+ }
+ },
+
+ send: function (connection, data) {
+ transportLogic.ajaxSend(connection, data);
+ },
+
+ stop: function (connection) {
+ /// <summary>Stops the long polling connection</summary>
+ /// <param name="connection" type="signalR">The SignalR connection to stop</param>
+
+ window.clearTimeout(connection._.pollTimeoutId);
+ window.clearTimeout(connection._.reconnectTimeoutId);
+
+ delete connection._.pollTimeoutId;
+ delete connection._.reconnectTimeoutId;
+
+ if (connection.pollXhr) {
+ connection.pollXhr.abort();
+ connection.pollXhr = null;
+ delete connection.pollXhr;
+ }
+ },
+
+ abort: function (connection, async) {
+ transportLogic.ajaxAbort(connection, async);
+ }
+ };
+
+}(window.jQuery, window));
+/* jquery.signalR.hubs.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+/*global window:false */
+/// <reference path="jquery.signalR.core.js" />
+
+(function ($, window, undefined) {
+
+ var eventNamespace = ".hubProxy",
+ signalR = $.signalR;
+
+ function makeEventName(event) {
+ return event + eventNamespace;
+ }
+
+ // Equivalent to Array.prototype.map
+ function map(arr, fun, thisp) {
+ var i,
+ length = arr.length,
+ result = [];
+ for (i = 0; i < length; i += 1) {
+ if (arr.hasOwnProperty(i)) {
+ result[i] = fun.call(thisp, arr[i], i, arr);
+ }
+ }
+ return result;
+ }
+
+ function getArgValue(a) {
+ return $.isFunction(a) ? null : ($.type(a) === "undefined" ? null : a);
+ }
+
+ function hasMembers(obj) {
+ for (var key in obj) {
+ // If we have any properties in our callback map then we have callbacks and can exit the loop via return
+ if (obj.hasOwnProperty(key)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ function clearInvocationCallbacks(connection, error) {
+ /// <param name="connection" type="hubConnection" />
+ var callbacks = connection._.invocationCallbacks,
+ callback;
+
+ if (hasMembers(callbacks)) {
+ connection.log("Clearing hub invocation callbacks with error: " + error + ".");
+ }
+
+ // Reset the callback cache now as we have a local var referencing it
+ connection._.invocationCallbackId = 0;
+ delete connection._.invocationCallbacks;
+ connection._.invocationCallbacks = {};
+
+ // Loop over the callbacks and invoke them.
+ // We do this using a local var reference and *after* we've cleared the cache
+ // so that if a fail callback itself tries to invoke another method we don't
+ // end up with its callback in the list we're looping over.
+ for (var callbackId in callbacks) {
+ callback = callbacks[callbackId];
+ callback.method.call(callback.scope, { E: error });
+ }
+ }
+
+ // hubProxy
+ function hubProxy(hubConnection, hubName) {
+ /// <summary>
+ /// Creates a new proxy object for the given hub connection that can be used to invoke
+ /// methods on server hubs and handle client method invocation requests from the server.
+ /// </summary>
+ return new hubProxy.fn.init(hubConnection, hubName);
+ }
+
+ hubProxy.fn = hubProxy.prototype = {
+ init: function (connection, hubName) {
+ this.state = {};
+ this.connection = connection;
+ this.hubName = hubName;
+ this._ = {
+ callbackMap: {}
+ };
+ },
+
+ constructor: hubProxy,
+
+ hasSubscriptions: function () {
+ return hasMembers(this._.callbackMap);
+ },
+
+ on: function (eventName, callback) {
+ /// <summary>Wires up a callback to be invoked when a invocation request is received from the server hub.</summary>
+ /// <param name="eventName" type="String">The name of the hub event to register the callback for.</param>
+ /// <param name="callback" type="Function">The callback to be invoked.</param>
+ var that = this,
+ callbackMap = that._.callbackMap;
+
+ // Normalize the event name to lowercase
+ eventName = eventName.toLowerCase();
+
+ // If there is not an event registered for this callback yet we want to create its event space in the callback map.
+ if (!callbackMap[eventName]) {
+ callbackMap[eventName] = {};
+ }
+
+ // Map the callback to our encompassed function
+ callbackMap[eventName][callback] = function (e, data) {
+ callback.apply(that, data);
+ };
+
+ $(that).bind(makeEventName(eventName), callbackMap[eventName][callback]);
+
+ return that;
+ },
+
+ off: function (eventName, callback) {
+ /// <summary>Removes the callback invocation request from the server hub for the given event name.</summary>
+ /// <param name="eventName" type="String">The name of the hub event to unregister the callback for.</param>
+ /// <param name="callback" type="Function">The callback to be invoked.</param>
+ var that = this,
+ callbackMap = that._.callbackMap,
+ callbackSpace;
+
+ // Normalize the event name to lowercase
+ eventName = eventName.toLowerCase();
+
+ callbackSpace = callbackMap[eventName];
+
+ // Verify that there is an event space to unbind
+ if (callbackSpace) {
+ // Only unbind if there's an event bound with eventName and a callback with the specified callback
+ if (callbackSpace[callback]) {
+ $(that).unbind(makeEventName(eventName), callbackSpace[callback]);
+
+ // Remove the callback from the callback map
+ delete callbackSpace[callback];
+
+ // Check if there are any members left on the event, if not we need to destroy it.
+ if (!hasMembers(callbackSpace)) {
+ delete callbackMap[eventName];
+ }
+ } else if (!callback) { // Check if we're removing the whole event and we didn't error because of an invalid callback
+ $(that).unbind(makeEventName(eventName));
+
+ delete callbackMap[eventName];
+ }
+ }
+
+ return that;
+ },
+
+ invoke: function (methodName) {
+ /// <summary>Invokes a server hub method with the given arguments.</summary>
+ /// <param name="methodName" type="String">The name of the server hub method.</param>
+
+ var that = this,
+ connection = that.connection,
+ args = $.makeArray(arguments).slice(1),
+ argValues = map(args, getArgValue),
+ data = { H: that.hubName, M: methodName, A: argValues, I: connection._.invocationCallbackId },
+ d = $.Deferred(),
+ callback = function (minResult) {
+ var result = that._maximizeHubResponse(minResult),
+ source,
+ error;
+
+ // Update the hub state
+ $.extend(that.state, result.State);
+
+ if (result.Progress) {
+ if (d.notifyWith) {
+ // Progress is only supported in jQuery 1.7+
+ d.notifyWith(that, [result.Progress.Data]);
+ } else if(!connection._.progressjQueryVersionLogged) {
+ connection.log("A hub method invocation progress update was received but the version of jQuery in use (" + $.prototype.jquery + ") does not support progress updates. Upgrade to jQuery 1.7+ to receive progress notifications.");
+ connection._.progressjQueryVersionLogged = true;
+ }
+ } else if (result.Error) {
+ // Server hub method threw an exception, log it & reject the deferred
+ if (result.StackTrace) {
+ connection.log(result.Error + "\n" + result.StackTrace + ".");
+ }
+
+ // result.ErrorData is only set if a HubException was thrown
+ source = result.IsHubException ? "HubException" : "Exception";
+ error = signalR._.error(result.Error, source);
+ error.data = result.ErrorData;
+
+ connection.log(that.hubName + "." + methodName + " failed to execute. Error: " + error.message);
+ d.rejectWith(that, [error]);
+ } else {
+ // Server invocation succeeded, resolve the deferred
+ connection.log("Invoked " + that.hubName + "." + methodName);
+ d.resolveWith(that, [result.Result]);
+ }
+ };
+
+ connection._.invocationCallbacks[connection._.invocationCallbackId.toString()] = { scope: that, method: callback };
+ connection._.invocationCallbackId += 1;
+
+ if (!$.isEmptyObject(that.state)) {
+ data.S = that.state;
+ }
+
+ connection.log("Invoking " + that.hubName + "." + methodName);
+ connection.send(data);
+
+ return d.promise();
+ },
+
+ _maximizeHubResponse: function (minHubResponse) {
+ return {
+ State: minHubResponse.S,
+ Result: minHubResponse.R,
+ Progress: minHubResponse.P ? {
+ Id: minHubResponse.P.I,
+ Data: minHubResponse.P.D
+ } : null,
+ Id: minHubResponse.I,
+ IsHubException: minHubResponse.H,
+ Error: minHubResponse.E,
+ StackTrace: minHubResponse.T,
+ ErrorData: minHubResponse.D
+ };
+ }
+ };
+
+ hubProxy.fn.init.prototype = hubProxy.fn;
+
+ // hubConnection
+ function hubConnection(url, options) {
+ /// <summary>Creates a new hub connection.</summary>
+ /// <param name="url" type="String">[Optional] The hub route url, defaults to "/signalr".</param>
+ /// <param name="options" type="Object">[Optional] Settings to use when creating the hubConnection.</param>
+ var settings = {
+ qs: null,
+ logging: false,
+ useDefaultPath: true
+ };
+
+ $.extend(settings, options);
+
+ if (!url || settings.useDefaultPath) {
+ url = (url || "") + "/signalr";
+ }
+ return new hubConnection.fn.init(url, settings);
+ }
+
+ hubConnection.fn = hubConnection.prototype = $.connection();
+
+ hubConnection.fn.init = function (url, options) {
+ var settings = {
+ qs: null,
+ logging: false,
+ useDefaultPath: true
+ },
+ connection = this;
+
+ $.extend(settings, options);
+
+ // Call the base constructor
+ $.signalR.fn.init.call(connection, url, settings.qs, settings.logging);
+
+ // Object to store hub proxies for this connection
+ connection.proxies = {};
+
+ connection._.invocationCallbackId = 0;
+ connection._.invocationCallbacks = {};
+
+ // Wire up the received handler
+ connection.received(function (minData) {
+ var data, proxy, dataCallbackId, callback, hubName, eventName;
+ if (!minData) {
+ return;
+ }
+
+ // We have to handle progress updates first in order to ensure old clients that receive
+ // progress updates enter the return value branch and then no-op when they can't find
+ // the callback in the map (because the minData.I value will not be a valid callback ID)
+ if (typeof (minData.P) !== "undefined") {
+ // Process progress notification
+ dataCallbackId = minData.P.I.toString();
+ callback = connection._.invocationCallbacks[dataCallbackId];
+ if (callback) {
+ callback.method.call(callback.scope, minData);
+ }
+ } else if (typeof (minData.I) !== "undefined") {
+ // We received the return value from a server method invocation, look up callback by id and call it
+ dataCallbackId = minData.I.toString();
+ callback = connection._.invocationCallbacks[dataCallbackId];
+ if (callback) {
+ // Delete the callback from the proxy
+ connection._.invocationCallbacks[dataCallbackId] = null;
+ delete connection._.invocationCallbacks[dataCallbackId];
+
+ // Invoke the callback
+ callback.method.call(callback.scope, minData);
+ }
+ } else {
+ data = this._maximizeClientHubInvocation(minData);
+
+ // We received a client invocation request, i.e. broadcast from server hub
+ connection.log("Triggering client hub event '" + data.Method + "' on hub '" + data.Hub + "'.");
+
+ // Normalize the names to lowercase
+ hubName = data.Hub.toLowerCase();
+ eventName = data.Method.toLowerCase();
+
+ // Trigger the local invocation event
+ proxy = this.proxies[hubName];
+
+ // Update the hub state
+ $.extend(proxy.state, data.State);
+ $(proxy).triggerHandler(makeEventName(eventName), [data.Args]);
+ }
+ });
+
+ connection.error(function (errData, origData) {
+ var callbackId, callback;
+
+ if (!origData) {
+ // No original data passed so this is not a send error
+ return;
+ }
+
+ callbackId = origData.I;
+ callback = connection._.invocationCallbacks[callbackId];
+
+ // Verify that there is a callback bound (could have been cleared)
+ if (callback) {
+ // Delete the callback
+ connection._.invocationCallbacks[callbackId] = null;
+ delete connection._.invocationCallbacks[callbackId];
+
+ // Invoke the callback with an error to reject the promise
+ callback.method.call(callback.scope, { E: errData });
+ }
+ });
+
+ connection.reconnecting(function () {
+ if (connection.transport && connection.transport.name === "webSockets") {
+ clearInvocationCallbacks(connection, "Connection started reconnecting before invocation result was received.");
+ }
+ });
+
+ connection.disconnected(function () {
+ clearInvocationCallbacks(connection, "Connection was disconnected before invocation result was received.");
+ });
+ };
+
+ hubConnection.fn._maximizeClientHubInvocation = function (minClientHubInvocation) {
+ return {
+ Hub: minClientHubInvocation.H,
+ Method: minClientHubInvocation.M,
+ Args: minClientHubInvocation.A,
+ State: minClientHubInvocation.S
+ };
+ };
+
+ hubConnection.fn._registerSubscribedHubs = function () {
+ /// <summary>
+ /// Sets the starting event to loop through the known hubs and register any new hubs
+ /// that have been added to the proxy.
+ /// </summary>
+ var connection = this;
+
+ if (!connection._subscribedToHubs) {
+ connection._subscribedToHubs = true;
+ connection.starting(function () {
+ // Set the connection's data object with all the hub proxies with active subscriptions.
+ // These proxies will receive notifications from the server.
+ var subscribedHubs = [];
+
+ $.each(connection.proxies, function (key) {
+ if (this.hasSubscriptions()) {
+ subscribedHubs.push({ name: key });
+ connection.log("Client subscribed to hub '" + key + "'.");
+ }
+ });
+
+ if (subscribedHubs.length === 0) {
+ connection.log("No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to.");
+ }
+
+ connection.data = connection.json.stringify(subscribedHubs);
+ });
+ }
+ };
+
+ hubConnection.fn.createHubProxy = function (hubName) {
+ /// <summary>
+ /// Creates a new proxy object for the given hub connection that can be used to invoke
+ /// methods on server hubs and handle client method invocation requests from the server.
+ /// </summary>
+ /// <param name="hubName" type="String">
+ /// The name of the hub on the server to create the proxy for.
+ /// </param>
+
+ // Normalize the name to lowercase
+ hubName = hubName.toLowerCase();
+
+ var proxy = this.proxies[hubName];
+ if (!proxy) {
+ proxy = hubProxy(this, hubName);
+ this.proxies[hubName] = proxy;
+ }
+
+ this._registerSubscribedHubs();
+
+ return proxy;
+ };
+
+ hubConnection.fn.init.prototype = hubConnection.fn;
+
+ $.hubConnection = hubConnection;
+
+}(window.jQuery, window));
+/* jquery.signalR.version.js */
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+
+/*global window:false */
+/// <reference path="jquery.signalR.core.js" />
+(function ($, undefined) {
+ $.signalR.version = "2.2.2";
+}(window.jQuery));
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.min.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.min.js
new file mode 100644
index 0000000..2ccd39d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/jquery.signalR-2.2.2.min.js
@@ -0,0 +1,9 @@
+/*!
+ * ASP.NET SignalR JavaScript Library v2.2.2
+ * http://signalr.net/
+ *
+ * Copyright (c) .NET Foundation. All rights reserved.
+ * Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+ *
+ */
+(function(n,t,i){function w(t,i){var u,f;if(n.isArray(t)){for(u=t.length-1;u>=0;u--)f=t[u],n.type(f)==="string"&&r.transports[f]||(i.log("Invalid transport: "+f+", removing it from the transports list."),t.splice(u,1));t.length===0&&(i.log("No transports remain within the specified transport array."),t=null)}else if(r.transports[t]||t==="auto"){if(t==="auto"&&r._.ieVersion<=8)return["longPolling"]}else i.log("Invalid transport: "+t.toString()+"."),t=null;return t}function b(n){return n==="http:"?80:n==="https:"?443:void 0}function a(n,t){return t.match(/:\d+$/)?t:t+":"+b(n)}function k(t,i){var u=this,r=[];u.tryBuffer=function(i){return t.state===n.signalR.connectionState.connecting?(r.push(i),!0):!1};u.drain=function(){if(t.state===n.signalR.connectionState.connected)while(r.length>0)i(r.shift())};u.clear=function(){r=[]}}var f={nojQuery:"jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",noTransportOnInit:"No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",errorOnNegotiate:"Error during negotiation request.",stoppedWhileLoading:"The connection was stopped during page load.",stoppedWhileNegotiating:"The connection was stopped during the negotiate request.",errorParsingNegotiateResponse:"Error parsing negotiate response.",errorDuringStartRequest:"Error during start request. Stopping the connection.",stoppedDuringStartRequest:"The connection was stopped during the start request.",errorParsingStartResponse:"Error parsing start response: '{0}'. Stopping the connection.",invalidStartResponse:"Invalid start response: '{0}'. Stopping the connection.",protocolIncompatible:"You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",sendFailed:"Send failed.",parseFailed:"Failed at parsing response: {0}",longPollFailed:"Long polling request failed.",eventSourceFailedToConnect:"EventSource failed to connect.",eventSourceError:"Error raised by EventSource",webSocketClosed:"WebSocket closed.",pingServerFailedInvalidResponse:"Invalid ping response when pinging server: '{0}'.",pingServerFailed:"Failed to ping server.",pingServerFailedStatusCode:"Failed to ping server. Server responded with status code {0}, stopping the connection.",pingServerFailedParse:"Failed to parse ping server response, stopping the connection.",noConnectionTransport:"Connection is in an invalid state, there is no transport active.",webSocketsInvalidState:"The Web Socket transport is in an invalid state, transitioning into reconnecting.",reconnectTimeout:"Couldn't reconnect within the configured timeout of {0} ms, disconnecting.",reconnectWindowTimeout:"The client has been inactive since {0} and it has exceeded the inactivity timeout of {1} ms. Stopping the connection."};if(typeof n!="function")throw new Error(f.nojQuery);var r,h,o=t.document.readyState==="complete",e=n(t),c="__Negotiate Aborted__",u={onStart:"onStart",onStarting:"onStarting",onReceived:"onReceived",onError:"onError",onConnectionSlow:"onConnectionSlow",onReconnecting:"onReconnecting",onReconnect:"onReconnect",onStateChanged:"onStateChanged",onDisconnect:"onDisconnect"},v=function(n,i){if(i!==!1){var r;typeof t.console!="undefined"&&(r="["+(new Date).toTimeString()+"] SignalR: "+n,t.console.debug?t.console.debug(r):t.console.log&&t.console.log(r))}},s=function(t,i,r){return i===t.state?(t.state=r,n(t).triggerHandler(u.onStateChanged,[{oldState:i,newState:r}]),!0):!1},y=function(n){return n.state===r.connectionState.disconnected},l=function(n){return n._.keepAliveData.activated&&n.transport.supportsKeepAlive(n)},p=function(i){var f,e;i._.configuredStopReconnectingTimeout||(e=function(t){var i=r._.format(r.resources.reconnectTimeout,t.disconnectTimeout);t.log(i);n(t).triggerHandler(u.onError,[r._.error(i,"TimeoutException")]);t.stop(!1,!1)},i.reconnecting(function(){var n=this;n.state===r.connectionState.reconnecting&&(f=t.setTimeout(function(){e(n)},n.disconnectTimeout))}),i.stateChanged(function(n){n.oldState===r.connectionState.reconnecting&&t.clearTimeout(f)}),i._.configuredStopReconnectingTimeout=!0)};if(r=function(n,t,i){return new r.fn.init(n,t,i)},r._={defaultContentType:"application/x-www-form-urlencoded; charset=UTF-8",ieVersion:function(){var i,n;return t.navigator.appName==="Microsoft Internet Explorer"&&(n=/MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent),n&&(i=t.parseFloat(n[1]))),i}(),error:function(n,t,i){var r=new Error(n);return r.source=t,typeof i!="undefined"&&(r.context=i),r},transportError:function(n,t,r,u){var f=this.error(n,r,u);return f.transport=t?t.name:i,f},format:function(){for(var t=arguments[0],n=0;n<arguments.length-1;n++)t=t.replace("{"+n+"}",arguments[n+1]);return t},firefoxMajorVersion:function(n){var t=n.match(/Firefox\/(\d+)/);return!t||!t.length||t.length<2?0:parseInt(t[1],10)},configurePingInterval:function(i){var f=i._.config,e=function(t){n(i).triggerHandler(u.onError,[t])};f&&!i._.pingIntervalId&&f.pingInterval&&(i._.pingIntervalId=t.setInterval(function(){r.transports._logic.pingServer(i).fail(e)},f.pingInterval))}},r.events=u,r.resources=f,r.ajaxDefaults={processData:!0,timeout:null,async:!0,global:!1,cache:!1},r.changeState=s,r.isDisconnecting=y,r.connectionState={connecting:0,connected:1,reconnecting:2,disconnected:4},r.hub={start:function(){throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'><\/script>.");}},typeof e.on=="function")e.on("load",function(){o=!0});else e.load(function(){o=!0});r.fn=r.prototype={init:function(t,i,r){var f=n(this);this.url=t;this.qs=i;this.lastError=null;this._={keepAliveData:{},connectingMessageBuffer:new k(this,function(n){f.triggerHandler(u.onReceived,[n])}),lastMessageAt:(new Date).getTime(),lastActiveAt:(new Date).getTime(),beatInterval:5e3,beatHandle:null,totalTransportConnectTimeout:0};typeof r=="boolean"&&(this.logging=r)},_parseResponse:function(n){var t=this;return n?typeof n=="string"?t.json.parse(n):n:n},_originalJson:t.JSON,json:t.JSON,isCrossDomain:function(i,r){var u;return(i=n.trim(i),r=r||t.location,i.indexOf("http")!==0)?!1:(u=t.document.createElement("a"),u.href=i,u.protocol+a(u.protocol,u.host)!==r.protocol+a(r.protocol,r.host))},ajaxDataType:"text",contentType:"application/json; charset=UTF-8",logging:!1,state:r.connectionState.disconnected,clientProtocol:"1.5",reconnectDelay:2e3,transportConnectTimeout:0,disconnectTimeout:3e4,reconnectWindow:3e4,keepAliveWarnAt:2/3,start:function(i,h){var a=this,v={pingInterval:3e5,waitForPageLoad:!0,transport:"auto",jsonp:!1},d,y=a._deferral||n.Deferred(),b=t.document.createElement("a"),k,g;if(a.lastError=null,a._deferral=y,!a.json)throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");if(n.type(i)==="function"?h=i:n.type(i)==="object"&&(n.extend(v,i),n.type(v.callback)==="function"&&(h=v.callback)),v.transport=w(v.transport,a),!v.transport)throw new Error("SignalR: Invalid transport(s) specified, aborting start.");return(a._.config=v,!o&&v.waitForPageLoad===!0)?(a._.deferredStartHandler=function(){a.start(i,h)},e.bind("load",a._.deferredStartHandler),y.promise()):a.state===r.connectionState.connecting?y.promise():s(a,r.connectionState.disconnected,r.connectionState.connecting)===!1?(y.resolve(a),y.promise()):(p(a),b.href=a.url,b.protocol&&b.protocol!==":"?(a.protocol=b.protocol,a.host=b.host):(a.protocol=t.document.location.protocol,a.host=b.host||t.document.location.host),a.baseUrl=a.protocol+"//"+a.host,a.wsProtocol=a.protocol==="https:"?"wss://":"ws://",v.transport==="auto"&&v.jsonp===!0&&(v.transport="longPolling"),a.url.indexOf("//")===0&&(a.url=t.location.protocol+a.url,a.log("Protocol relative URL detected, normalizing it to '"+a.url+"'.")),this.isCrossDomain(a.url)&&(a.log("Auto detected cross domain url."),v.transport==="auto"&&(v.transport=["webSockets","serverSentEvents","longPolling"]),typeof v.withCredentials=="undefined"&&(v.withCredentials=!0),v.jsonp||(v.jsonp=!n.support.cors,v.jsonp&&a.log("Using jsonp because this browser doesn't support CORS.")),a.contentType=r._.defaultContentType),a.withCredentials=v.withCredentials,a.ajaxDataType=v.jsonp?"jsonp":"text",n(a).bind(u.onStart,function(){n.type(h)==="function"&&h.call(a);y.resolve(a)}),a._.initHandler=r.transports._logic.initHandler(a),d=function(i,o){var c=r._.error(f.noTransportOnInit);if(o=o||0,o>=i.length){o===0?a.log("No transports supported by the server were selected."):o===1?a.log("No fallback transports were selected."):a.log("Fallback transports exhausted.");n(a).triggerHandler(u.onError,[c]);y.reject(c);a.stop();return}if(a.state!==r.connectionState.disconnected){var p=i[o],h=r.transports[p],v=function(){d(i,o+1)};a.transport=h;try{a._.initHandler.start(h,function(){var i=r._.firefoxMajorVersion(t.navigator.userAgent)>=11,f=!!a.withCredentials&&i;a.log("The start request succeeded. Transitioning to the connected state.");l(a)&&r.transports._logic.monitorKeepAlive(a);r.transports._logic.startHeartbeat(a);r._.configurePingInterval(a);s(a,r.connectionState.connecting,r.connectionState.connected)||a.log("WARNING! The connection was not in the connecting state.");a._.connectingMessageBuffer.drain();n(a).triggerHandler(u.onStart);e.bind("unload",function(){a.log("Window unloading, stopping the connection.");a.stop(f)});i&&e.bind("beforeunload",function(){t.setTimeout(function(){a.stop(f)},0)})},v)}catch(w){a.log(h.name+" transport threw '"+w.message+"' when attempting to start.");v()}}},k=a.url+"/negotiate",g=function(t,i){var e=r._.error(f.errorOnNegotiate,t,i._.negotiateRequest);n(i).triggerHandler(u.onError,e);y.reject(e);i.stop()},n(a).triggerHandler(u.onStarting),k=r.transports._logic.prepareQueryString(a,k),a.log("Negotiating with '"+k+"'."),a._.negotiateRequest=r.transports._logic.ajax(a,{url:k,error:function(n,t){t!==c?g(n,a):y.reject(r._.error(f.stoppedWhileNegotiating,null,a._.negotiateRequest))},success:function(t){var i,e,h,o=[],s=[];try{i=a._parseResponse(t)}catch(c){g(r._.error(f.errorParsingNegotiateResponse,c),a);return}if(e=a._.keepAliveData,a.appRelativeUrl=i.Url,a.id=i.ConnectionId,a.token=i.ConnectionToken,a.webSocketServerUrl=i.WebSocketServerUrl,a._.pollTimeout=i.ConnectionTimeout*1e3+1e4,a.disconnectTimeout=i.DisconnectTimeout*1e3,a._.totalTransportConnectTimeout=a.transportConnectTimeout+i.TransportConnectTimeout*1e3,i.KeepAliveTimeout?(e.activated=!0,e.timeout=i.KeepAliveTimeout*1e3,e.timeoutWarning=e.timeout*a.keepAliveWarnAt,a._.beatInterval=(e.timeout-e.timeoutWarning)/3):e.activated=!1,a.reconnectWindow=a.disconnectTimeout+(e.timeout||0),!i.ProtocolVersion||i.ProtocolVersion!==a.clientProtocol){h=r._.error(r._.format(f.protocolIncompatible,a.clientProtocol,i.ProtocolVersion));n(a).triggerHandler(u.onError,[h]);y.reject(h);return}n.each(r.transports,function(n){if(n.indexOf("_")===0||n==="webSockets"&&!i.TryWebSockets)return!0;s.push(n)});n.isArray(v.transport)?n.each(v.transport,function(t,i){n.inArray(i,s)>=0&&o.push(i)}):v.transport==="auto"?o=s:n.inArray(v.transport,s)>=0&&o.push(v.transport);d(o)}}),y.promise())},starting:function(t){var i=this;return n(i).bind(u.onStarting,function(){t.call(i)}),i},send:function(n){var t=this;if(t.state===r.connectionState.disconnected)throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");if(t.state===r.connectionState.connecting)throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");return t.transport.send(t,n),t},received:function(t){var i=this;return n(i).bind(u.onReceived,function(n,r){t.call(i,r)}),i},stateChanged:function(t){var i=this;return n(i).bind(u.onStateChanged,function(n,r){t.call(i,r)}),i},error:function(t){var i=this;return n(i).bind(u.onError,function(n,r,u){i.lastError=r;t.call(i,r,u)}),i},disconnected:function(t){var i=this;return n(i).bind(u.onDisconnect,function(){t.call(i)}),i},connectionSlow:function(t){var i=this;return n(i).bind(u.onConnectionSlow,function(){t.call(i)}),i},reconnecting:function(t){var i=this;return n(i).bind(u.onReconnecting,function(){t.call(i)}),i},reconnected:function(t){var i=this;return n(i).bind(u.onReconnect,function(){t.call(i)}),i},stop:function(i,h){var a=this,v=a._deferral;if(a._.deferredStartHandler&&e.unbind("load",a._.deferredStartHandler),delete a._.config,delete a._.deferredStartHandler,!o&&(!a._.config||a._.config.waitForPageLoad===!0)){a.log("Stopping connection prior to negotiate.");v&&v.reject(r._.error(f.stoppedWhileLoading));return}if(a.state!==r.connectionState.disconnected)return a.log("Stopping connection."),t.clearTimeout(a._.beatHandle),t.clearInterval(a._.pingIntervalId),a.transport&&(a.transport.stop(a),h!==!1&&a.transport.abort(a,i),l(a)&&r.transports._logic.stopMonitoringKeepAlive(a),a.transport=null),a._.negotiateRequest&&(a._.negotiateRequest.abort(c),delete a._.negotiateRequest),a._.initHandler&&a._.initHandler.stop(),delete a._deferral,delete a.messageId,delete a.groupsToken,delete a.id,delete a._.pingIntervalId,delete a._.lastMessageAt,delete a._.lastActiveAt,a._.connectingMessageBuffer.clear(),n(a).unbind(u.onStart),s(a,a.state,r.connectionState.disconnected),n(a).triggerHandler(u.onDisconnect),a},log:function(n){v(n,this.logging)}};r.fn.init.prototype=r.fn;r.noConflict=function(){return n.connection===r&&(n.connection=h),r};n.connection&&(h=n.connection);n.connection=n.signalR=r})(window.jQuery,window),function(n,t,i){function s(n){n._.keepAliveData.monitoring&&l(n);u.markActive(n)&&(n._.beatHandle=t.setTimeout(function(){s(n)},n._.beatInterval))}function l(t){var i=t._.keepAliveData,u;t.state===r.connectionState.connected&&(u=(new Date).getTime()-t._.lastMessageAt,u>=i.timeout?(t.log("Keep alive timed out. Notifying transport that connection has been lost."),t.transport.lostConnection(t)):u>=i.timeoutWarning?i.userNotified||(t.log("Keep alive has been missed, connection may be dead/slow."),n(t).triggerHandler(f.onConnectionSlow),i.userNotified=!0):i.userNotified=!1)}function e(n,t){var i=n.url+t;return n.transport&&(i+="?transport="+n.transport.name),u.prepareQueryString(n,i)}function h(n){this.connection=n;this.startRequested=!1;this.startCompleted=!1;this.connectionStopped=!1}var r=n.signalR,f=n.signalR.events,c=n.signalR.changeState,o="__Start Aborted__",u;r.transports={};h.prototype={start:function(n,r,u){var f=this,e=f.connection,o=!1;if(f.startRequested||f.connectionStopped){e.log("WARNING! "+n.name+" transport cannot be started. Initialization ongoing or completed.");return}e.log(n.name+" transport starting.");n.start(e,function(){o||f.initReceived(n,r)},function(t){return o||(o=!0,f.transportFailed(n,t,u)),!f.startCompleted||f.connectionStopped});f.transportTimeoutHandle=t.setTimeout(function(){o||(o=!0,e.log(n.name+" transport timed out when trying to connect."),f.transportFailed(n,i,u))},e._.totalTransportConnectTimeout)},stop:function(){this.connectionStopped=!0;t.clearTimeout(this.transportTimeoutHandle);r.transports._logic.tryAbortStartRequest(this.connection)},initReceived:function(n,i){var u=this,f=u.connection;if(u.startRequested){f.log("WARNING! The client received multiple init messages.");return}u.connectionStopped||(u.startRequested=!0,t.clearTimeout(u.transportTimeoutHandle),f.log(n.name+" transport connected. Initiating start request."),r.transports._logic.ajaxStart(f,function(){u.startCompleted=!0;i()}))},transportFailed:function(i,u,e){var o=this.connection,h=o._deferral,s;this.connectionStopped||(t.clearTimeout(this.transportTimeoutHandle),this.startRequested?this.startCompleted||(s=r._.error(r.resources.errorDuringStartRequest,u),o.log(i.name+" transport failed during the start request. Stopping the connection."),n(o).triggerHandler(f.onError,[s]),h&&h.reject(s),o.stop()):(i.stop(o),o.log(i.name+" transport failed to connect. Attempting to fall back."),e()))}};u=r.transports._logic={ajax:function(t,i){return n.ajax(n.extend(!0,{},n.signalR.ajaxDefaults,{type:"GET",data:{},xhrFields:{withCredentials:t.withCredentials},contentType:t.contentType,dataType:t.ajaxDataType},i))},pingServer:function(t){var e,f,i=n.Deferred();return t.transport?(e=t.url+"/ping",e=u.addQs(e,t.qs),f=u.ajax(t,{url:e,success:function(n){var u;try{u=t._parseResponse(n)}catch(e){i.reject(r._.transportError(r.resources.pingServerFailedParse,t.transport,e,f));t.stop();return}u.Response==="pong"?i.resolve():i.reject(r._.transportError(r._.format(r.resources.pingServerFailedInvalidResponse,n),t.transport,null,f))},error:function(n){n.status===401||n.status===403?(i.reject(r._.transportError(r._.format(r.resources.pingServerFailedStatusCode,n.status),t.transport,n,f)),t.stop()):i.reject(r._.transportError(r.resources.pingServerFailed,t.transport,n,f))}})):i.reject(r._.transportError(r.resources.noConnectionTransport,t.transport)),i.promise()},prepareQueryString:function(n,i){var r;return r=u.addQs(i,"clientProtocol="+n.clientProtocol),r=u.addQs(r,n.qs),n.token&&(r+="&connectionToken="+t.encodeURIComponent(n.token)),n.data&&(r+="&connectionData="+t.encodeURIComponent(n.data)),r},addQs:function(t,i){var r=t.indexOf("?")!==-1?"&":"?",u;if(!i)return t;if(typeof i=="object")return t+r+n.param(i);if(typeof i=="string")return u=i.charAt(0),(u==="?"||u==="&")&&(r=""),t+r+i;throw new Error("Query string property must be either a string or object.");},getUrl:function(n,i,r,f,e){var h=i==="webSockets"?"":n.baseUrl,o=h+n.appRelativeUrl,s="transport="+i;return!e&&n.groupsToken&&(s+="&groupsToken="+t.encodeURIComponent(n.groupsToken)),r?(o+=f?"/poll":"/reconnect",!e&&n.messageId&&(s+="&messageId="+t.encodeURIComponent(n.messageId))):o+="/connect",o+="?"+s,o=u.prepareQueryString(n,o),e||(o+="&tid="+Math.floor(Math.random()*11)),o},maximizePersistentResponse:function(n){return{MessageId:n.C,Messages:n.M,Initialized:typeof n.S!="undefined"?!0:!1,ShouldReconnect:typeof n.T!="undefined"?!0:!1,LongPollDelay:n.L,GroupsToken:n.G}},updateGroups:function(n,t){t&&(n.groupsToken=t)},stringifySend:function(n,t){return typeof t=="string"||typeof t=="undefined"||t===null?t:n.json.stringify(t)},ajaxSend:function(t,i){var h=u.stringifySend(t,i),c=e(t,"/send"),o,s=function(t,u){n(u).triggerHandler(f.onError,[r._.transportError(r.resources.sendFailed,u.transport,t,o),i])};return o=u.ajax(t,{url:c,type:t.ajaxDataType==="jsonp"?"GET":"POST",contentType:r._.defaultContentType,data:{data:h},success:function(n){var i;if(n){try{i=t._parseResponse(n)}catch(r){s(r,t);t.stop();return}u.triggerReceived(t,i)}},error:function(n,i){i!=="abort"&&i!=="parsererror"&&s(n,t)}})},ajaxAbort:function(n,t){if(typeof n.transport!="undefined"){t=typeof t=="undefined"?!0:t;var i=e(n,"/abort");u.ajax(n,{url:i,async:t,timeout:1e3,type:"POST"});n.log("Fired ajax abort async = "+t+".")}},ajaxStart:function(t,i){var h=function(n){var i=t._deferral;i&&i.reject(n)},s=function(i){t.log("The start request failed. Stopping the connection.");n(t).triggerHandler(f.onError,[i]);h(i);t.stop()};t._.startRequest=u.ajax(t,{url:e(t,"/start"),success:function(n,u,f){var e;try{e=t._parseResponse(n)}catch(o){s(r._.error(r._.format(r.resources.errorParsingStartResponse,n),o,f));return}e.Response==="started"?i():s(r._.error(r._.format(r.resources.invalidStartResponse,n),null,f))},error:function(n,i,u){i!==o?s(r._.error(r.resources.errorDuringStartRequest,u,n)):(t.log("The start request aborted because connection.stop() was called."),h(r._.error(r.resources.stoppedDuringStartRequest,null,n)))}})},tryAbortStartRequest:function(n){n._.startRequest&&(n._.startRequest.abort(o),delete n._.startRequest)},tryInitialize:function(n,t,i){t.Initialized&&i?i():t.Initialized&&n.log("WARNING! The client received an init message after reconnecting.")},triggerReceived:function(t,i){t._.connectingMessageBuffer.tryBuffer(i)||n(t).triggerHandler(f.onReceived,[i])},processMessages:function(t,i,r){var f;u.markLastMessage(t);i&&(f=u.maximizePersistentResponse(i),u.updateGroups(t,f.GroupsToken),f.MessageId&&(t.messageId=f.MessageId),f.Messages&&(n.each(f.Messages,function(n,i){u.triggerReceived(t,i)}),u.tryInitialize(t,f,r)))},monitorKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring?t.log("Tried to monitor keep alive but it's already being monitored."):(i.monitoring=!0,u.markLastMessage(t),t._.keepAliveData.reconnectKeepAliveUpdate=function(){u.markLastMessage(t)},n(t).bind(f.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t.log("Now monitoring keep alive with a warning timeout of "+i.timeoutWarning+", keep alive timeout of "+i.timeout+" and disconnecting timeout of "+t.disconnectTimeout))},stopMonitoringKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring&&(i.monitoring=!1,n(t).unbind(f.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t._.keepAliveData={},t.log("Stopping the monitoring of the keep alive."))},startHeartbeat:function(n){n._.lastActiveAt=(new Date).getTime();s(n)},markLastMessage:function(n){n._.lastMessageAt=(new Date).getTime()},markActive:function(n){return u.verifyLastActive(n)?(n._.lastActiveAt=(new Date).getTime(),!0):!1},isConnectedOrReconnecting:function(n){return n.state===r.connectionState.connected||n.state===r.connectionState.reconnecting},ensureReconnectingState:function(t){return c(t,r.connectionState.connected,r.connectionState.reconnecting)===!0&&n(t).triggerHandler(f.onReconnecting),t.state===r.connectionState.reconnecting},clearReconnectTimeout:function(n){n&&n._.reconnectTimeout&&(t.clearTimeout(n._.reconnectTimeout),delete n._.reconnectTimeout)},verifyLastActive:function(t){if((new Date).getTime()-t._.lastActiveAt>=t.reconnectWindow){var i=r._.format(r.resources.reconnectWindowTimeout,new Date(t._.lastActiveAt),t.reconnectWindow);return t.log(i),n(t).triggerHandler(f.onError,[r._.error(i,"TimeoutException")]),t.stop(!1,!1),!1}return!0},reconnect:function(n,i){var f=r.transports[i];if(u.isConnectedOrReconnecting(n)&&!n._.reconnectTimeout){if(!u.verifyLastActive(n))return;n._.reconnectTimeout=t.setTimeout(function(){u.verifyLastActive(n)&&(f.stop(n),u.ensureReconnectingState(n)&&(n.log(i+" reconnecting."),f.start(n)))},n.reconnectDelay)}},handleParseFailure:function(t,i,u,e,o){var s=r._.transportError(r._.format(r.resources.parseFailed,i),t.transport,u,o);e&&e(s)?t.log("Failed to parse server response while attempting to connect."):(n(t).triggerHandler(f.onError,[s]),t.stop())},initHandler:function(n){return new h(n)},foreverFrame:{count:0,connections:{}}}}(window.jQuery,window),function(n,t){var r=n.signalR,u=n.signalR.events,f=n.signalR.changeState,i=r.transports._logic;r.transports.webSockets={name:"webSockets",supportsKeepAlive:function(){return!0},send:function(t,f){var e=i.stringifySend(t,f);try{t.socket.send(e)}catch(o){n(t).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketsInvalidState,t.transport,o,t.socket),f])}},start:function(e,o,s){var h,c=!1,l=this,a=!o,v=n(e);if(!t.WebSocket){s();return}e.socket||(h=e.webSocketServerUrl?e.webSocketServerUrl:e.wsProtocol+e.host,h+=i.getUrl(e,this.name,a),e.log("Connecting to websocket endpoint '"+h+"'."),e.socket=new t.WebSocket(h),e.socket.onopen=function(){c=!0;e.log("Websocket opened.");i.clearReconnectTimeout(e);f(e,r.connectionState.reconnecting,r.connectionState.connected)===!0&&v.triggerHandler(u.onReconnect)},e.socket.onclose=function(t){var i;this===e.socket&&(c&&typeof t.wasClean!="undefined"&&t.wasClean===!1?(i=r._.transportError(r.resources.webSocketClosed,e.transport,t),e.log("Unclean disconnect from websocket: "+(t.reason||"[no reason given]."))):e.log("Websocket closed."),s&&s(i)||(i&&n(e).triggerHandler(u.onError,[i]),l.reconnect(e)))},e.socket.onmessage=function(t){var r;try{r=e._parseResponse(t.data)}catch(u){i.handleParseFailure(e,t.data,u,s,t);return}r&&(n.isEmptyObject(r)||r.M?i.processMessages(e,r,o):i.triggerReceived(e,r))})},reconnect:function(n){i.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},stop:function(n){i.clearReconnectTimeout(n);n.socket&&(n.log("Closing the Websocket."),n.socket.close(),n.socket=null)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,r=i.transports._logic,f=function(n){t.clearTimeout(n._.reconnectAttemptTimeoutHandle);delete n._.reconnectAttemptTimeoutHandle};i.transports.serverSentEvents={name:"serverSentEvents",supportsKeepAlive:function(){return!0},timeOut:3e3,start:function(o,s,h){var c=this,l=!1,a=n(o),v=!s,y;if(o.eventSource&&(o.log("The connection already has an event source. Stopping it."),o.stop()),!t.EventSource){h&&(o.log("This browser doesn't support SSE."),h());return}y=r.getUrl(o,this.name,v);try{o.log("Attempting to connect to SSE endpoint '"+y+"'.");o.eventSource=new t.EventSource(y,{withCredentials:o.withCredentials})}catch(p){o.log("EventSource failed trying to connect with error "+p.Message+".");h?h():(a.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceFailedToConnect,o.transport,p)]),v&&c.reconnect(o));return}v&&(o._.reconnectAttemptTimeoutHandle=t.setTimeout(function(){l===!1&&o.eventSource.readyState!==t.EventSource.OPEN&&c.reconnect(o)},c.timeOut));o.eventSource.addEventListener("open",function(){o.log("EventSource connected.");f(o);r.clearReconnectTimeout(o);l===!1&&(l=!0,e(o,i.connectionState.reconnecting,i.connectionState.connected)===!0&&a.triggerHandler(u.onReconnect))},!1);o.eventSource.addEventListener("message",function(n){var t;if(n.data!=="initialized"){try{t=o._parseResponse(n.data)}catch(i){r.handleParseFailure(o,n.data,i,h,n);return}r.processMessages(o,t,s)}},!1);o.eventSource.addEventListener("error",function(n){var r=i._.transportError(i.resources.eventSourceError,o.transport,n);this===o.eventSource&&(h&&h(r)||(o.log("EventSource readyState: "+o.eventSource.readyState+"."),n.eventPhase===t.EventSource.CLOSED?(o.log("EventSource reconnecting due to the server connection ending."),c.reconnect(o)):(o.log("EventSource error."),a.triggerHandler(u.onError,[r]))))},!1)},reconnect:function(n){r.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){f(n);r.clearReconnectTimeout(n);n&&n.eventSource&&(n.log("EventSource calling close()."),n.eventSource.close(),n.eventSource=null,delete n.eventSource)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){var r=n.signalR,e=n.signalR.events,o=n.signalR.changeState,i=r.transports._logic,u=function(){var n=t.document.createElement("iframe");return n.setAttribute("style","position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"),n},f=function(){var i=null,f=1e3,n=0;return{prevent:function(){r._.ieVersion<=8&&(n===0&&(i=t.setInterval(function(){var n=u();t.document.body.appendChild(n);t.document.body.removeChild(n);n=null},f)),n++)},cancel:function(){n===1&&t.clearInterval(i);n>0&&n--}}}();r.transports.foreverFrame={name:"foreverFrame",supportsKeepAlive:function(){return!0},iframeClearThreshold:50,start:function(n,r,e){var l=this,s=i.foreverFrame.count+=1,h,o=u(),c=function(){n.log("Forever frame iframe finished loading and is no longer receiving messages.");e&&e()||l.reconnect(n)};if(t.EventSource){e&&(n.log("Forever Frame is not supported by SignalR on browsers with SSE support."),e());return}o.setAttribute("data-signalr-connection-id",n.id);f.prevent();h=i.getUrl(n,this.name);h+="&frameId="+s;t.document.documentElement.appendChild(o);n.log("Binding to iframe's load event.");o.addEventListener?o.addEventListener("load",c,!1):o.attachEvent&&o.attachEvent("onload",c);o.src=h;i.foreverFrame.connections[s]=n;n.frame=o;n.frameId=s;r&&(n.onSuccess=function(){n.log("Iframe transport started.");r()})},reconnect:function(n){var r=this;i.isConnectedOrReconnecting(n)&&i.verifyLastActive(n)&&t.setTimeout(function(){if(i.verifyLastActive(n)&&n.frame&&i.ensureReconnectingState(n)){var u=n.frame,t=i.getUrl(n,r.name,!0)+"&frameId="+n.frameId;n.log("Updating iframe src to '"+t+"'.");u.src=t}},n.reconnectDelay)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){i.ajaxSend(n,t)},receive:function(t,u){var f,e,o;if(t.json!==t._originalJson&&(u=t._originalJson.stringify(u)),o=t._parseResponse(u),i.processMessages(t,o,t.onSuccess),t.state===n.signalR.connectionState.connected&&(t.frameMessageCount=(t.frameMessageCount||0)+1,t.frameMessageCount>r.transports.foreverFrame.iframeClearThreshold&&(t.frameMessageCount=0,f=t.frame.contentWindow||t.frame.contentDocument,f&&f.document&&f.document.body)))for(e=f.document.body;e.firstChild;)e.removeChild(e.firstChild)},stop:function(n){var r=null;if(f.cancel(),n.frame){if(n.frame.stop)n.frame.stop();else try{r=n.frame.contentWindow||n.frame.contentDocument;r.document&&r.document.execCommand&&r.document.execCommand("Stop")}catch(u){n.log("Error occurred when stopping foreverFrame transport. Message = "+u.message+".")}n.frame.parentNode===t.document.documentElement&&t.document.documentElement.removeChild(n.frame);delete i.foreverFrame.connections[n.frameId];n.frame=null;n.frameId=null;delete n.frame;delete n.frameId;delete n.onSuccess;delete n.frameMessageCount;n.log("Stopping forever frame.")}},abort:function(n,t){i.ajaxAbort(n,t)},getConnection:function(n){return i.foreverFrame.connections[n]},started:function(t){o(t,r.connectionState.reconnecting,r.connectionState.connected)===!0&&n(t).triggerHandler(e.onReconnect)}}}(window.jQuery,window),function(n,t){var r=n.signalR,u=n.signalR.events,e=n.signalR.changeState,f=n.signalR.isDisconnecting,i=r.transports._logic;r.transports.longPolling={name:"longPolling",supportsKeepAlive:function(){return!1},reconnectDelay:3e3,start:function(o,s,h){var a=this,v=function(){v=n.noop;o.log("LongPolling connected.");s?s():o.log("WARNING! The client received an init message after reconnecting.")},y=function(n){return h(n)?(o.log("LongPolling failed to connect."),!0):!1},c=o._,l=0,p=function(i){t.clearTimeout(c.reconnectTimeoutId);c.reconnectTimeoutId=null;e(i,r.connectionState.reconnecting,r.connectionState.connected)===!0&&(i.log("Raising the reconnect event"),n(i).triggerHandler(u.onReconnect))},w=36e5;o.pollXhr&&(o.log("Polling xhr requests already exists, aborting."),o.stop());o.messageId=null;c.reconnectTimeoutId=null;c.pollTimeoutId=t.setTimeout(function(){(function e(s,h){var g=s.messageId,nt=g===null,k=!nt,tt=!h,d=i.getUrl(s,a.name,k,tt,!0),b={};(s.messageId&&(b.messageId=s.messageId),s.groupsToken&&(b.groupsToken=s.groupsToken),f(s)!==!0)&&(o.log("Opening long polling request to '"+d+"'."),s.pollXhr=i.ajax(o,{xhrFields:{onprogress:function(){i.markLastMessage(o)}},url:d,type:"POST",contentType:r._.defaultContentType,data:b,timeout:o._.pollTimeout,success:function(r){var h,w=0,u,a;o.log("Long poll complete.");l=0;try{h=o._parseResponse(r)}catch(b){i.handleParseFailure(s,r,b,y,s.pollXhr);return}(c.reconnectTimeoutId!==null&&p(s),h&&(u=i.maximizePersistentResponse(h)),i.processMessages(s,h,v),u&&n.type(u.LongPollDelay)==="number"&&(w=u.LongPollDelay),f(s)!==!0)&&(a=u&&u.ShouldReconnect,!a||i.ensureReconnectingState(s))&&(w>0?c.pollTimeoutId=t.setTimeout(function(){e(s,a)},w):e(s,a))},error:function(f,h){var v=r._.transportError(r.resources.longPollFailed,o.transport,f,s.pollXhr);if(t.clearTimeout(c.reconnectTimeoutId),c.reconnectTimeoutId=null,h==="abort"){o.log("Aborted xhr request.");return}if(!y(v)){if(l++,o.state!==r.connectionState.reconnecting&&(o.log("An error occurred using longPolling. Status = "+h+". Response = "+f.responseText+"."),n(s).triggerHandler(u.onError,[v])),(o.state===r.connectionState.connected||o.state===r.connectionState.reconnecting)&&!i.verifyLastActive(o))return;if(!i.ensureReconnectingState(s))return;c.pollTimeoutId=t.setTimeout(function(){e(s,!0)},a.reconnectDelay)}}}),k&&h===!0&&(c.reconnectTimeoutId=t.setTimeout(function(){p(s)},Math.min(1e3*(Math.pow(2,l)-1),w))))})(o)},250)},lostConnection:function(n){n.pollXhr&&n.pollXhr.abort("lostConnection")},send:function(n,t){i.ajaxSend(n,t)},stop:function(n){t.clearTimeout(n._.pollTimeoutId);t.clearTimeout(n._.reconnectTimeoutId);delete n._.pollTimeoutId;delete n._.reconnectTimeoutId;n.pollXhr&&(n.pollXhr.abort(),n.pollXhr=null,delete n.pollXhr)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n){function r(n){return n+e}function s(n,t,i){for(var f=n.length,u=[],r=0;r<f;r+=1)n.hasOwnProperty(r)&&(u[r]=t.call(i,n[r],r,n));return u}function h(t){return n.isFunction(t)?null:n.type(t)==="undefined"?null:t}function u(n){for(var t in n)if(n.hasOwnProperty(t))return!0;return!1}function f(n,t){var i=n._.invocationCallbacks,r,f;u(i)&&n.log("Clearing hub invocation callbacks with error: "+t+".");n._.invocationCallbackId=0;delete n._.invocationCallbacks;n._.invocationCallbacks={};for(f in i)r=i[f],r.method.call(r.scope,{E:t})}function i(n,t){return new i.fn.init(n,t)}function t(i,r){var u={qs:null,logging:!1,useDefaultPath:!0};return n.extend(u,r),(!i||u.useDefaultPath)&&(i=(i||"")+"/signalr"),new t.fn.init(i,u)}var e=".hubProxy",o=n.signalR;i.fn=i.prototype={init:function(n,t){this.state={};this.connection=n;this.hubName=t;this._={callbackMap:{}}},constructor:i,hasSubscriptions:function(){return u(this._.callbackMap)},on:function(t,i){var u=this,f=u._.callbackMap;return t=t.toLowerCase(),f[t]||(f[t]={}),f[t][i]=function(n,t){i.apply(u,t)},n(u).bind(r(t),f[t][i]),u},off:function(t,i){var e=this,o=e._.callbackMap,f;return t=t.toLowerCase(),f=o[t],f&&(f[i]?(n(e).unbind(r(t),f[i]),delete f[i],u(f)||delete o[t]):i||(n(e).unbind(r(t)),delete o[t])),e},invoke:function(t){var i=this,r=i.connection,e=n.makeArray(arguments).slice(1),c=s(e,h),f={H:i.hubName,M:t,A:c,I:r._.invocationCallbackId},u=n.Deferred(),l=function(f){var e=i._maximizeHubResponse(f),h,s;n.extend(i.state,e.State);e.Progress?u.notifyWith?u.notifyWith(i,[e.Progress.Data]):r._.progressjQueryVersionLogged||(r.log("A hub method invocation progress update was received but the version of jQuery in use ("+n.prototype.jquery+") does not support progress updates. Upgrade to jQuery 1.7+ to receive progress notifications."),r._.progressjQueryVersionLogged=!0):e.Error?(e.StackTrace&&r.log(e.Error+"\n"+e.StackTrace+"."),h=e.IsHubException?"HubException":"Exception",s=o._.error(e.Error,h),s.data=e.ErrorData,r.log(i.hubName+"."+t+" failed to execute. Error: "+s.message),u.rejectWith(i,[s])):(r.log("Invoked "+i.hubName+"."+t),u.resolveWith(i,[e.Result]))};return r._.invocationCallbacks[r._.invocationCallbackId.toString()]={scope:i,method:l},r._.invocationCallbackId+=1,n.isEmptyObject(i.state)||(f.S=i.state),r.log("Invoking "+i.hubName+"."+t),r.send(f),u.promise()},_maximizeHubResponse:function(n){return{State:n.S,Result:n.R,Progress:n.P?{Id:n.P.I,Data:n.P.D}:null,Id:n.I,IsHubException:n.H,Error:n.E,StackTrace:n.T,ErrorData:n.D}}};i.fn.init.prototype=i.fn;t.fn=t.prototype=n.connection();t.fn.init=function(t,i){var e={qs:null,logging:!1,useDefaultPath:!0},u=this;n.extend(e,i);n.signalR.fn.init.call(u,t,e.qs,e.logging);u.proxies={};u._.invocationCallbackId=0;u._.invocationCallbacks={};u.received(function(t){var f,o,e,i,s,h;t&&(typeof t.P!="undefined"?(e=t.P.I.toString(),i=u._.invocationCallbacks[e],i&&i.method.call(i.scope,t)):typeof t.I!="undefined"?(e=t.I.toString(),i=u._.invocationCallbacks[e],i&&(u._.invocationCallbacks[e]=null,delete u._.invocationCallbacks[e],i.method.call(i.scope,t))):(f=this._maximizeClientHubInvocation(t),u.log("Triggering client hub event '"+f.Method+"' on hub '"+f.Hub+"'."),s=f.Hub.toLowerCase(),h=f.Method.toLowerCase(),o=this.proxies[s],n.extend(o.state,f.State),n(o).triggerHandler(r(h),[f.Args])))});u.error(function(n,t){var i,r;t&&(i=t.I,r=u._.invocationCallbacks[i],r&&(u._.invocationCallbacks[i]=null,delete u._.invocationCallbacks[i],r.method.call(r.scope,{E:n})))});u.reconnecting(function(){u.transport&&u.transport.name==="webSockets"&&f(u,"Connection started reconnecting before invocation result was received.")});u.disconnected(function(){f(u,"Connection was disconnected before invocation result was received.")})};t.fn._maximizeClientHubInvocation=function(n){return{Hub:n.H,Method:n.M,Args:n.A,State:n.S}};t.fn._registerSubscribedHubs=function(){var t=this;t._subscribedToHubs||(t._subscribedToHubs=!0,t.starting(function(){var i=[];n.each(t.proxies,function(n){this.hasSubscriptions()&&(i.push({name:n}),t.log("Client subscribed to hub '"+n+"'."))});i.length===0&&t.log("No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to.");t.data=t.json.stringify(i)}))};t.fn.createHubProxy=function(n){n=n.toLowerCase();var t=this.proxies[n];return t||(t=i(this,n),this.proxies[n]=t),this._registerSubscribedHubs(),t};t.fn.init.prototype=t.fn;n.hubConnection=t}(window.jQuery,window),function(n){n.signalR.version="2.2.2"}(window.jQuery);
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/modernizr-2.8.3.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/modernizr-2.8.3.js
new file mode 100644
index 0000000..3365339
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/modernizr-2.8.3.js
@@ -0,0 +1,1406 @@
+/*!
+ * Modernizr v2.8.3
+ * www.modernizr.com
+ *
+ * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
+ * Available under the BSD and MIT licenses: www.modernizr.com/license/
+ */
+
+/*
+ * Modernizr tests which native CSS3 and HTML5 features are available in
+ * the current UA and makes the results available to you in two ways:
+ * as properties on a global Modernizr object, and as classes on the
+ * <html> element. This information allows you to progressively enhance
+ * your pages with a granular level of control over the experience.
+ *
+ * Modernizr has an optional (not included) conditional resource loader
+ * called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
+ * To get a build that includes Modernizr.load(), as well as choosing
+ * which tests to include, go to www.modernizr.com/download/
+ *
+ * Authors Faruk Ates, Paul Irish, Alex Sexton
+ * Contributors Ryan Seddon, Ben Alman
+ */
+
+window.Modernizr = (function( window, document, undefined ) {
+
+ var version = '2.8.3',
+
+ Modernizr = {},
+
+ /*>>cssclasses*/
+ // option for enabling the HTML classes to be added
+ enableClasses = true,
+ /*>>cssclasses*/
+
+ docElement = document.documentElement,
+
+ /**
+ * Create our "modernizr" element that we do most feature tests on.
+ */
+ mod = 'modernizr',
+ modElem = document.createElement(mod),
+ mStyle = modElem.style,
+
+ /**
+ * Create the input element for various Web Forms feature tests.
+ */
+ inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,
+
+ /*>>smile*/
+ smile = ':)',
+ /*>>smile*/
+
+ toString = {}.toString,
+
+ // TODO :: make the prefixes more granular
+ /*>>prefixes*/
+ // List of property values to set for css tests. See ticket #21
+ prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
+ /*>>prefixes*/
+
+ /*>>domprefixes*/
+ // Following spec is to expose vendor-specific style properties as:
+ // elem.style.WebkitBorderRadius
+ // and the following would be incorrect:
+ // elem.style.webkitBorderRadius
+
+ // Webkit ghosts their properties in lowercase but Opera & Moz do not.
+ // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
+ // erik.eae.net/archives/2008/03/10/21.48.10/
+
+ // More here: github.com/Modernizr/Modernizr/issues/issue/21
+ omPrefixes = 'Webkit Moz O ms',
+
+ cssomPrefixes = omPrefixes.split(' '),
+
+ domPrefixes = omPrefixes.toLowerCase().split(' '),
+ /*>>domprefixes*/
+
+ /*>>ns*/
+ ns = {'svg': 'http://www.w3.org/2000/svg'},
+ /*>>ns*/
+
+ tests = {},
+ inputs = {},
+ attrs = {},
+
+ classes = [],
+
+ slice = classes.slice,
+
+ featureName, // used in testing loop
+
+
+ /*>>teststyles*/
+ // Inject element with style element and some CSS rules
+ injectElementWithStyles = function( rule, callback, nodes, testnames ) {
+
+ var style, ret, node, docOverflow,
+ div = document.createElement('div'),
+ // After page load injecting a fake body doesn't work so check if body exists
+ body = document.body,
+ // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it.
+ fakeBody = body || document.createElement('body');
+
+ if ( parseInt(nodes, 10) ) {
+ // In order not to give false positives we create a node for each test
+ // This also allows the method to scale for unspecified uses
+ while ( nodes-- ) {
+ node = document.createElement('div');
+ node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
+ div.appendChild(node);
+ }
+ }
+
+ // <style> elements in IE6-9 are considered 'NoScope' elements and therefore will be removed
+ // when injected with innerHTML. To get around this you need to prepend the 'NoScope' element
+ // with a 'scoped' element, in our case the soft-hyphen entity as it won't mess with our measurements.
+ // msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx
+ // Documents served as xml will throw if using ­ so use xml friendly encoded version. See issue #277
+ style = ['­','<style id="s', mod, '">', rule, '</style>'].join('');
+ div.id = mod;
+ // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.
+ // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270
+ (body ? div : fakeBody).innerHTML += style;
+ fakeBody.appendChild(div);
+ if ( !body ) {
+ //avoid crashing IE8, if background image is used
+ fakeBody.style.background = '';
+ //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible
+ fakeBody.style.overflow = 'hidden';
+ docOverflow = docElement.style.overflow;
+ docElement.style.overflow = 'hidden';
+ docElement.appendChild(fakeBody);
+ }
+
+ ret = callback(div, rule);
+ // If this is done after page load we don't want to remove the body so check if body exists
+ if ( !body ) {
+ fakeBody.parentNode.removeChild(fakeBody);
+ docElement.style.overflow = docOverflow;
+ } else {
+ div.parentNode.removeChild(div);
+ }
+
+ return !!ret;
+
+ },
+ /*>>teststyles*/
+
+ /*>>mq*/
+ // adapted from matchMedia polyfill
+ // by Scott Jehl and Paul Irish
+ // gist.github.com/786768
+ testMediaQuery = function( mq ) {
+
+ var matchMedia = window.matchMedia || window.msMatchMedia;
+ if ( matchMedia ) {
+ return matchMedia(mq) && matchMedia(mq).matches || false;
+ }
+
+ var bool;
+
+ injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {
+ bool = (window.getComputedStyle ?
+ getComputedStyle(node, null) :
+ node.currentStyle)['position'] == 'absolute';
+ });
+
+ return bool;
+
+ },
+ /*>>mq*/
+
+
+ /*>>hasevent*/
+ //
+ // isEventSupported determines if a given element supports the given event
+ // kangax.github.com/iseventsupported/
+ //
+ // The following results are known incorrects:
+ // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative
+ // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333
+ // ...
+ isEventSupported = (function() {
+
+ var TAGNAMES = {
+ 'select': 'input', 'change': 'input',
+ 'submit': 'form', 'reset': 'form',
+ 'error': 'img', 'load': 'img', 'abort': 'img'
+ };
+
+ function isEventSupported( eventName, element ) {
+
+ element = element || document.createElement(TAGNAMES[eventName] || 'div');
+ eventName = 'on' + eventName;
+
+ // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
+ var isSupported = eventName in element;
+
+ if ( !isSupported ) {
+ // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
+ if ( !element.setAttribute ) {
+ element = document.createElement('div');
+ }
+ if ( element.setAttribute && element.removeAttribute ) {
+ element.setAttribute(eventName, '');
+ isSupported = is(element[eventName], 'function');
+
+ // If property was created, "remove it" (by setting value to `undefined`)
+ if ( !is(element[eventName], 'undefined') ) {
+ element[eventName] = undefined;
+ }
+ element.removeAttribute(eventName);
+ }
+ }
+
+ element = null;
+ return isSupported;
+ }
+ return isEventSupported;
+ })(),
+ /*>>hasevent*/
+
+ // TODO :: Add flag for hasownprop ? didn't last time
+
+ // hasOwnProperty shim by kangax needed for Safari 2.0 support
+ _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
+
+ if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
+ hasOwnProp = function (object, property) {
+ return _hasOwnProperty.call(object, property);
+ };
+ }
+ else {
+ hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */
+ return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
+ };
+ }
+
+ // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js
+ // es5.github.com/#x15.3.4.5
+
+ if (!Function.prototype.bind) {
+ Function.prototype.bind = function bind(that) {
+
+ var target = this;
+
+ if (typeof target != "function") {
+ throw new TypeError();
+ }
+
+ var args = slice.call(arguments, 1),
+ bound = function () {
+
+ if (this instanceof bound) {
+
+ var F = function(){};
+ F.prototype = target.prototype;
+ var self = new F();
+
+ var result = target.apply(
+ self,
+ args.concat(slice.call(arguments))
+ );
+ if (Object(result) === result) {
+ return result;
+ }
+ return self;
+
+ } else {
+
+ return target.apply(
+ that,
+ args.concat(slice.call(arguments))
+ );
+
+ }
+
+ };
+
+ return bound;
+ };
+ }
+
+ /**
+ * setCss applies given styles to the Modernizr DOM node.
+ */
+ function setCss( str ) {
+ mStyle.cssText = str;
+ }
+
+ /**
+ * setCssAll extrapolates all vendor-specific css strings.
+ */
+ function setCssAll( str1, str2 ) {
+ return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
+ }
+
+ /**
+ * is returns a boolean for if typeof obj is exactly type.
+ */
+ function is( obj, type ) {
+ return typeof obj === type;
+ }
+
+ /**
+ * contains returns a boolean for if substr is found within str.
+ */
+ function contains( str, substr ) {
+ return !!~('' + str).indexOf(substr);
+ }
+
+ /*>>testprop*/
+
+ // testProps is a generic CSS / DOM property test.
+
+ // In testing support for a given CSS property, it's legit to test:
+ // `elem.style[styleName] !== undefined`
+ // If the property is supported it will return an empty string,
+ // if unsupported it will return undefined.
+
+ // We'll take advantage of this quick test and skip setting a style
+ // on our modernizr element, but instead just testing undefined vs
+ // empty string.
+
+ // Because the testing of the CSS property names (with "-", as
+ // opposed to the camelCase DOM properties) is non-portable and
+ // non-standard but works in WebKit and IE (but not Gecko or Opera),
+ // we explicitly reject properties with dashes so that authors
+ // developing in WebKit or IE first don't end up with
+ // browser-specific content by accident.
+
+ function testProps( props, prefixed ) {
+ for ( var i in props ) {
+ var prop = props[i];
+ if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
+ return prefixed == 'pfx' ? prop : true;
+ }
+ }
+ return false;
+ }
+ /*>>testprop*/
+
+ // TODO :: add testDOMProps
+ /**
+ * testDOMProps is a generic DOM property test; if a browser supports
+ * a certain property, it won't return undefined for it.
+ */
+ function testDOMProps( props, obj, elem ) {
+ for ( var i in props ) {
+ var item = obj[props[i]];
+ if ( item !== undefined) {
+
+ // return the property name as a string
+ if (elem === false) return props[i];
+
+ // let's bind a function
+ if (is(item, 'function')){
+ // default to autobind unless override
+ return item.bind(elem || obj);
+ }
+
+ // return the unbound function or obj or value
+ return item;
+ }
+ }
+ return false;
+ }
+
+ /*>>testallprops*/
+ /**
+ * testPropsAll tests a list of DOM properties we want to check against.
+ * We specify literally ALL possible (known and/or likely) properties on
+ * the element including the non-vendor prefixed one, for forward-
+ * compatibility.
+ */
+ function testPropsAll( prop, prefixed, elem ) {
+
+ var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
+ props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
+
+ // did they call .prefixed('boxSizing') or are we just testing a prop?
+ if(is(prefixed, "string") || is(prefixed, "undefined")) {
+ return testProps(props, prefixed);
+
+ // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
+ } else {
+ props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
+ return testDOMProps(props, prefixed, elem);
+ }
+ }
+ /*>>testallprops*/
+
+
+ /**
+ * Tests
+ * -----
+ */
+
+ // The *new* flexbox
+ // dev.w3.org/csswg/css3-flexbox
+
+ tests['flexbox'] = function() {
+ return testPropsAll('flexWrap');
+ };
+
+ // The *old* flexbox
+ // www.w3.org/TR/2009/WD-css3-flexbox-20090723/
+
+ tests['flexboxlegacy'] = function() {
+ return testPropsAll('boxDirection');
+ };
+
+ // On the S60 and BB Storm, getContext exists, but always returns undefined
+ // so we actually have to call getContext() to verify
+ // github.com/Modernizr/Modernizr/issues/issue/97/
+
+ tests['canvas'] = function() {
+ var elem = document.createElement('canvas');
+ return !!(elem.getContext && elem.getContext('2d'));
+ };
+
+ tests['canvastext'] = function() {
+ return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
+ };
+
+ // webk.it/70117 is tracking a legit WebGL feature detect proposal
+
+ // We do a soft detect which may false positive in order to avoid
+ // an expensive context creation: bugzil.la/732441
+
+ tests['webgl'] = function() {
+ return !!window.WebGLRenderingContext;
+ };
+
+ /*
+ * The Modernizr.touch test only indicates if the browser supports
+ * touch events, which does not necessarily reflect a touchscreen
+ * device, as evidenced by tablets running Windows 7 or, alas,
+ * the Palm Pre / WebOS (touch) phones.
+ *
+ * Additionally, Chrome (desktop) used to lie about its support on this,
+ * but that has since been rectified: crbug.com/36415
+ *
+ * We also test for Firefox 4 Multitouch Support.
+ *
+ * For more info, see: modernizr.github.com/Modernizr/touch.html
+ */
+
+ tests['touch'] = function() {
+ var bool;
+
+ if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
+ bool = true;
+ } else {
+ injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {
+ bool = node.offsetTop === 9;
+ });
+ }
+
+ return bool;
+ };
+
+
+ // geolocation is often considered a trivial feature detect...
+ // Turns out, it's quite tricky to get right:
+ //
+ // Using !!navigator.geolocation does two things we don't want. It:
+ // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513
+ // 2. Disables page caching in WebKit: webk.it/43956
+ //
+ // Meanwhile, in Firefox < 8, an about:config setting could expose
+ // a false positive that would throw an exception: bugzil.la/688158
+
+ tests['geolocation'] = function() {
+ return 'geolocation' in navigator;
+ };
+
+
+ tests['postmessage'] = function() {
+ return !!window.postMessage;
+ };
+
+
+ // Chrome incognito mode used to throw an exception when using openDatabase
+ // It doesn't anymore.
+ tests['websqldatabase'] = function() {
+ return !!window.openDatabase;
+ };
+
+ // Vendors had inconsistent prefixing with the experimental Indexed DB:
+ // - Webkit's implementation is accessible through webkitIndexedDB
+ // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB
+ // For speed, we don't test the legacy (and beta-only) indexedDB
+ tests['indexedDB'] = function() {
+ return !!testPropsAll("indexedDB", window);
+ };
+
+ // documentMode logic from YUI to filter out IE8 Compat Mode
+ // which false positives.
+ tests['hashchange'] = function() {
+ return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
+ };
+
+ // Per 1.6:
+ // This used to be Modernizr.historymanagement but the longer
+ // name has been deprecated in favor of a shorter and property-matching one.
+ // The old API is still available in 1.6, but as of 2.0 will throw a warning,
+ // and in the first release thereafter disappear entirely.
+ tests['history'] = function() {
+ return !!(window.history && history.pushState);
+ };
+
+ tests['draganddrop'] = function() {
+ var div = document.createElement('div');
+ return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
+ };
+
+ // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10
+ // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.
+ // FF10 still uses prefixes, so check for it until then.
+ // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/
+ tests['websockets'] = function() {
+ return 'WebSocket' in window || 'MozWebSocket' in window;
+ };
+
+
+ // css-tricks.com/rgba-browser-support/
+ tests['rgba'] = function() {
+ // Set an rgba() color and check the returned value
+
+ setCss('background-color:rgba(150,255,150,.5)');
+
+ return contains(mStyle.backgroundColor, 'rgba');
+ };
+
+ tests['hsla'] = function() {
+ // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,
+ // except IE9 who retains it as hsla
+
+ setCss('background-color:hsla(120,40%,100%,.5)');
+
+ return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
+ };
+
+ tests['multiplebgs'] = function() {
+ // Setting multiple images AND a color on the background shorthand property
+ // and then querying the style.background property value for the number of
+ // occurrences of "url(" is a reliable method for detecting ACTUAL support for this!
+
+ setCss('background:url(https://),url(https://),red url(https://)');
+
+ // If the UA supports multiple backgrounds, there should be three occurrences
+ // of the string "url(" in the return value for elemStyle.background
+
+ return (/(url\s*\(.*?){3}/).test(mStyle.background);
+ };
+
+
+
+ // this will false positive in Opera Mini
+ // github.com/Modernizr/Modernizr/issues/396
+
+ tests['backgroundsize'] = function() {
+ return testPropsAll('backgroundSize');
+ };
+
+ tests['borderimage'] = function() {
+ return testPropsAll('borderImage');
+ };
+
+
+ // Super comprehensive table about all the unique implementations of
+ // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance
+
+ tests['borderradius'] = function() {
+ return testPropsAll('borderRadius');
+ };
+
+ // WebOS unfortunately false positives on this test.
+ tests['boxshadow'] = function() {
+ return testPropsAll('boxShadow');
+ };
+
+ // FF3.0 will false positive on this test
+ tests['textshadow'] = function() {
+ return document.createElement('div').style.textShadow === '';
+ };
+
+
+ tests['opacity'] = function() {
+ // Browsers that actually have CSS Opacity implemented have done so
+ // according to spec, which means their return values are within the
+ // range of [0.0,1.0] - including the leading zero.
+
+ setCssAll('opacity:.55');
+
+ // The non-literal . in this regex is intentional:
+ // German Chrome returns this value as 0,55
+ // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632
+ return (/^0.55$/).test(mStyle.opacity);
+ };
+
+
+ // Note, Android < 4 will pass this test, but can only animate
+ // a single property at a time
+ // goo.gl/v3V4Gp
+ tests['cssanimations'] = function() {
+ return testPropsAll('animationName');
+ };
+
+
+ tests['csscolumns'] = function() {
+ return testPropsAll('columnCount');
+ };
+
+
+ tests['cssgradients'] = function() {
+ /**
+ * For CSS Gradients syntax, please see:
+ * webkit.org/blog/175/introducing-css-gradients/
+ * developer.mozilla.org/en/CSS/-moz-linear-gradient
+ * developer.mozilla.org/en/CSS/-moz-radial-gradient
+ * dev.w3.org/csswg/css3-images/#gradients-
+ */
+
+ var str1 = 'background-image:',
+ str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',
+ str3 = 'linear-gradient(left top,#9f9, white);';
+
+ setCss(
+ // legacy webkit syntax (FIXME: remove when syntax not in use anymore)
+ (str1 + '-webkit- '.split(' ').join(str2 + str1) +
+ // standard syntax // trailing 'background-image:'
+ prefixes.join(str3 + str1)).slice(0, -str1.length)
+ );
+
+ return contains(mStyle.backgroundImage, 'gradient');
+ };
+
+
+ tests['cssreflections'] = function() {
+ return testPropsAll('boxReflect');
+ };
+
+
+ tests['csstransforms'] = function() {
+ return !!testPropsAll('transform');
+ };
+
+
+ tests['csstransforms3d'] = function() {
+
+ var ret = !!testPropsAll('perspective');
+
+ // Webkit's 3D transforms are passed off to the browser's own graphics renderer.
+ // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in
+ // some conditions. As a result, Webkit typically recognizes the syntax but
+ // will sometimes throw a false positive, thus we must do a more thorough check:
+ if ( ret && 'webkitPerspective' in docElement.style ) {
+
+ // Webkit allows this media query to succeed only if the feature is enabled.
+ // `@media (transform-3d),(-webkit-transform-3d){ ... }`
+ injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) {
+ ret = node.offsetLeft === 9 && node.offsetHeight === 3;
+ });
+ }
+ return ret;
+ };
+
+
+ tests['csstransitions'] = function() {
+ return testPropsAll('transition');
+ };
+
+
+ /*>>fontface*/
+ // @font-face detection routine by Diego Perini
+ // javascript.nwbox.com/CSSSupport/
+
+ // false positives:
+ // WebOS github.com/Modernizr/Modernizr/issues/342
+ // WP7 github.com/Modernizr/Modernizr/issues/538
+ tests['fontface'] = function() {
+ var bool;
+
+ injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) {
+ var style = document.getElementById('smodernizr'),
+ sheet = style.sheet || style.styleSheet,
+ cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';
+
+ bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;
+ });
+
+ return bool;
+ };
+ /*>>fontface*/
+
+ // CSS generated content detection
+ tests['generatedcontent'] = function() {
+ var bool;
+
+ injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {
+ bool = node.offsetHeight >= 3;
+ });
+
+ return bool;
+ };
+
+
+
+ // These tests evaluate support of the video/audio elements, as well as
+ // testing what types of content they support.
+ //
+ // We're using the Boolean constructor here, so that we can extend the value
+ // e.g. Modernizr.video // true
+ // Modernizr.video.ogg // 'probably'
+ //
+ // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845
+ // thx to NielsLeenheer and zcorpan
+
+ // Note: in some older browsers, "no" was a return value instead of empty string.
+ // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2
+ // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5
+
+ tests['video'] = function() {
+ var elem = document.createElement('video'),
+ bool = false;
+
+ // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224
+ try {
+ if ( bool = !!elem.canPlayType ) {
+ bool = new Boolean(bool);
+ bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
+
+ // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546
+ bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
+
+ bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
+ }
+
+ } catch(e) { }
+
+ return bool;
+ };
+
+ tests['audio'] = function() {
+ var elem = document.createElement('audio'),
+ bool = false;
+
+ try {
+ if ( bool = !!elem.canPlayType ) {
+ bool = new Boolean(bool);
+ bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
+ bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
+
+ // Mimetypes accepted:
+ // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements
+ // bit.ly/iphoneoscodecs
+ bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,'');
+ bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||
+ elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
+ }
+ } catch(e) { }
+
+ return bool;
+ };
+
+
+ // In FF4, if disabled, window.localStorage should === null.
+
+ // Normally, we could not test that directly and need to do a
+ // `('localStorage' in window) && ` test first because otherwise Firefox will
+ // throw bugzil.la/365772 if cookies are disabled
+
+ // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem
+ // will throw the exception:
+ // QUOTA_EXCEEDED_ERRROR DOM Exception 22.
+ // Peculiarly, getItem and removeItem calls do not throw.
+
+ // Because we are forced to try/catch this, we'll go aggressive.
+
+ // Just FWIW: IE8 Compat mode supports these features completely:
+ // www.quirksmode.org/dom/html5.html
+ // But IE8 doesn't support either with local files
+
+ tests['localstorage'] = function() {
+ try {
+ localStorage.setItem(mod, mod);
+ localStorage.removeItem(mod);
+ return true;
+ } catch(e) {
+ return false;
+ }
+ };
+
+ tests['sessionstorage'] = function() {
+ try {
+ sessionStorage.setItem(mod, mod);
+ sessionStorage.removeItem(mod);
+ return true;
+ } catch(e) {
+ return false;
+ }
+ };
+
+
+ tests['webworkers'] = function() {
+ return !!window.Worker;
+ };
+
+
+ tests['applicationcache'] = function() {
+ return !!window.applicationCache;
+ };
+
+
+ // Thanks to Erik Dahlstrom
+ tests['svg'] = function() {
+ return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;
+ };
+
+ // specifically for SVG inline in HTML, not within XHTML
+ // test page: paulirish.com/demo/inline-svg
+ tests['inlinesvg'] = function() {
+ var div = document.createElement('div');
+ div.innerHTML = '<svg/>';
+ return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;
+ };
+
+ // SVG SMIL animation
+ tests['smil'] = function() {
+ return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));
+ };
+
+ // This test is only for clip paths in SVG proper, not clip paths on HTML content
+ // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg
+
+ // However read the comments to dig into applying SVG clippaths to HTML content here:
+ // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491
+ tests['svgclippaths'] = function() {
+ return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));
+ };
+
+ /*>>webforms*/
+ // input features and input types go directly onto the ret object, bypassing the tests loop.
+ // Hold this guy to execute in a moment.
+ function webforms() {
+ /*>>input*/
+ // Run through HTML5's new input attributes to see if the UA understands any.
+ // We're using f which is the <input> element created early on
+ // Mike Taylr has created a comprehensive resource for testing these attributes
+ // when applied to all input types:
+ // miketaylr.com/code/input-type-attr.html
+ // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
+
+ // Only input placeholder is tested while textarea's placeholder is not.
+ // Currently Safari 4 and Opera 11 have support only for the input placeholder
+ // Both tests are available in feature-detects/forms-placeholder.js
+ Modernizr['input'] = (function( props ) {
+ for ( var i = 0, len = props.length; i < len; i++ ) {
+ attrs[ props[i] ] = !!(props[i] in inputElem);
+ }
+ if (attrs.list){
+ // safari false positive's on datalist: webk.it/74252
+ // see also github.com/Modernizr/Modernizr/issues/146
+ attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
+ }
+ return attrs;
+ })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
+ /*>>input*/
+
+ /*>>inputtypes*/
+ // Run through HTML5's new input types to see if the UA understands any.
+ // This is put behind the tests runloop because it doesn't return a
+ // true/false like all the other tests; instead, it returns an object
+ // containing each input type with its corresponding true/false value
+
+ // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/
+ Modernizr['inputtypes'] = (function(props) {
+
+ for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
+
+ inputElem.setAttribute('type', inputElemType = props[i]);
+ bool = inputElem.type !== 'text';
+
+ // We first check to see if the type we give it sticks..
+ // If the type does, we feed it a textual value, which shouldn't be valid.
+ // If the value doesn't stick, we know there's input sanitization which infers a custom UI
+ if ( bool ) {
+
+ inputElem.value = smile;
+ inputElem.style.cssText = 'position:absolute;visibility:hidden;';
+
+ if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
+
+ docElement.appendChild(inputElem);
+ defaultView = document.defaultView;
+
+ // Safari 2-4 allows the smiley as a value, despite making a slider
+ bool = defaultView.getComputedStyle &&
+ defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
+ // Mobile android web browser has false positive, so must
+ // check the height to see if the widget is actually there.
+ (inputElem.offsetHeight !== 0);
+
+ docElement.removeChild(inputElem);
+
+ } else if ( /^(search|tel)$/.test(inputElemType) ){
+ // Spec doesn't define any special parsing or detectable UI
+ // behaviors so we pass these through as true
+
+ // Interestingly, opera fails the earlier test, so it doesn't
+ // even make it here.
+
+ } else if ( /^(url|email)$/.test(inputElemType) ) {
+ // Real url and email support comes with prebaked validation.
+ bool = inputElem.checkValidity && inputElem.checkValidity() === false;
+
+ } else {
+ // If the upgraded input compontent rejects the :) text, we got a winner
+ bool = inputElem.value != smile;
+ }
+ }
+
+ inputs[ props[i] ] = !!bool;
+ }
+ return inputs;
+ })('search tel url email datetime date month week time datetime-local number range color'.split(' '));
+ /*>>inputtypes*/
+ }
+ /*>>webforms*/
+
+
+ // End of test definitions
+ // -----------------------
+
+
+
+ // Run through all tests and detect their support in the current UA.
+ // todo: hypothetically we could be doing an array of tests and use a basic loop here.
+ for ( var feature in tests ) {
+ if ( hasOwnProp(tests, feature) ) {
+ // run the test, throw the return value into the Modernizr,
+ // then based on that boolean, define an appropriate className
+ // and push it into an array of classes we'll join later.
+ featureName = feature.toLowerCase();
+ Modernizr[featureName] = tests[feature]();
+
+ classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
+ }
+ }
+
+ /*>>webforms*/
+ // input tests need to run.
+ Modernizr.input || webforms();
+ /*>>webforms*/
+
+
+ /**
+ * addTest allows the user to define their own feature tests
+ * the result will be added onto the Modernizr object,
+ * as well as an appropriate className set on the html element
+ *
+ * @param feature - String naming the feature
+ * @param test - Function returning true if feature is supported, false if not
+ */
+ Modernizr.addTest = function ( feature, test ) {
+ if ( typeof feature == 'object' ) {
+ for ( var key in feature ) {
+ if ( hasOwnProp( feature, key ) ) {
+ Modernizr.addTest( key, feature[ key ] );
+ }
+ }
+ } else {
+
+ feature = feature.toLowerCase();
+
+ if ( Modernizr[feature] !== undefined ) {
+ // we're going to quit if you're trying to overwrite an existing test
+ // if we were to allow it, we'd do this:
+ // var re = new RegExp("\\b(no-)?" + feature + "\\b");
+ // docElement.className = docElement.className.replace( re, '' );
+ // but, no rly, stuff 'em.
+ return Modernizr;
+ }
+
+ test = typeof test == 'function' ? test() : test;
+
+ if (typeof enableClasses !== "undefined" && enableClasses) {
+ docElement.className += ' ' + (test ? '' : 'no-') + feature;
+ }
+ Modernizr[feature] = test;
+
+ }
+
+ return Modernizr; // allow chaining.
+ };
+
+
+ // Reset modElem.cssText to nothing to reduce memory footprint.
+ setCss('');
+ modElem = inputElem = null;
+
+ /*>>shiv*/
+ /**
+ * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+ */
+ ;(function(window, document) {
+ /*jshint evil:true */
+ /** version */
+ var version = '3.7.0';
+
+ /** Preset options */
+ var options = window.html5 || {};
+
+ /** Used to skip problem elements */
+ var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
+
+ /** Not all elements can be cloned in IE **/
+ var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
+
+ /** Detect whether the browser supports default html5 styles */
+ var supportsHtml5Styles;
+
+ /** Name of the expando, to work with multiple documents or to re-shiv one document */
+ var expando = '_html5shiv';
+
+ /** The id for the the documents expando */
+ var expanID = 0;
+
+ /** Cached data for each document */
+ var expandoData = {};
+
+ /** Detect whether the browser supports unknown elements */
+ var supportsUnknownElements;
+
+ (function() {
+ try {
+ var a = document.createElement('a');
+ a.innerHTML = '<xyz></xyz>';
+ //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
+ supportsHtml5Styles = ('hidden' in a);
+
+ supportsUnknownElements = a.childNodes.length == 1 || (function() {
+ // assign a false positive if unable to shiv
+ (document.createElement)('a');
+ var frag = document.createDocumentFragment();
+ return (
+ typeof frag.cloneNode == 'undefined' ||
+ typeof frag.createDocumentFragment == 'undefined' ||
+ typeof frag.createElement == 'undefined'
+ );
+ }());
+ } catch(e) {
+ // assign a false positive if detection fails => unable to shiv
+ supportsHtml5Styles = true;
+ supportsUnknownElements = true;
+ }
+
+ }());
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Creates a style sheet with the given CSS text and adds it to the document.
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @param {String} cssText The CSS text.
+ * @returns {StyleSheet} The style element.
+ */
+ function addStyleSheet(ownerDocument, cssText) {
+ var p = ownerDocument.createElement('p'),
+ parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
+
+ p.innerHTML = 'x<style>' + cssText + '</style>';
+ return parent.insertBefore(p.lastChild, parent.firstChild);
+ }
+
+ /**
+ * Returns the value of `html5.elements` as an array.
+ * @private
+ * @returns {Array} An array of shived element node names.
+ */
+ function getElements() {
+ var elements = html5.elements;
+ return typeof elements == 'string' ? elements.split(' ') : elements;
+ }
+
+ /**
+ * Returns the data associated to the given document
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @returns {Object} An object of data.
+ */
+ function getExpandoData(ownerDocument) {
+ var data = expandoData[ownerDocument[expando]];
+ if (!data) {
+ data = {};
+ expanID++;
+ ownerDocument[expando] = expanID;
+ expandoData[expanID] = data;
+ }
+ return data;
+ }
+
+ /**
+ * returns a shived element for the given nodeName and document
+ * @memberOf html5
+ * @param {String} nodeName name of the element
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived element.
+ */
+ function createElement(nodeName, ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createElement(nodeName);
+ }
+ if (!data) {
+ data = getExpandoData(ownerDocument);
+ }
+ var node;
+
+ if (data.cache[nodeName]) {
+ node = data.cache[nodeName].cloneNode();
+ } else if (saveClones.test(nodeName)) {
+ node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
+ } else {
+ node = data.createElem(nodeName);
+ }
+
+ // Avoid adding some elements to fragments in IE < 9 because
+ // * Attributes like `name` or `type` cannot be set/changed once an element
+ // is inserted into a document/fragment
+ // * Link elements with `src` attributes that are inaccessible, as with
+ // a 403 response, will cause the tab/window to crash
+ // * Script elements appended to fragments will execute when their `src`
+ // or `text` property is set
+ return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
+ }
+
+ /**
+ * returns a shived DocumentFragment for the given document
+ * @memberOf html5
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived DocumentFragment.
+ */
+ function createDocumentFragment(ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createDocumentFragment();
+ }
+ data = data || getExpandoData(ownerDocument);
+ var clone = data.frag.cloneNode(),
+ i = 0,
+ elems = getElements(),
+ l = elems.length;
+ for(;i<l;i++){
+ clone.createElement(elems[i]);
+ }
+ return clone;
+ }
+
+ /**
+ * Shivs the `createElement` and `createDocumentFragment` methods of the document.
+ * @private
+ * @param {Document|DocumentFragment} ownerDocument The document.
+ * @param {Object} data of the document.
+ */
+ function shivMethods(ownerDocument, data) {
+ if (!data.cache) {
+ data.cache = {};
+ data.createElem = ownerDocument.createElement;
+ data.createFrag = ownerDocument.createDocumentFragment;
+ data.frag = data.createFrag();
+ }
+
+
+ ownerDocument.createElement = function(nodeName) {
+ //abort shiv
+ if (!html5.shivMethods) {
+ return data.createElem(nodeName);
+ }
+ return createElement(nodeName, ownerDocument, data);
+ };
+
+ ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
+ 'var n=f.cloneNode(),c=n.createElement;' +
+ 'h.shivMethods&&(' +
+ // unroll the `createElement` calls
+ getElements().join().replace(/[\w\-]+/g, function(nodeName) {
+ data.createElem(nodeName);
+ data.frag.createElement(nodeName);
+ return 'c("' + nodeName + '")';
+ }) +
+ ');return n}'
+ )(html5, data.frag);
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Shivs the given document.
+ * @memberOf html5
+ * @param {Document} ownerDocument The document to shiv.
+ * @returns {Document} The shived document.
+ */
+ function shivDocument(ownerDocument) {
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ var data = getExpandoData(ownerDocument);
+
+ if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
+ data.hasCSS = !!addStyleSheet(ownerDocument,
+ // corrects block display not defined in IE6/7/8/9
+ 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
+ // adds styling not present in IE6/7/8/9
+ 'mark{background:#FF0;color:#000}' +
+ // hides non-rendered elements
+ 'template{display:none}'
+ );
+ }
+ if (!supportsUnknownElements) {
+ shivMethods(ownerDocument, data);
+ }
+ return ownerDocument;
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * The `html5` object is exposed so that more elements can be shived and
+ * existing shiving can be detected on iframes.
+ * @type Object
+ * @example
+ *
+ * // options can be changed before the script is included
+ * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
+ */
+ var html5 = {
+
+ /**
+ * An array or space separated string of node names of the elements to shiv.
+ * @memberOf html5
+ * @type Array|String
+ */
+ 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
+
+ /**
+ * current version of html5shiv
+ */
+ 'version': version,
+
+ /**
+ * A flag to indicate that the HTML5 style sheet should be inserted.
+ * @memberOf html5
+ * @type Boolean
+ */
+ 'shivCSS': (options.shivCSS !== false),
+
+ /**
+ * Is equal to true if a browser supports creating unknown/HTML5 elements
+ * @memberOf html5
+ * @type boolean
+ */
+ 'supportsUnknownElements': supportsUnknownElements,
+
+ /**
+ * A flag to indicate that the document's `createElement` and `createDocumentFragment`
+ * methods should be overwritten.
+ * @memberOf html5
+ * @type Boolean
+ */
+ 'shivMethods': (options.shivMethods !== false),
+
+ /**
+ * A string to describe the type of `html5` object ("default" or "default print").
+ * @memberOf html5
+ * @type String
+ */
+ 'type': 'default',
+
+ // shivs the document according to the specified `html5` object options
+ 'shivDocument': shivDocument,
+
+ //creates a shived element
+ createElement: createElement,
+
+ //creates a shived documentFragment
+ createDocumentFragment: createDocumentFragment
+ };
+
+ /*--------------------------------------------------------------------------*/
+
+ // expose html5
+ window.html5 = html5;
+
+ // shiv the document
+ shivDocument(document);
+
+ }(this, document));
+ /*>>shiv*/
+
+ // Assign private properties to the return object with prefix
+ Modernizr._version = version;
+
+ // expose these for the plugin API. Look in the source for how to join() them against your input
+ /*>>prefixes*/
+ Modernizr._prefixes = prefixes;
+ /*>>prefixes*/
+ /*>>domprefixes*/
+ Modernizr._domPrefixes = domPrefixes;
+ Modernizr._cssomPrefixes = cssomPrefixes;
+ /*>>domprefixes*/
+
+ /*>>mq*/
+ // Modernizr.mq tests a given media query, live against the current state of the window
+ // A few important notes:
+ // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false
+ // * A max-width or orientation query will be evaluated against the current state, which may change later.
+ // * You must specify values. Eg. If you are testing support for the min-width media query use:
+ // Modernizr.mq('(min-width:0)')
+ // usage:
+ // Modernizr.mq('only screen and (max-width:768)')
+ Modernizr.mq = testMediaQuery;
+ /*>>mq*/
+
+ /*>>hasevent*/
+ // Modernizr.hasEvent() detects support for a given event, with an optional element to test on
+ // Modernizr.hasEvent('gesturestart', elem)
+ Modernizr.hasEvent = isEventSupported;
+ /*>>hasevent*/
+
+ /*>>testprop*/
+ // Modernizr.testProp() investigates whether a given style property is recognized
+ // Note that the property names must be provided in the camelCase variant.
+ // Modernizr.testProp('pointerEvents')
+ Modernizr.testProp = function(prop){
+ return testProps([prop]);
+ };
+ /*>>testprop*/
+
+ /*>>testallprops*/
+ // Modernizr.testAllProps() investigates whether a given style property,
+ // or any of its vendor-prefixed variants, is recognized
+ // Note that the property names must be provided in the camelCase variant.
+ // Modernizr.testAllProps('boxSizing')
+ Modernizr.testAllProps = testPropsAll;
+ /*>>testallprops*/
+
+
+ /*>>teststyles*/
+ // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards
+ // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... })
+ Modernizr.testStyles = injectElementWithStyles;
+ /*>>teststyles*/
+
+
+ /*>>prefixed*/
+ // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input
+ // Modernizr.prefixed('boxSizing') // 'MozBoxSizing'
+
+ // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style.
+ // Return values will also be the camelCase variant, if you need to translate that to hypenated style use:
+ //
+ // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
+
+ // If you're trying to ascertain which transition end event to bind to, you might do something like...
+ //
+ // var transEndEventNames = {
+ // 'WebkitTransition' : 'webkitTransitionEnd',
+ // 'MozTransition' : 'transitionend',
+ // 'OTransition' : 'oTransitionEnd',
+ // 'msTransition' : 'MSTransitionEnd',
+ // 'transition' : 'transitionend'
+ // },
+ // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
+
+ Modernizr.prefixed = function(prop, obj, elem){
+ if(!obj) {
+ return testPropsAll(prop, 'pfx');
+ } else {
+ // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame'
+ return testPropsAll(prop, obj, elem);
+ }
+ };
+ /*>>prefixed*/
+
+
+ /*>>cssclasses*/
+ // Remove "no-js" class from <html> element, if it exists:
+ docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
+
+ // Add the new classes to the <html> element.
+ (enableClasses ? ' js ' + classes.join(' ') : '');
+ /*>>cssclasses*/
+
+ return Modernizr;
+
+})(this, this.document);
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Scripts/swagger_lang.js b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/swagger_lang.js
new file mode 100644
index 0000000..35e2584
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Scripts/swagger_lang.js
@@ -0,0 +1,95 @@
+锘�'use strict';
+
+/**
+ * Translator for documentation pages.
+ *
+ * To enable translation you should include one of language-files in your index.html
+ * after <script src='lang/translator.js' type='text/javascript'></script>.
+ * For example - <script src='lang/ru.js' type='text/javascript'></script>
+ *
+ * If you wish to translate some new texsts you should do two things:
+ * 1. Add a new phrase pair ("New Phrase": "New Translation") into your language file (for example lang/ru.js). It will be great if you add it in other language files too.
+ * 2. Mark that text it templates this way <anyHtmlTag data-sw-translate>New Phrase</anyHtmlTag> or <anyHtmlTag data-sw-translate value='New Phrase'/>.
+ * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate.
+ *
+ */
+window.SwaggerTranslator = {
+ _words: [],
+
+ translate: function () {
+ var $this = this;
+ $('[data-sw-translate]').each(function () {
+ $(this).html($this._tryTranslate($(this).html()));
+ $(this).val($this._tryTranslate($(this).val()));
+ $(this).attr('title', $this._tryTranslate($(this).attr('title')));
+ });
+ },
+
+ _tryTranslate: function (word) {
+ return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word;
+ },
+
+ learn: function (wordsMap) {
+ this._words = wordsMap;
+ }
+};
+
+
+/* jshint quotmark: double */
+window.SwaggerTranslator.learn({
+ "Warning: Deprecated": "璀﹀憡锛氬凡杩囨椂",
+ "Implementation Notes": "瀹炵幇澶囨敞",
+ "Response Class": "鍝嶅簲绫�",
+ "Status": "鐘舵��",
+ "Parameters": "鍙傛暟",
+ "Parameter": "鍙傛暟",
+ "Value": "鍊�",
+ "Description": "鎻忚堪",
+ "Parameter Type": "鍙傛暟绫诲瀷",
+ "Data Type": "鏁版嵁绫诲瀷",
+ "Response Messages": "鍝嶅簲娑堟伅",
+ "HTTP Status Code": "HTTP鐘舵�佺爜",
+ "Reason": "鍘熷洜",
+ "Response Model": "鍝嶅簲妯″瀷",
+ "Request URL": "璇锋眰URL",
+ "Response Body": "鍝嶅簲浣�",
+ "Response Code": "鍝嶅簲鐮�",
+ "Response Headers": "鍝嶅簲澶�",
+ "Hide Response": "闅愯棌鍝嶅簲",
+ "Headers": "澶�",
+ "Try it out!": "璇曚竴涓嬶紒",
+ "Show/Hide": "鏄剧ず/闅愯棌",
+ "List Operations": "鏄剧ず鎿嶄綔",
+ "Expand Operations": "灞曞紑鎿嶄綔",
+ "Raw": "鍘熷",
+ "can't parse JSON. Raw result": "鏃犳硶瑙f瀽JSON. 鍘熷缁撴灉",
+ "Model Schema": "妯″瀷鏋舵瀯",
+ "Model": "妯″瀷",
+ "apply": "搴旂敤",
+ "Username": "鐢ㄦ埛鍚�",
+ "Password": "瀵嗙爜",
+ "Terms of service": "鏈嶅姟鏉℃",
+ "Created by": "鍒涘缓鑰�",
+ "See more at": "鏌ョ湅鏇村锛�",
+ "Contact the developer": "鑱旂郴寮�鍙戣��",
+ "api version": "api鐗堟湰",
+ "Response Content Type": "鍝嶅簲Content Type",
+ "fetching resource": "姝e湪鑾峰彇璧勬簮",
+ "fetching resource list": "姝e湪鑾峰彇璧勬簮鍒楄〃",
+ "Explore": "娴忚",
+ "Show Swagger Petstore Example Apis": "鏄剧ず Swagger Petstore 绀轰緥 Apis",
+ "Can't read from server. It may not have the appropriate access-control-origin settings.": "鏃犳硶浠庢湇鍔″櫒璇诲彇銆傚彲鑳芥病鏈夋纭缃產ccess-control-origin銆�",
+ "Please specify the protocol for": "璇锋寚瀹氬崗璁細",
+ "Can't read swagger JSON from": "鏃犳硶璇诲彇swagger JSON浜�",
+ "Finished Loading Resource Information. Rendering Swagger UI": "宸插姞杞借祫婧愪俊鎭�傛鍦ㄦ覆鏌揝wagger UI",
+ "Unable to read api": "鏃犳硶璇诲彇api",
+ "from path": "浠庤矾寰�",
+ "server returned": "鏈嶅姟鍣ㄨ繑鍥�"
+});
+
+
+$(function () {
+ window.SwaggerTranslator.translate();
+});
+
+swagger_lang_cn.js
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/Web.config b/VueWebApi/obj/Release/Package/PackageTmp/Web.config
new file mode 100644
index 0000000..6f1f33f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/Web.config
@@ -0,0 +1,154 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+ For more information on how to configure your ASP.NET application, please visit
+ https://go.microsoft.com/fwlink/?LinkId=301879
+ -->
+<configuration>
+ <configSections>
+ <!--閰嶇疆log4net-->
+ <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
+ <appSettings>
+ <!--鏁版嵁搴撻摼鎺ラ厤缃�-->
+ <!--鏈湴鐜-->
+ <!--<add key="DBServer" value="Data Source=.;Initial Catalog=vmes;Integrated Security=True" />-->
+ <!--鏈嶅姟鍣ㄧ幆澧�-->
+ <add key="DBServer" value="Data Source=121.196.36.24,1533;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
+ <!--澶у矝鏈嶅姟鍣ㄧ幆澧�-->
+ <!--<add key="DBServer" value="Data Source=192.168.2.138;Initial Catalog=vmes;User ID=sa;Password=Dd@20220727;pooling=false" />-->
+ <!--redis鏁版嵁搴撻摼鎺ラ厤缃甶p-->
+ <add key="RedisConnIp" value="127.0.0.1" />
+ <!--redis鏁版嵁搴撻摼鎺ラ厤缃鍙e彿-->
+ <add key="RedisConnPort" value="6379" />
+ <!--key澶辨晥鏃堕棿30绉�-->
+ <add key="RedisKeyTimeCont" value="120" />
+ <!--Excel瀵煎嚭妯℃澘閰嶇疆IP-->
+ <add key="FileIP" value="http://121.196.36.24:8001/" />
+ <add key="webpages:Version" value="3.0.0.0" />
+ <add key="webpages:Enabled" value="false" />
+ <add key="ClientValidationEnabled" value="true" />
+ <add key="UnobtrusiveJavaScriptEnabled" value="true" />
+ <!--鎻愪氦json瀛楃涓茶繃闀块棶棰�-->
+ <add key="aspnet:MaxJsonDeserializerMembers" value="150000000" />
+ </appSettings>
+ <system.web>
+ <compilation targetFramework="4.6.1" />
+ <customErrors mode="Off" />
+ <!--鏈�澶ц姹傞暱搴�,鍗曚綅涓簁b-->
+ <httpRuntime targetFramework="4.6.1" maxRequestLength="2147483647" maxQueryStringLength="2097151" />
+ <!--session澶辨晥鏃堕棿-->
+ <sessionState mode="InProc" timeout="240">
+ <!--<sessionState mode="Off">-->
+ </sessionState>
+ </system.web>
+ <system.webServer>
+ <security>
+ <requestFiltering>
+ <!--涓昏鏄痬axAllowedContentLength灞炴��-->
+ <requestLimits maxAllowedContentLength="2147483647" maxQueryString="102400" />
+ </requestFiltering>
+ </security>
+ <httpProtocol>
+ <customHeaders>
+ <add name="Access-Control-Allow-Origin" value="*" />
+ <add name="Access-Control-Allow-Headers" value="Content-Type" />
+ <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
+ </customHeaders>
+ </httpProtocol>
+ <modules runAllManagedModulesForAllRequests="true" />
+ <validation validateIntegratedModeConfiguration="false" />
+ <staticContent>
+ <remove fileExtension=".woff" />
+ <remove fileExtension=".woff2" />
+ <remove fileExtension=".json" />
+ <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
+ <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
+ <mimeMap fileExtension=".json" mimeType="application/json" />
+ <!--娣诲姞鎵撳嵃鏂囦欢MIME绫诲瀷-->
+ <!--<mimeMap fileExtension=".grf" mimeType="grf/gridreport"/>-->
+ </staticContent>
+ <handlers>
+ <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
+ <remove name="OPTIONSVerbHandler" />
+ <remove name="TRACEVerbHandler" />
+ <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+ </handlers>
+ </system.webServer>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
+ <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
+ <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
+ </compilers>
+ </system.codedom>
+</configuration>
+<!--ProjectGuid: 716E07C4-D8DC-429E-8B68-3BC6DF13E00F-->
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.dll
new file mode 100644
index 0000000..b963933
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.pdb
new file mode 100644
index 0000000..4afaf35
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Antlr3.Runtime.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/BouncyCastle.Crypto.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/BouncyCastle.Crypto.dll
new file mode 100644
index 0000000..967a933
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/BouncyCastle.Crypto.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Dapper.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Dapper.dll
new file mode 100644
index 0000000..d858e9f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Dapper.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Web.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Web.dll
new file mode 100644
index 0000000..6d7efa0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Web.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.dll
new file mode 100644
index 0000000..0a6e087
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Fleck.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Fleck.dll
new file mode 100644
index 0000000..8879ec4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Fleck.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.dll
new file mode 100644
index 0000000..4dc2759
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.pdb
new file mode 100644
index 0000000..dd2cee6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/ICSharpCode.SharpZipLib.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.dll
new file mode 100644
index 0000000..8a9339f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.pdb
new file mode 100644
index 0000000..92df8ea
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/JWT.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.Core.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.Core.dll
new file mode 100644
index 0000000..f3aeafd
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.Core.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.SystemWeb.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.SystemWeb.dll
new file mode 100644
index 0000000..92f9ca4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNet.SignalR.SystemWeb.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Abstractions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Abstractions.dll
new file mode 100644
index 0000000..c817782
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Abstractions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Features.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Features.dll
new file mode 100644
index 0000000..c5f6f86
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Http.Features.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Mvc.Abstractions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Mvc.Abstractions.dll
new file mode 100644
index 0000000..f05a157
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Mvc.Abstractions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Routing.Abstractions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Routing.Abstractions.dll
new file mode 100644
index 0000000..458cdd3
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.AspNetCore.Routing.Abstractions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Bcl.AsyncInterfaces.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Bcl.AsyncInterfaces.dll
new file mode 100644
index 0000000..abe9406
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Bcl.AsyncInterfaces.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
new file mode 100644
index 0000000..fbb216a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Extensions.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Extensions.Primitives.dll
new file mode 100644
index 0000000..62324a7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Extensions.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Net.Http.Headers.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Net.Http.Headers.dll
new file mode 100644
index 0000000..01dec16
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Net.Http.Headers.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Cors.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Cors.dll
new file mode 100644
index 0000000..07af224
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Cors.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Host.SystemWeb.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Host.SystemWeb.dll
new file mode 100644
index 0000000..32ba7d5
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Host.SystemWeb.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Security.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Security.dll
new file mode 100644
index 0000000..b6ce945
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.Security.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.dll
new file mode 100644
index 0000000..234c616
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Owin.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Web.Infrastructure.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Web.Infrastructure.dll
new file mode 100644
index 0000000..85f1138
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Web.Infrastructure.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Win32.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Win32.Primitives.dll
new file mode 100644
index 0000000..8b69a69
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Microsoft.Win32.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.dll
new file mode 100644
index 0000000..9d9b5e8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.pdb
new file mode 100644
index 0000000..142cc2f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OOXML.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.dll
new file mode 100644
index 0000000..0587a28
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.pdb
new file mode 100644
index 0000000..381f487
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXml4Net.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.dll
new file mode 100644
index 0000000..910e7ae
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.pdb
new file mode 100644
index 0000000..b7e440b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.OpenXmlFormats.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.dll
new file mode 100644
index 0000000..cab5a09
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.pdb
new file mode 100644
index 0000000..7c5c0fc
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/NPOI.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Newtonsoft.Json.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Newtonsoft.Json.dll
new file mode 100644
index 0000000..4395f61
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Newtonsoft.Json.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Owin.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Owin.dll
new file mode 100644
index 0000000..ba6e21e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Owin.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Pipelines.Sockets.Unofficial.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Pipelines.Sockets.Unofficial.dll
new file mode 100644
index 0000000..bf9f778
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Pipelines.Sockets.Unofficial.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Common.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Common.dll
new file mode 100644
index 0000000..ed8cad2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Common.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Interfaces.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Interfaces.dll
new file mode 100644
index 0000000..a2eea02
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Interfaces.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Redis.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Redis.dll
new file mode 100644
index 0000000..ef45a49
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Redis.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Text.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Text.dll
new file mode 100644
index 0000000..2b5dbd1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/ServiceStack.Text.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/StackExchange.Redis.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/StackExchange.Redis.dll
new file mode 100644
index 0000000..88a551e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/StackExchange.Redis.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/Swashbuckle.Core.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/Swashbuckle.Core.dll
new file mode 100644
index 0000000..4ae8c87
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/Swashbuckle.Core.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.AppContext.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.AppContext.dll
new file mode 100644
index 0000000..4ccc058
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.AppContext.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Buffers.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Buffers.dll
new file mode 100644
index 0000000..f2d83c5
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Buffers.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.CodeDom.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.CodeDom.dll
new file mode 100644
index 0000000..67c2eb1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.CodeDom.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Concurrent.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Concurrent.dll
new file mode 100644
index 0000000..26f10d1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Concurrent.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.NonGeneric.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.NonGeneric.dll
new file mode 100644
index 0000000..9da235a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.NonGeneric.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Specialized.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Specialized.dll
new file mode 100644
index 0000000..fbd4fc7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.Specialized.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.dll
new file mode 100644
index 0000000..72ac205
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Collections.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.EventBasedAsync.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.EventBasedAsync.dll
new file mode 100644
index 0000000..37742d4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.EventBasedAsync.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.Primitives.dll
new file mode 100644
index 0000000..b0c4b68
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.TypeConverter.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.TypeConverter.dll
new file mode 100644
index 0000000..fb42b44
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.TypeConverter.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.dll
new file mode 100644
index 0000000..8e2d829
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ComponentModel.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Console.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Console.dll
new file mode 100644
index 0000000..fe61bcc
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Console.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Data.Common.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Data.Common.dll
new file mode 100644
index 0000000..05e3481
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Data.Common.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Contracts.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Contracts.dll
new file mode 100644
index 0000000..98f40eb
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Contracts.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Debug.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Debug.dll
new file mode 100644
index 0000000..a51c0cf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Debug.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.FileVersionInfo.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.FileVersionInfo.dll
new file mode 100644
index 0000000..3c203b0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.FileVersionInfo.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.PerformanceCounter.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.PerformanceCounter.dll
new file mode 100644
index 0000000..f0b1acf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.PerformanceCounter.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Process.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Process.dll
new file mode 100644
index 0000000..b537e62
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Process.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.StackTrace.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.StackTrace.dll
new file mode 100644
index 0000000..5dfaad6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.StackTrace.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TextWriterTraceListener.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TextWriterTraceListener.dll
new file mode 100644
index 0000000..a5720da
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TextWriterTraceListener.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tools.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tools.dll
new file mode 100644
index 0000000..bd9deae
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tools.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TraceSource.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TraceSource.dll
new file mode 100644
index 0000000..5474eb2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.TraceSource.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tracing.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tracing.dll
new file mode 100644
index 0000000..5b8b2b4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Diagnostics.Tracing.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Drawing.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Drawing.Primitives.dll
new file mode 100644
index 0000000..1eeacc4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Drawing.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Dynamic.Runtime.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Dynamic.Runtime.dll
new file mode 100644
index 0000000..d34b388
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Dynamic.Runtime.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Calendars.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Calendars.dll
new file mode 100644
index 0000000..4a198bc
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Calendars.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Extensions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Extensions.dll
new file mode 100644
index 0000000..99f9e4a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.Extensions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.dll
new file mode 100644
index 0000000..dd3d2e3
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Globalization.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.ZipFile.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.ZipFile.dll
new file mode 100644
index 0000000..345acbd
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.ZipFile.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.dll
new file mode 100644
index 0000000..ebbb503
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Compression.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.DriveInfo.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.DriveInfo.dll
new file mode 100644
index 0000000..5c59398
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.DriveInfo.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Primitives.dll
new file mode 100644
index 0000000..de4c49f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Watcher.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Watcher.dll
new file mode 100644
index 0000000..228d60b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.Watcher.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.dll
new file mode 100644
index 0000000..6934080
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.FileSystem.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.IsolatedStorage.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.IsolatedStorage.dll
new file mode 100644
index 0000000..356e123
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.IsolatedStorage.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.MemoryMappedFiles.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.MemoryMappedFiles.dll
new file mode 100644
index 0000000..add3b29
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.MemoryMappedFiles.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipelines.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipelines.dll
new file mode 100644
index 0000000..0e68c22
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipelines.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipes.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipes.dll
new file mode 100644
index 0000000..e5690c4
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.Pipes.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.UnmanagedMemoryStream.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.UnmanagedMemoryStream.dll
new file mode 100644
index 0000000..cdd7427
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.UnmanagedMemoryStream.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.dll
new file mode 100644
index 0000000..e9eb534
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.IO.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Expressions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Expressions.dll
new file mode 100644
index 0000000..63b570c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Expressions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Parallel.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Parallel.dll
new file mode 100644
index 0000000..d8d097e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Parallel.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Queryable.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Queryable.dll
new file mode 100644
index 0000000..404bbe2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.Queryable.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.dll
new file mode 100644
index 0000000..42cd93b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Linq.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Memory.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Memory.dll
new file mode 100644
index 0000000..5d19470
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Memory.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.Formatting.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.Formatting.dll
new file mode 100644
index 0000000..e9e80be
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.Formatting.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.dll
new file mode 100644
index 0000000..1c5c6fd
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Http.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NameResolution.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NameResolution.dll
new file mode 100644
index 0000000..e8a65c0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NameResolution.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NetworkInformation.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NetworkInformation.dll
new file mode 100644
index 0000000..543a6cf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.NetworkInformation.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Ping.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Ping.dll
new file mode 100644
index 0000000..eeb4666
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Ping.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Primitives.dll
new file mode 100644
index 0000000..8a929ae
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Requests.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Requests.dll
new file mode 100644
index 0000000..5cf38f8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Requests.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Security.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Security.dll
new file mode 100644
index 0000000..eacb8a1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Security.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Sockets.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Sockets.dll
new file mode 100644
index 0000000..9716795
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.Sockets.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebHeaderCollection.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebHeaderCollection.dll
new file mode 100644
index 0000000..0238e69
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebHeaderCollection.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.Client.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.Client.dll
new file mode 100644
index 0000000..3275912
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.Client.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.dll
new file mode 100644
index 0000000..7a74189
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Net.WebSockets.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Numerics.Vectors.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..0865972
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Numerics.Vectors.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ObjectModel.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ObjectModel.dll
new file mode 100644
index 0000000..37e1189
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ObjectModel.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Extensions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Extensions.dll
new file mode 100644
index 0000000..6d12687
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Extensions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Primitives.dll
new file mode 100644
index 0000000..2c160e9
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.dll
new file mode 100644
index 0000000..ec0b3d2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Reflection.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Reader.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Reader.dll
new file mode 100644
index 0000000..a34c693
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Reader.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.ResourceManager.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.ResourceManager.dll
new file mode 100644
index 0000000..c4a14ce
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.ResourceManager.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Writer.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Writer.dll
new file mode 100644
index 0000000..0ce2946
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Resources.Writer.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.Unsafe.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000..de9e124
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.Unsafe.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.VisualC.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.VisualC.dll
new file mode 100644
index 0000000..30a2f81
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.CompilerServices.VisualC.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Extensions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Extensions.dll
new file mode 100644
index 0000000..eb0e80b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Extensions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Handles.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Handles.dll
new file mode 100644
index 0000000..37f15ff
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Handles.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.RuntimeInformation.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100644
index 0000000..c3e0c71
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.RuntimeInformation.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.dll
new file mode 100644
index 0000000..ab54429
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.InteropServices.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Numerics.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Numerics.dll
new file mode 100644
index 0000000..3202cd9
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Numerics.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Formatters.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Formatters.dll
new file mode 100644
index 0000000..06b5480
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Formatters.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Json.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Json.dll
new file mode 100644
index 0000000..1f30098
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Json.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Primitives.dll
new file mode 100644
index 0000000..19a6dd2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Xml.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Xml.dll
new file mode 100644
index 0000000..3a839e2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.Serialization.Xml.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.dll
new file mode 100644
index 0000000..344ee77
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Runtime.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Claims.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Claims.dll
new file mode 100644
index 0000000..9cb6423
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Claims.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Algorithms.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Algorithms.dll
new file mode 100644
index 0000000..01b7bb5
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Algorithms.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Csp.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Csp.dll
new file mode 100644
index 0000000..d7721e7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Csp.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Encoding.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Encoding.dll
new file mode 100644
index 0000000..f588614
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Encoding.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Primitives.dll
new file mode 100644
index 0000000..35a21ef
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.X509Certificates.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.X509Certificates.dll
new file mode 100644
index 0000000..53d05b2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Cryptography.X509Certificates.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Principal.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Principal.dll
new file mode 100644
index 0000000..6d7c2ba
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.Principal.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.SecureString.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.SecureString.dll
new file mode 100644
index 0000000..355a050
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Security.SecureString.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.Extensions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.Extensions.dll
new file mode 100644
index 0000000..4f2b83d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.Extensions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.dll
new file mode 100644
index 0000000..557551f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encoding.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encodings.Web.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encodings.Web.dll
new file mode 100644
index 0000000..d339dcf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.Encodings.Web.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.RegularExpressions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.RegularExpressions.dll
new file mode 100644
index 0000000..1a64a17
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Text.RegularExpressions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Channels.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Channels.dll
new file mode 100644
index 0000000..772c262
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Channels.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Overlapped.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Overlapped.dll
new file mode 100644
index 0000000..5d7e7b7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Overlapped.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Extensions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..eeec928
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Parallel.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Parallel.dll
new file mode 100644
index 0000000..c4df330
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.Parallel.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.dll
new file mode 100644
index 0000000..25999be
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Tasks.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Thread.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Thread.dll
new file mode 100644
index 0000000..9b7da65
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Thread.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.ThreadPool.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.ThreadPool.dll
new file mode 100644
index 0000000..9405b8f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.ThreadPool.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Timer.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Timer.dll
new file mode 100644
index 0000000..c9eae71
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.Timer.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.dll
new file mode 100644
index 0000000..deae2be
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Threading.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ValueTuple.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ValueTuple.dll
new file mode 100644
index 0000000..502f8cd
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.ValueTuple.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Cors.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Cors.dll
new file mode 100644
index 0000000..1b2a95e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Cors.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Helpers.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Helpers.dll
new file mode 100644
index 0000000..0da21c0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Helpers.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.Cors.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.Cors.dll
new file mode 100644
index 0000000..c5af05b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.Cors.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.WebHost.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.WebHost.dll
new file mode 100644
index 0000000..c374283
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.WebHost.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.dll
new file mode 100644
index 0000000..7e3bd30
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Http.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Mvc.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Mvc.dll
new file mode 100644
index 0000000..da94e65
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Mvc.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Optimization.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Optimization.dll
new file mode 100644
index 0000000..393d416
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Optimization.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Razor.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Razor.dll
new file mode 100644
index 0000000..7fa1f69
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.Razor.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Deployment.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Deployment.dll
new file mode 100644
index 0000000..1242f74
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Deployment.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Razor.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Razor.dll
new file mode 100644
index 0000000..ab12ee8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.Razor.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.dll
new file mode 100644
index 0000000..2468ea6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Web.WebPages.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.ReaderWriter.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.ReaderWriter.dll
new file mode 100644
index 0000000..24df9a0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.ReaderWriter.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XDocument.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XDocument.dll
new file mode 100644
index 0000000..cbbc4f0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XDocument.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.XDocument.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.XDocument.dll
new file mode 100644
index 0000000..0830ed1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.XDocument.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.dll
new file mode 100644
index 0000000..8327f2e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XPath.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlDocument.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlDocument.dll
new file mode 100644
index 0000000..4f044b1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlDocument.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlSerializer.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlSerializer.dll
new file mode 100644
index 0000000..7b47de8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/System.Xml.XmlSerializer.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.dll
new file mode 100644
index 0000000..74956e1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
new file mode 100644
index 0000000..f4d4098
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
new file mode 100644
index 0000000..b8b185c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -0,0 +1,3628 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>VueWebApi</name>
+ </assembly>
+ <members>
+ <member name="T:VueWebApi.App_Start.SwaggerControllerDescProvider">
+ <summary>
+ swagger鏄剧ず鎺у埗鍣ㄧ殑鎻忚堪
+ </summary>
+ </member>
+ <member name="M:VueWebApi.App_Start.SwaggerControllerDescProvider.#ctor(Swashbuckle.Swagger.ISwaggerProvider,System.String)">
+ <summary>
+
+ </summary>
+ <param name="swaggerProvider"></param>
+ <param name="xml">xml鏂囨。璺緞</param>
+ </member>
+ <member name="M:VueWebApi.App_Start.SwaggerControllerDescProvider.GetControllerDesc">
+ <summary>
+ 浠嶢PI鏂囨。涓鍙栨帶鍒跺櫒鎻忚堪
+ </summary>
+ <returns>鎵�鏈夋帶鍒跺櫒鎻忚堪</returns>
+ </member>
+ <member name="M:VueWebApi.SwaggerConfig.GetXmlCommentsPath(System.String)">
+ <summary>
+ XML璺緞鎷兼帴
+ </summary>
+ <param name="name"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.ApiDescriptionExtensions.GetFriendlyId(System.Web.Http.Description.ApiDescription)">
+ <summary>
+ Generates an URI-friendly ID for the <see cref="T:System.Web.Http.Description.ApiDescription"/>. E.g. "Get-Values-id_name" instead of "GetValues/{id}?name={name}"
+ </summary>
+ <param name="description">The <see cref="T:System.Web.Http.Description.ApiDescription"/>.</param>
+ <returns>The ID as a string.</returns>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.HelpPageConfig">
+ <summary>
+ Use this class to customize the Help Page.
+ For example you can set a custom <see cref="T:System.Web.Http.Description.IDocumentationProvider"/> to supply the documentation
+ or you can provide the samples for the requests/responses.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.Controllers.HelpController">
+ <summary>
+ The controller that will handle requests for the help page.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetDocumentationProvider(System.Web.Http.HttpConfiguration,System.Web.Http.Description.IDocumentationProvider)">
+ <summary>
+ Sets the documentation provider for help page.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="documentationProvider">The documentation provider.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleObjects(System.Web.Http.HttpConfiguration,System.Collections.Generic.IDictionary{System.Type,System.Object})">
+ <summary>
+ Sets the objects that will be used by the formatters to produce sample requests/responses.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sampleObjects">The sample objects.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleRequest(System.Web.Http.HttpConfiguration,System.Object,System.Net.Http.Headers.MediaTypeHeaderValue,System.String,System.String)">
+ <summary>
+ Sets the sample request directly for the specified media type and action.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sample">The sample request.</param>
+ <param name="mediaType">The media type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleRequest(System.Web.Http.HttpConfiguration,System.Object,System.Net.Http.Headers.MediaTypeHeaderValue,System.String,System.String,System.String[])">
+ <summary>
+ Sets the sample request directly for the specified media type and action with parameters.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sample">The sample request.</param>
+ <param name="mediaType">The media type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleResponse(System.Web.Http.HttpConfiguration,System.Object,System.Net.Http.Headers.MediaTypeHeaderValue,System.String,System.String)">
+ <summary>
+ Sets the sample request directly for the specified media type of the action.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sample">The sample response.</param>
+ <param name="mediaType">The media type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleResponse(System.Web.Http.HttpConfiguration,System.Object,System.Net.Http.Headers.MediaTypeHeaderValue,System.String,System.String,System.String[])">
+ <summary>
+ Sets the sample response directly for the specified media type of the action with specific parameters.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sample">The sample response.</param>
+ <param name="mediaType">The media type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleForMediaType(System.Web.Http.HttpConfiguration,System.Object,System.Net.Http.Headers.MediaTypeHeaderValue)">
+ <summary>
+ Sets the sample directly for all actions with the specified media type.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sample">The sample.</param>
+ <param name="mediaType">The media type.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetSampleForType(System.Web.Http.HttpConfiguration,System.Object,System.Net.Http.Headers.MediaTypeHeaderValue,System.Type)">
+ <summary>
+ Sets the sample directly for all actions with the specified type and media type.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sample">The sample.</param>
+ <param name="mediaType">The media type.</param>
+ <param name="type">The parameter type or return type of an action.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetActualRequestType(System.Web.Http.HttpConfiguration,System.Type,System.String,System.String)">
+ <summary>
+ Specifies the actual type of <see cref="T:System.Net.Http.ObjectContent`1"/> passed to the <see cref="T:System.Net.Http.HttpRequestMessage"/> in an action.
+ The help page will use this information to produce more accurate request samples.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="type">The type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetActualRequestType(System.Web.Http.HttpConfiguration,System.Type,System.String,System.String,System.String[])">
+ <summary>
+ Specifies the actual type of <see cref="T:System.Net.Http.ObjectContent`1"/> passed to the <see cref="T:System.Net.Http.HttpRequestMessage"/> in an action.
+ The help page will use this information to produce more accurate request samples.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="type">The type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetActualResponseType(System.Web.Http.HttpConfiguration,System.Type,System.String,System.String)">
+ <summary>
+ Specifies the actual type of <see cref="T:System.Net.Http.ObjectContent`1"/> returned as part of the <see cref="T:System.Net.Http.HttpRequestMessage"/> in an action.
+ The help page will use this information to produce more accurate response samples.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="type">The type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetActualResponseType(System.Web.Http.HttpConfiguration,System.Type,System.String,System.String,System.String[])">
+ <summary>
+ Specifies the actual type of <see cref="T:System.Net.Http.ObjectContent`1"/> returned as part of the <see cref="T:System.Net.Http.HttpRequestMessage"/> in an action.
+ The help page will use this information to produce more accurate response samples.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="type">The type.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.GetHelpPageSampleGenerator(System.Web.Http.HttpConfiguration)">
+ <summary>
+ Gets the help page sample generator.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <returns>The help page sample generator.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.SetHelpPageSampleGenerator(System.Web.Http.HttpConfiguration,VueWebApi.Areas.HelpPage.HelpPageSampleGenerator)">
+ <summary>
+ Sets the help page sample generator.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="sampleGenerator">The help page sample generator.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.GetModelDescriptionGenerator(System.Web.Http.HttpConfiguration)">
+ <summary>
+ Gets the model description generator.
+ </summary>
+ <param name="config">The configuration.</param>
+ <returns>The <see cref="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelDescriptionGenerator"/></returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageConfigurationExtensions.GetHelpPageApiModel(System.Web.Http.HttpConfiguration,System.String)">
+ <summary>
+ Gets the model that represents an API displayed on the help page. The model is initialized on the first call and cached for subsequent calls.
+ </summary>
+ <param name="config">The <see cref="T:System.Web.Http.HttpConfiguration"/>.</param>
+ <param name="apiDescriptionId">The <see cref="T:System.Web.Http.Description.ApiDescription"/> ID.</param>
+ <returns>
+ An <see cref="T:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel"/>
+ </returns>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelDescription">
+ <summary>
+ Describes a type model.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelDescriptionGenerator">
+ <summary>
+ Generates model descriptions for given types.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelNameAttribute">
+ <summary>
+ Use this attribute to change the name of the <see cref="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelDescription"/> generated for a type.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel">
+ <summary>
+ The model that represents an API displayed on the help page.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel"/> class.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.ApiDescription">
+ <summary>
+ Gets or sets the <see cref="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.ApiDescription"/> that describes the API.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.UriParameters">
+ <summary>
+ Gets or sets the <see cref="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ParameterDescription"/> collection that describes the URI parameters for the API.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.RequestDocumentation">
+ <summary>
+ Gets or sets the documentation for the request.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.RequestModelDescription">
+ <summary>
+ Gets or sets the <see cref="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelDescription"/> that describes the request body.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.RequestBodyParameters">
+ <summary>
+ Gets the request body parameter descriptions.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.ResourceDescription">
+ <summary>
+ Gets or sets the <see cref="T:VueWebApi.Areas.HelpPage.ModelDescriptions.ModelDescription"/> that describes the resource.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.ResourceProperties">
+ <summary>
+ Gets the resource property descriptions.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.SampleRequests">
+ <summary>
+ Gets the sample requests associated with the API.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.SampleResponses">
+ <summary>
+ Gets the sample responses associated with the API.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.Models.HelpPageApiModel.ErrorMessages">
+ <summary>
+ Gets the error messages associated with this model.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator">
+ <summary>
+ This class will generate the samples for the help page.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.#ctor">
+ <summary>
+ Initializes a new instance of the <see cref="T:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator"/> class.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.ActualHttpMessageTypes">
+ <summary>
+ Gets CLR types that are used as the content of <see cref="T:System.Net.Http.HttpRequestMessage"/> or <see cref="T:System.Net.Http.HttpResponseMessage"/>.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.ActionSamples">
+ <summary>
+ Gets the objects that are used directly as samples for certain actions.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.SampleObjects">
+ <summary>
+ Gets the objects that are serialized as samples by the supported formatters.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.SampleObjectFactories">
+ <summary>
+ Gets factories for the objects that the supported formatters will serialize as samples. Processed in order,
+ stopping when the factory successfully returns a non-<see langref="null"/> object.
+ </summary>
+ <remarks>
+ Collection includes just <see cref="M:VueWebApi.Areas.HelpPage.ObjectGenerator.GenerateObject(System.Type)"/> initially. Use
+ <code>SampleObjectFactories.Insert(0, func)</code> to provide an override and
+ <code>SampleObjectFactories.Add(func)</code> to provide a fallback.</remarks>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.GetSampleRequests(System.Web.Http.Description.ApiDescription)">
+ <summary>
+ Gets the request body samples for a given <see cref="T:System.Web.Http.Description.ApiDescription"/>.
+ </summary>
+ <param name="api">The <see cref="T:System.Web.Http.Description.ApiDescription"/>.</param>
+ <returns>The samples keyed by media type.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.GetSampleResponses(System.Web.Http.Description.ApiDescription)">
+ <summary>
+ Gets the response body samples for a given <see cref="T:System.Web.Http.Description.ApiDescription"/>.
+ </summary>
+ <param name="api">The <see cref="T:System.Web.Http.Description.ApiDescription"/>.</param>
+ <returns>The samples keyed by media type.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.GetSample(System.Web.Http.Description.ApiDescription,VueWebApi.Areas.HelpPage.SampleDirection)">
+ <summary>
+ Gets the request or response body samples.
+ </summary>
+ <param name="api">The <see cref="T:System.Web.Http.Description.ApiDescription"/>.</param>
+ <param name="sampleDirection">The value indicating whether the sample is for a request or for a response.</param>
+ <returns>The samples keyed by media type.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.GetActionSample(System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Type,System.Net.Http.Formatting.MediaTypeFormatter,System.Net.Http.Headers.MediaTypeHeaderValue,VueWebApi.Areas.HelpPage.SampleDirection)">
+ <summary>
+ Search for samples that are provided directly through <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.ActionSamples"/>.
+ </summary>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ <param name="type">The CLR type.</param>
+ <param name="formatter">The formatter.</param>
+ <param name="mediaType">The media type.</param>
+ <param name="sampleDirection">The value indicating whether the sample is for a request or for a response.</param>
+ <returns>The sample that matches the parameters.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.GetSampleObject(System.Type)">
+ <summary>
+ Gets the sample object that will be serialized by the formatters.
+ First, it will look at the <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.SampleObjects"/>. If no sample object is found, it will try to create
+ one using <see cref="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.DefaultSampleObjectFactory(VueWebApi.Areas.HelpPage.HelpPageSampleGenerator,System.Type)"/> (which wraps an <see cref="T:VueWebApi.Areas.HelpPage.ObjectGenerator"/>) and other
+ factories in <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.SampleObjectFactories"/>.
+ </summary>
+ <param name="type">The type.</param>
+ <returns>The sample object.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.ResolveHttpRequestMessageType(System.Web.Http.Description.ApiDescription)">
+ <summary>
+ Resolves the actual type of <see cref="T:System.Net.Http.ObjectContent`1"/> passed to the <see cref="T:System.Net.Http.HttpRequestMessage"/> in an action.
+ </summary>
+ <param name="api">The <see cref="T:System.Web.Http.Description.ApiDescription"/>.</param>
+ <returns>The type.</returns>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.ResolveType(System.Web.Http.Description.ApiDescription,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},VueWebApi.Areas.HelpPage.SampleDirection,System.Collections.ObjectModel.Collection{System.Net.Http.Formatting.MediaTypeFormatter}@)">
+ <summary>
+ Resolves the type of the action parameter or return value when <see cref="T:System.Net.Http.HttpRequestMessage"/> or <see cref="T:System.Net.Http.HttpResponseMessage"/> is used.
+ </summary>
+ <param name="api">The <see cref="T:System.Web.Http.Description.ApiDescription"/>.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ <param name="sampleDirection">The value indicating whether the sample is for a request or a response.</param>
+ <param name="formatters">The formatters.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleGenerator.WriteSampleObjectUsingFormatter(System.Net.Http.Formatting.MediaTypeFormatter,System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue)">
+ <summary>
+ Writes the sample object using formatter.
+ </summary>
+ <param name="formatter">The formatter.</param>
+ <param name="value">The value.</param>
+ <param name="type">The type.</param>
+ <param name="mediaType">Type of the media.</param>
+ <returns></returns>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.HelpPageSampleKey">
+ <summary>
+ This is used to identify the place where the sample should be applied.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleKey.#ctor(System.Net.Http.Headers.MediaTypeHeaderValue)">
+ <summary>
+ Creates a new <see cref="T:VueWebApi.Areas.HelpPage.HelpPageSampleKey"/> based on media type.
+ </summary>
+ <param name="mediaType">The media type.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleKey.#ctor(System.Net.Http.Headers.MediaTypeHeaderValue,System.Type)">
+ <summary>
+ Creates a new <see cref="T:VueWebApi.Areas.HelpPage.HelpPageSampleKey"/> based on media type and CLR type.
+ </summary>
+ <param name="mediaType">The media type.</param>
+ <param name="type">The CLR type.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleKey.#ctor(VueWebApi.Areas.HelpPage.SampleDirection,System.String,System.String,System.Collections.Generic.IEnumerable{System.String})">
+ <summary>
+ Creates a new <see cref="T:VueWebApi.Areas.HelpPage.HelpPageSampleKey"/> based on <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.SampleDirection"/>, controller name, action name and parameter names.
+ </summary>
+ <param name="sampleDirection">The <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.SampleDirection"/>.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.HelpPageSampleKey.#ctor(System.Net.Http.Headers.MediaTypeHeaderValue,VueWebApi.Areas.HelpPage.SampleDirection,System.String,System.String,System.Collections.Generic.IEnumerable{System.String})">
+ <summary>
+ Creates a new <see cref="T:VueWebApi.Areas.HelpPage.HelpPageSampleKey"/> based on media type, <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.SampleDirection"/>, controller name, action name and parameter names.
+ </summary>
+ <param name="mediaType">The media type.</param>
+ <param name="sampleDirection">The <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.SampleDirection"/>.</param>
+ <param name="controllerName">Name of the controller.</param>
+ <param name="actionName">Name of the action.</param>
+ <param name="parameterNames">The parameter names.</param>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.ControllerName">
+ <summary>
+ Gets the name of the controller.
+ </summary>
+ <value>
+ The name of the controller.
+ </value>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.ActionName">
+ <summary>
+ Gets the name of the action.
+ </summary>
+ <value>
+ The name of the action.
+ </value>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.MediaType">
+ <summary>
+ Gets the media type.
+ </summary>
+ <value>
+ The media type.
+ </value>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.ParameterNames">
+ <summary>
+ Gets the parameter names.
+ </summary>
+ </member>
+ <member name="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.SampleDirection">
+ <summary>
+ Gets the <see cref="P:VueWebApi.Areas.HelpPage.HelpPageSampleKey.SampleDirection"/>.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.ImageSample">
+ <summary>
+ This represents an image sample on the help page. There's a display template named ImageSample associated with this class.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.ImageSample.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:VueWebApi.Areas.HelpPage.ImageSample"/> class.
+ </summary>
+ <param name="src">The URL of an image.</param>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.InvalidSample">
+ <summary>
+ This represents an invalid sample on the help page. There's a display template named InvalidSample associated with this class.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.ObjectGenerator">
+ <summary>
+ This class will create an object of a given type and populate it with sample data.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.ObjectGenerator.GenerateObject(System.Type)">
+ <summary>
+ Generates an object for a given type. The type needs to be public, have a public default constructor and settable public properties/fields. Currently it supports the following types:
+ Simple types: <see cref="T:System.Int32"/>, <see cref="T:System.String"/>, <see cref="T:System.Enum"/>, <see cref="T:System.DateTime"/>, <see cref="T:System.Uri"/>, etc.
+ Complex types: POCO types.
+ Nullables: <see cref="T:System.Nullable`1"/>.
+ Arrays: arrays of simple types or complex types.
+ Key value pairs: <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
+ Tuples: <see cref="T:System.Tuple`1"/>, <see cref="T:System.Tuple`2"/>, etc
+ Dictionaries: <see cref="T:System.Collections.Generic.IDictionary`2"/> or anything deriving from <see cref="T:System.Collections.Generic.IDictionary`2"/>.
+ Collections: <see cref="T:System.Collections.Generic.IList`1"/>, <see cref="T:System.Collections.Generic.IEnumerable`1"/>, <see cref="T:System.Collections.Generic.ICollection`1"/>, <see cref="T:System.Collections.IList"/>, <see cref="T:System.Collections.IEnumerable"/>, <see cref="T:System.Collections.ICollection"/> or anything deriving from <see cref="T:System.Collections.Generic.ICollection`1"/> or <see cref="T:System.Collections.IList"/>.
+ Queryables: <see cref="T:System.Linq.IQueryable"/>, <see cref="T:System.Linq.IQueryable`1"/>.
+ </summary>
+ <param name="type">The type.</param>
+ <returns>An object of the given type.</returns>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.SampleDirection">
+ <summary>
+ Indicates whether the sample is used for request or response
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.TextSample">
+ <summary>
+ This represents a preformatted text sample on the help page. There's a display template named TextSample associated with this class.
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Areas.HelpPage.XmlDocumentationProvider">
+ <summary>
+ A custom <see cref="T:System.Web.Http.Description.IDocumentationProvider"/> that reads the API documentation from an XML documentation file.
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Areas.HelpPage.XmlDocumentationProvider.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the <see cref="T:VueWebApi.Areas.HelpPage.XmlDocumentationProvider"/> class.
+ </summary>
+ <param name="documentPath">The physical path to XML document.</param>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.OutSourceReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 濮斿鎶ヨ〃璁板綍鏌ヨ
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="suppername">渚涙柟鍚嶇О</param>
+ <param name="type">鎿嶄綔绫诲瀷</param>
+ <param name="receivdate">鏀舵枡鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.OutSourceReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 濮斿鎶ヨ〃璁板綍瀵煎嚭
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="suppername">渚涙柟鍚嶇О</param>
+ <param name="type">鎿嶄綔绫诲瀷</param>
+ <param name="receivdate">鏀舵枡鏃堕棿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.GroupSalaryReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 鐝粍宸ヨ祫鎶ヨ〃璁板綍鏌ヨ
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="groupcode">鐢熶骇鐝粍</param>
+ <param name="username">鎿嶄綔浜哄憳</param>
+ <param name="operdate">鎿嶄綔鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.GroupSalaryReportSearchUser(System.String)">
+ <summary>
+ 鐝粍宸ヨ祫鎶ヨ〃璁板綍鏌ョ湅鎶ュ伐浜哄憳
+ </summary>
+ <param name="id">鎶ュ伐璁板綍涓昏〃id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.GroupSalaryReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 鐝粍宸ヨ祫鎶ヨ〃璁板綍鏌ヨ
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="groupcode">鐢熶骇鐝粍</param>
+ <param name="username">鎿嶄綔浜哄憳</param>
+ <param name="operdate">鎿嶄綔鏃堕棿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.PeopleSalaryReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 浜哄憳宸ヨ祫鏄庣粏鎶ヨ〃
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="groupcode">鐢熶骇鐝粍</param>
+ <param name="reportname">鎶ュ伐浜哄憳</param>
+ <param name="reportdate">鎶ュ伐鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.PeopleSalaryReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 浜哄憳宸ヨ祫鏄庣粏鎶ヨ〃瀵煎嚭
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="groupcode">鐢熶骇鐝粍</param>
+ <param name="reportname">鎶ュ伐浜哄憳</param>
+ <param name="reportdate">鎶ュ伐鏃堕棿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.DefectDetailsReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 涓嶈壇鏄庣粏鎶ヨ〃
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="defectcode">缂洪櫡浠g爜</param>
+ <param name="defectname">缂洪櫡鍚嶇О</param>
+ <param name="reportname">鎶ュ伐浜哄憳</param>
+ <param name="reportdate">鎶ュ伐鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.DefectDetailsReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 涓嶈壇鏄庣粏鎶ヨ〃瀵煎嚭
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="defectcode">缂洪櫡浠g爜</param>
+ <param name="defectname">缂洪櫡鍚嶇О</param>
+ <param name="reportname">鎶ュ伐浜哄憳</param>
+ <param name="reportdate">鎶ュ伐鏃堕棿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.QuaneryDefectReportSearch">
+ <summary>
+ 鍝佽川寮傚父鎺掕鎶ヨ〃
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 缁翠慨鏄庣粏鎶ヨ〃
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="style">鎿嶄綔绫诲瀷</param>
+ <param name="defectname">缂洪櫡鍚嶇О</param>
+ <param name="repairname">缁翠慨浜哄憳</param>
+ <param name="repairdate">缁翠慨鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 缁翠慨鏄庣粏鎶ヨ〃瀵煎嚭
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">瑙勬牸鍨嬪彿</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="style">鎿嶄綔绫诲瀷</param>
+ <param name="defectname">缂洪櫡鍚嶇О</param>
+ <param name="repairname">缁翠慨浜哄憳</param>
+ <param name="repairdate">缁翠慨鏃堕棿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SendController.GetConnect(System.String)">
+ <summary>
+ 鐧诲綍鐢ㄦ埛寤虹珛WebSocket鏈嶅姟杩炴帴
+ </summary>
+ <param name="clientName">鐧诲綍鐢ㄦ埛淇℃伅</param>
+ <returns></returns>
+ </member>
+ <member name="F:VueWebApi.Controllers.SendController._sockets">
+ 璁板綍瀹㈡埛绔�
+ </member>
+ <member name="M:VueWebApi.Controllers.SendController.ProcessRequest(System.Web.WebSockets.AspNetWebSocketContext)">
+ 鎺ュ彈淇℃伅鍜屽彂閫佷俊鎭�
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.CheckScanDeviceQrCodeData(System.String)">
+ <summary>
+ 鏃ュ父鐐规,鎵弿宸ヤ綅/璁惧浜岀淮鐮�
+ </summary>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.SelectScanDeviceQrCodeItem(System.String)">
+ <summary>
+ 鏃ュ父鐐规,閫夋嫨鎵爜璁惧鍒楄〃甯﹀嚭鐐规椤�
+ </summary>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceCheckSave(System.String,VueWebApi.Models.AppDevicecCheck)">
+ <summary>
+ 鏃ュ父鐐规銆佹彁浜や繚瀛�
+ </summary>
+ <param name="username">鐧诲綍浜哄憳(鐐规浜�)</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairScanDeviceQrCodeData(System.String)">
+ <summary>
+ 瀹氭湡淇濆吇,鎵弿宸ヤ綅/璁惧浜岀淮鐮�
+ </summary>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairSelectScanDeviceQrCodeItem(System.String)">
+ <summary>
+ 鏃ュ父淇濆吇,閫夋嫨鎵爜璁惧鍒楄〃甯﹀嚭淇濆吇椤�
+ </summary>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceRepairSave(System.String,System.String,VueWebApi.Models.AppDevicecCheck)">
+ <summary>
+ 鏃ュ父淇濆吇,鎻愪氦淇濆瓨
+ </summary>
+ <param name="username">鐧诲綍浜哄憳(淇濆吇浜�)</param>
+ <param name="maintcyc">淇濆吇鍛ㄦ湡</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.MaintainScanDeviceApplyQrCodeData(System.String)">
+ <summary>
+ 璁惧缁翠慨鐢宠,鎵弿宸ヤ綅/璁惧浜岀淮鐮�
+ </summary>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.MaintainScanDeviceApplySave">
+ <summary>
+ 璁惧缁翠慨鐢宠,鎻愪氦淇濆瓨
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairScanDeviceQrCodeDataList">
+ <summary>
+ 璁惧缁翠慨鍒楄〃
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairScanDeviceSave">
+ <summary>
+ 璁惧缁翠慨鎻愪氦
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairVerificationScanDeviceData">
+ <summary>
+ 缁翠慨楠岃瘉鍒楄〃
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairVerificationScanDeviceDataSub(System.String,System.String,System.String)">
+ <summary>
+ 缁翠慨楠岃瘉璇︽儏淇℃伅
+ </summary>
+ <param name="repair_code">缁翠慨鍗曞彿</param>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.RepairVerificationScanDeviceSave">
+ <summary>
+ 缁翠慨楠岃瘉鎻愪氦
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceAnDengCallScanSearch(System.String)">
+ <summary>
+ 瀹夌伅鍛煎彨鎵弿宸ヤ綅
+ </summary>
+ <param name="eqpcode">璁惧鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceAnDengCallItemSearch(System.String,System.String)">
+ <summary>
+ 瀹夌伅鍛煎彨,閫夋嫨鎵弿宸ヤ綅甯﹀嚭鍛煎彨绫诲瀷閫夐」鍙婂搴斾汉鍛樻暟鎹�
+ </summary>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceAnDengCallSave(System.String,System.String,System.String,System.Collections.Generic.List{VueWebApi.Models.AnDnDate})">
+ <summary>
+ 瀹夌伅鍛煎彨鎻愪氦
+ </summary>
+ <param name="username">鐧诲綍浜哄憳</param>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceAnDengLampResponseScanSearch(System.String)">
+ <summary>
+ 瀹夌伅鍝嶅簲鎵弿宸ヤ綅/璁惧
+ </summary>
+ <param name="eqpcode">璁惧/宸ヤ綅缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.AppDeviceManageController.AppDeviceAnDengLampResponseSave(System.String,System.String,System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 瀹夌伅鍝嶅簲鎻愪氦
+ </summary>
+ <param name="username">鐧诲綍浜哄憳</param>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.OrganizationSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 缁勭粐鏋舵瀯鏌ヨ
+ </summary>
+ <param name="OrgCode">缁勭粐鏋舵瀯浠g爜</param>
+ <param name="OrgName">缁勭粐鏋舵瀯鍚嶇О</param>
+ <param name="OrgType">缁勭粐绫诲瀷</param>
+ <param name="UserName">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.PrentOrganization(System.String)">
+ <summary>
+ 缁勭粐鏋舵瀯鏌ユ壘涓婄骇鍗曚綅
+ </summary>
+ <param name="orgcode">缁勭粐缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AddUpdateOrganization(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 缁勭粐鏋舵瀯鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteOrganization(System.Int32)">
+ <summary>
+ 缁勭粐鏋舵瀯鍒犻櫎
+ </summary>
+ <param name="orgid">缁勭粐id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserSearch(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐢ㄦ埛娓呭崟鏌ヨ
+ </summary>
+ <param name="UserCode">鐢ㄦ埛缂栫爜</param>
+ <param name="UserName">鐢ㄦ埛鍚嶇О</param>
+ <param name="StuOrg">鎵�灞炵粍缁�</param>
+ <param name="wagetype">宸ヨ祫绫诲瀷</param>
+ <param name="Enable">鍦ㄨ亴鐘舵��</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserOrganization">
+ <summary>
+ 鐢ㄦ埛鎵�灞炵粍缁囨煡璇�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserGroup">
+ <summary>
+ 鐢ㄦ埛鎵�灞炵彮缁�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AddUpdateUser(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐢ㄦ埛娓呭崟鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteUser(System.Int32)">
+ <summary>
+ 鐢ㄦ埛鍒犻櫎
+ </summary>
+ <param name="Userid">鐢ㄦ埛id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserAssociationRole(System.String)">
+ <summary>
+ 鐢ㄦ埛娓呭崟鍏宠仈瑙掕壊鏌ヨ
+ </summary>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.SaveUserAssoctRole(System.String,System.Collections.Generic.List{VueWebApi.Models.RoleUserSubmit})">
+ <summary>
+ 鐢ㄦ埛娓呭崟鍏宠仈瑙掕壊淇濆瓨
+ </summary>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.ImportUserExcel(System.Web.HttpPostedFileBase,System.String)">
+ <summary>
+ 鐢ㄦ埛娓呭崟瀵煎叆
+ </summary>
+ <param name="files">涓婁紶鐢ㄦ埛娓呭崟瀵煎叆鏂囦欢</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserGroupSearch(System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐢ㄦ埛缁勫垪琛ㄦ煡璇�
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserGroupAdd(System.Collections.Generic.List{VueWebApi.Models.StepDefect})">
+ <summary>
+ 鐢ㄦ埛缁勬柊澧�
+ </summary>
+ <param name="json">鐢ㄦ埛缁勬柊澧炴彁浜ゆ暟鎹�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.UserGroupDelete(System.String)">
+ <summary>
+ 鐢ㄦ埛缁勫垹闄�
+ </summary>
+ <param name="UserGrupCode">鐢ㄦ埛缁勭紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleTypeSearch(System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 瑙掕壊绫诲瀷鍒楄〃鏌ヨ
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleTypeAdd(System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 瑙掕壊绫诲瀷鏂板
+ </summary>
+ <param name="json">瑙掕壊绫诲瀷鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleTypeDelete(System.String)">
+ <summary>
+ 瑙掕壊绫诲瀷鍒犻櫎
+ </summary>
+ <param name="RoleTypeCode">瑙掕壊绫诲瀷缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleTypeSelect">
+ <summary>
+ 瑙掕壊绫诲瀷涓嬫媺鎺ュ彛
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 瑙掕壊娓呭崟鏌ヨ
+ </summary>
+ <param name="RoleCode">瑙掕壊缂栫爜</param>
+ <param name="RoleName">瑙掕壊鍚嶇О</param>
+ <param name="RoleTypeCode">瑙掕壊绫诲瀷缂栫爜</param>
+ <param name="CreateUser">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AddUpdateRole(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 瑙掕壊娓呭崟鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteRole(System.String)">
+ <summary>
+ 瑙掕壊娓呭崟鍒犻櫎
+ </summary>
+ <param name="RoleCode">瑙掕壊缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleAssociationUser(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 瑙掕壊娓呭崟鍏宠仈鐢ㄦ埛鏌ヨ
+ </summary>
+ <param name="rolecode">瑙掕壊缂栫爜</param>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <param name="username">鐢ㄦ埛鍚嶇О</param>
+ <param name="orgcode">鎵�灞炵粍缁囩紪鐮�</param>
+ <param name="isrole">鍏宠仈瑙掕壊</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleAssociationUserTwo(System.String)">
+ <summary>
+ 瑙掕壊娓呭崟鍏宠仈鐢ㄦ埛鏌ヨ1
+ </summary>
+ <param name="rolecode">瑙掕壊缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.SaveRoleAssoctUser(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 瑙掕壊娓呭崟鍏宠仈鐢ㄦ埛淇濆瓨
+ </summary>
+ <param name="rolecode">瑙掕壊缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.RoleAssociationRight(System.String,System.String)">
+ <summary>
+ 瑙掕壊娓呭崟鍏宠仈鍔熻兘鏌ヨ
+ </summary>
+ <param name="rolecode">瑙掕壊缂栫爜</param>
+ <param name="type">鎿嶄綔绔垎绫荤紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.SaveUserAssoctRight(System.String,System.String,System.Collections.Generic.List{VueWebApi.Models.TreeDM})">
+ <summary>
+ 瑙掕壊娓呭崟鍏宠仈鍔熻兘淇濆瓨
+ </summary>
+ <param name="rolecode">瑙掕壊缂栫爜</param>
+ <param name="usercode">鐧诲綍鐢ㄦ埛缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.CurrentUnitSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 寰�鏉ュ崟浣嶆煡璇�
+ </summary>
+ <param name="CuntUnitCode">寰�鏉ュ崟浣嶇紪鐮�</param>
+ <param name="CuntUnitName">寰�鏉ュ崟浣嶅悕绉�</param>
+ <param name="UnitAttr">鍗曚綅灞炴��</param>
+ <param name="CreateUser">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AddUpdateCurrentUnit(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 寰�鏉ュ崟浣嶆柊澧炵紪杈�
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteCurrentUnit(System.String)">
+ <summary>
+ 寰�鏉ュ崟浣嶅垹闄�
+ </summary>
+ <param name="unitcode">寰�鏉ュ崟浣嶇紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AnDengTypeSearch(System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 瀹夌伅绯荤粺/鑷畾涔夊畨鐏懠鍙被鍨嬫煡璇�
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AddUpdateAnDengType(System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 瀹夌伅绯荤粺/鑷畾涔夊畨鐏懠鍙被鍨嬫柊澧�
+ </summary>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteAnDengType(System.String)">
+ <summary>
+ 瀹夌伅绯荤粺/鑷畾涔夊畨鐏懠鍙被鍨嬪垹闄�
+ </summary>
+ <param name="andengtypecode">瀹夌伅鍛煎彨绫诲瀷缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AnDengResponUserSearch(System.String,System.String)">
+ <summary>
+ 瀹夌伅绯荤粺/鏌ヨ缁戝畾鐨勫搷搴斾汉鍛�
+ </summary>
+ <param name="wkshopcode">閫変腑鐨勮溅闂寸紪鐮�</param>
+ <param name="calltypecode">閫変腑鐨勫懠鍙被鍨嬬紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AnDengDialogResponUserSearch(System.String,System.String)">
+ <summary>
+ 瀹夌伅绯荤粺/鏂板鍝嶅簲浜哄憳鏌ヨ宸茬粦瀹氱殑鍝嶅簲浜哄憳
+ </summary>
+ <param name="wkshopcode">閫変腑鐨勮溅闂寸紪鐮�</param>
+ <param name="calltypecode">閫変腑鐨勫懠鍙被鍨嬬紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AnDengDigoResponUserSeave(System.String,System.String,System.String,System.Data.DataTable)">
+ <summary>
+ 瀹夌伅绯荤粺/鏂板鍝嶅簲浜哄憳鎻愪氦
+ </summary>
+ <param name="wkshopcode">閫変腑鐨勮溅闂寸紪鐮�</param>
+ <param name="calltypecode">閫変腑鐨勫懠鍙被鍨嬬紪鐮�</param>
+ <param name="enable">鍏佽鍏抽棴</param>
+ <param name="json">鍝嶅簲浜哄憳鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AnDengResponUserCloseSeave(System.String,System.String,System.String)">
+ <summary>
+ 瀹夌伅绯荤粺/鍝嶅簲浜哄憳鍏佽鍏抽棴
+ </summary>
+ <param name="wkshopcode">閫変腑鐨勮溅闂寸紪鐮�</param>
+ <param name="calltypecode">閫変腑鐨勫懠鍙被鍨嬬紪鐮�</param>
+ <param name="enable">鍏佽鍏抽棴</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.BasicSettingController.AnDengResponUserDeleteSeave(System.String,System.String)">
+ <summary>
+ 瀹夌伅绯荤粺/鍝嶅簲浜哄憳鍒犻櫎
+ </summary>
+ <param name="id">瀛恑d</param>
+ <param name="ando_cogfigid">涓籭d</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceTypeSearch(System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 璁惧绫诲瀷鏌ヨ
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceType(System.Collections.Generic.List{VueWebApi.Models.ObjectDataCont})">
+ <summary>
+ 璁惧绫诲瀷鏂板
+ </summary>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceType(System.String)">
+ <summary>
+ 璁惧绫诲瀷鍒犻櫎
+ </summary>
+ <param name="devicetypecode">璁惧绫诲瀷缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceTypeSelect">
+ <summary>
+ 璁惧绫诲瀷涓嬫媺妗嗘帴鍙�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceGroupSearch(System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 璁惧缁勬煡璇�
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceGroup(System.Collections.Generic.List{VueWebApi.Models.ObjectDataCont})">
+ <summary>
+ 璁惧缁勬柊澧�
+ </summary>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceGroup(System.String)">
+ <summary>
+ 璁惧缁勫垹闄�
+ </summary>
+ <param name="devicegroupcode">璁惧缁勭紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceTypeSelectGroup(System.String)">
+ <summary>
+ 璁惧绫诲瀷鏌ユ壘璁惧缁�
+ </summary>
+ <param name="eqptypecode">璁惧绫诲瀷缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.WorkShopSelect">
+ <summary>
+ 鎵�灞炶溅闂翠笅鎷夋帴鍙�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.WorkShopSelectLine(System.String)">
+ <summary>
+ 鎵�灞炶溅闂存煡鎵炬墍灞炰骇绾挎帴鍙�
+ </summary>
+ <param name="workshopcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceMangerSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 璁惧娓呭崟鏌ヨ
+ </summary>
+ <param name="DeviceCode">璁惧缂栫爜</param>
+ <param name="DeviceName">璁惧鍚嶇О</param>
+ <param name="Status">浣跨敤鐘舵��</param>
+ <param name="WorkShop">鎵�灞炶溅闂�</param>
+ <param name="DeviceType">璁惧绫诲瀷</param>
+ <param name="DeviceGroup">璁惧缁�</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceManger(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 璁惧娓呭崟鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceManger(System.String)">
+ <summary>
+ 璁惧娓呭崟鍒犻櫎
+ </summary>
+ <param name="devicecode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckItemSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧鐐规椤瑰垪琛ㄦ煡璇�
+ </summary>
+ <param name="checkitemcode">鐐规閮ㄤ綅缂栫爜</param>
+ <param name="checkitemname">鐐规閮ㄤ綅鍚嶇О</param>
+ <param name="checkdescr">鐐规瑕佹眰</param>
+ <param name="isqrcode">閫変腑鎵爜</param>
+ <param name="cycle">鐐规鍛ㄦ湡</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceCheckItem(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 璁惧鐐规椤规柊澧炵紪杈�
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceCheckItem(System.String)">
+ <summary>
+ 璁惧鐐规椤瑰垹闄�
+ </summary>
+ <param name="checkitemcode">璁惧鐐规椤圭洰(閮ㄤ綅)缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceMaiItemSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧淇濆吇椤瑰垪琛ㄦ煡璇�
+ </summary>
+ <param name="maiitemcode">淇濆吇閮ㄤ綅缂栫爜</param>
+ <param name="maiitemname">淇濆吇閮ㄤ綅鍚嶇О</param>
+ <param name="maidescr">淇濆吇瑕佹眰</param>
+ <param name="isqrcode">閫変腑鎵爜</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceMaiItem(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 璁惧淇濆吇椤规柊澧炵紪杈�
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceMaiItem(System.String)">
+ <summary>
+ 璁惧淇濆吇椤瑰垹闄�
+ </summary>
+ <param name="maiitemcode">璁惧淇濆吇椤圭洰(閮ㄤ綅)缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckStandArdSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧鐐规鏍囧噯鍒楄〃鏌ヨ
+ </summary>
+ <param name="checkstandcode">鐐规鏍囧噯缂栫爜</param>
+ <param name="checkstandname">鐐规鏍囧噯鍚嶇О</param>
+ <param name="checkcontr">鐐规绠℃帶</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckItemSelect">
+ <summary>
+ 璁惧鐐规鏍囧噯鏂板銆佺紪杈戣幏鍙栨楠岄」鐩笅鎷夊垪琛�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.ViewDeviceCheckStanedSearch(System.String)">
+ <summary>
+ 璁惧鐐规鏍囧噯缂栬緫/鏌ョ湅鑾峰彇鏁版嵁
+ </summary>
+ <param name="checkstand_code">璁惧鐐规鏍囧噯缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceCheckStandArd(System.String,VueWebApi.Models.RoutEdit)">
+ <summary>
+ 璁惧鐐规鏍囧噯鏂板缂栬緫
+ </summary>
+ <param name="opertype">鎿嶄綔绫诲瀷</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceCheckStaned(System.String)">
+ <summary>
+ 璁惧鐐规鏍囧噯鍒犻櫎
+ </summary>
+ <param name="checkstand_code">璁惧鐐规鏍囧噯缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckStanedAssociationEqp(System.String)">
+ <summary>
+ 璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇�
+ </summary>
+ <param name="checkstand_code">璁惧鐐规鏍囧噯缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.SaveDeviceCheckStanedAssociationEqp(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜�
+ </summary>
+ <param name="checkstand_code">璁惧鐐规鏍囧噯缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceRepairStandArdSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧淇濆吇鏍囧噯鍒楄〃鏌ヨ
+ </summary>
+ <param name="repairstandcode">淇濆吇鏍囧噯缂栫爜</param>
+ <param name="repairstandname">淇濆吇鏍囧噯鍚嶇О</param>
+ <param name="repairstanddescr">淇濆吇鏍囧噯鎻忚堪</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceRepairItemSelect">
+ <summary>
+ 璁惧淇濆吇鏍囧噯鏂板銆佺紪杈戣幏鍙栦繚鍏婚」鐩笅鎷夊垪琛�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.ViewDeviceRepairStanedSearch(System.String)">
+ <summary>
+ 璁惧淇濆吇鏍囧噯缂栬緫/鏌ョ湅鑾峰彇鏁版嵁
+ </summary>
+ <param name="repairstand_code">璁惧淇濆吇鏍囧噯缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.AddUpdateDeviceRepairStandArd(System.String,VueWebApi.Models.EqpRepair)">
+ <summary>
+ 璁惧淇濆吇鏍囧噯鏂板缂栬緫
+ </summary>
+ <param name="opertype">鎿嶄綔绫诲瀷</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeleteDeviceRepairStaned(System.String)">
+ <summary>
+ 璁惧淇濆吇鏍囧噯鍒犻櫎
+ </summary>
+ <param name="repairstand_code">璁惧淇濆吇鏍囧噯缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceRepairStanedAssociationEqp(System.String)">
+ <summary>
+ 璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇�
+ </summary>
+ <param name="repairstand_code">璁惧淇濆吇鏍囧噯缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.SaveDeviceRepairStanedAssociationEqp(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜�
+ </summary>
+ <param name="repairstand_code">璁惧淇濆吇鏍囧噯缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckTakeSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧鐐规璁板綍鏌ヨ
+ </summary>
+ <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ <param name="eqpcode">璁惧缂栧彿</param>
+ <param name="eqpname">璁惧鍚嶇О</param>
+ <param name="stanedname">鏍囧噯鍚嶇О</param>
+ <param name="checkuser">鐐规浜哄憳</param>
+ <param name="checkdate">鐐规鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckSubTakeSearch(System.String)">
+ <summary>
+ 璁惧鐐规璁板綍鏄庣粏鏌ヨ
+ </summary>
+ <param name="djwo">璁惧鐐规鍗曞彿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceCheckTakeOutExcel(System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧鐐规璁板綍瀵煎嚭
+ </summary>
+ <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ <param name="eqpcode">璁惧缂栧彿</param>
+ <param name="eqpname">璁惧鍚嶇О</param>
+ <param name="stanedname">鏍囧噯鍚嶇О</param>
+ <param name="checkuser">鐐规浜哄憳</param>
+ <param name="checkdate">鐐规鏃堕棿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceRepairTakeSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧淇濆吇璁板綍鏌ヨ
+ </summary>
+ <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ <param name="eqpcode">璁惧缂栧彿</param>
+ <param name="eqpname">璁惧鍚嶇О</param>
+ <param name="stanedname">鏍囧噯鍚嶇О</param>
+ <param name="repairuser">淇濆吇浜哄憳</param>
+ <param name="repairdate">淇濆吇鏃堕棿</param>
+ <param name="repairresult">淇濆吇缁撴灉</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceRepairSubTakeSearch(System.String)">
+ <summary>
+ 璁惧淇濆吇璁板綍鏄庣粏鏌ヨ
+ </summary>
+ <param name="bywo">璁惧淇濆吇鍗曞彿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.DeviceManagerController.DeviceRepairTakeOutExcel(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 璁惧淇濆吇璁板綍瀵煎嚭
+ </summary>
+ <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ <param name="eqpcode">璁惧缂栧彿</param>
+ <param name="eqpname">璁惧鍚嶇О</param>
+ <param name="stanedname">鏍囧噯鍚嶇О</param>
+ <param name="repairuser">淇濆吇浜哄憳</param>
+ <param name="repairdate">淇濆吇鏃堕棿</param>
+ <param name="repairresult">淇濆吇缁撴灉</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchUnit">
+ <summary>
+ 鍒堕�犳ā鍨嬶細鍗曚綅鍚屾
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchInventoryClass">
+ <summary>
+ 鍒堕�犳ā鍨嬶細瀛樿揣鍒嗙被鍚屾
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchInventory">
+ <summary>
+ 鍒堕�犳ā鍨嬶細瀛樿揣妗f鍚屾
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchWhareHouseLocation">
+ <summary>
+ 鐗╂枡绠$悊锛氫粨搴撳簱浣嶅悓姝�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchPartner">
+ <summary>
+ 鍩虹璁剧疆:寰�鏉ュ崟浣嶅悓姝�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchErpOrder">
+ <summary>
+ 鐢熶骇绠$悊锛氱敓浜ц鍗曞悓姝�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.GridReportController.MesOrderPrintSearch(System.String,System.String)">
+ <summary>
+ MES宸ュ崟鎵撳嵃
+ </summary>
+ <param name="username">鐧诲綍鐢ㄦ埛</param>
+ <param name="mesordercode">宸ュ崟缂栧彿</param>
+ </member>
+ <member name="M:VueWebApi.Controllers.GridReportController.MesOrderPrintSearch1(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ MES宸ュ崟鎵撳嵃1
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.DownLoadExcel(System.String)">
+ <summary>
+ Excel瀵煎叆妯℃澘涓嬭浇
+ </summary>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.ExcelModelCheck">
+ <summary>
+ Excel瀵煎叆鏂囦欢涓婁紶銆佹ā鏉块獙璇併�佹暟鎹噺銆侀獙璇�
+ </summary>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <param name="files">涓婁紶鏂囦欢</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.ExcelCheckUpload(System.Web.HttpPostedFile,System.String)">
+ <summary>
+ Excel瀵煎叆妯℃澘涓婁紶
+ </summary>
+ <param name="files">涓婁紶鏂囦欢</param>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.ExcelCheck(System.Web.HttpPostedFile,System.String)">
+ <summary>
+ Excel瀵煎叆妯℃澘楠岃瘉
+ </summary>
+ <param name="files">涓婁紶鏂囦欢</param>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.ExcelCheckCount(System.Web.HttpPostedFile,System.String)">
+ <summary>
+ Excel瀵煎叆妯℃澘鏁版嵁閲忛獙璇�
+ </summary>
+ <param name="files">涓婁紶鏂囦欢</param>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.ExcelCheckData(System.String,System.String)">
+ <summary>
+ Excel瀵煎叆鏁版嵁楠岃瘉
+ </summary>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <param name="FileName">鏂囦欢鍚嶇О</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ImportExcelController.ExcelImportSubmit(System.String,System.String)">
+ <summary>
+ Excel瀵煎叆鏁版嵁
+ </summary>
+ <param name="FileCode">鏂囦欢缂栫爜</param>
+ <param name="FileName">鏂囦欢鍚嶇О</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.ShopSearch">
+ <summary>
+ 澶у矝杞﹂棿缁煎悎鐪嬫澘,鑾峰彇鐢熶骇杞﹂棿
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchTopLeftData(System.String)">
+ <summary>
+ 澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笂浜х嚎鍔犲伐浠诲姟鎺ュ彛
+ </summary>
+ <param name="shopcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchBottomLeftData(System.String)">
+ <summary>
+ 澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笅鍒楄〃鎺ュ彛
+ </summary>
+ <param name="shopcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchTopRightData(System.String)">
+ <summary>
+ 澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笂top鎺掕鎺ュ彛
+ </summary>
+ <param name="shopcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchBottomRightData(System.String)">
+ <summary>
+ 澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛
+ </summary>
+ <param name="shopcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.PurchaseLeftTop">
+ <summary>
+ 閲囪喘璁㈠崟璺熻釜绠$悊鐪嬫澘,宸︿笂鏈湀閲囪喘璁㈠崟鏁般�佹湰鏈堥噰璐繘璐у崟鏁般�佹湰鏈堥噰璐叆搴撳崟鏁�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.PurchaseLeftBottom">
+ <summary>
+ 閲囪喘璁㈠崟璺熻釜绠$悊鐪嬫澘,宸︿笅閲囪喘璁㈠崟璺熻釜鍒楄〃
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.PurchaseRight">
+ <summary>
+ 閲囪喘璁㈠崟璺熻釜绠$悊鐪嬫澘,鍙充晶Top
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.WareHouseTopLeftData">
+ <summary>
+ 澶у矝浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.WareHouseTopBottomData">
+ <summary>
+ 澶у矝浠撳簱鐪嬫澘,宸︿笅浜у搧寰呭彂璐у垪琛�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.WareHouseRightTopData">
+ <summary>
+ 澶у矝浠撳簱鐪嬫澘,鍙充笂鎴愬搧搴撱�佸崐鎴愬搧搴搕op5搴撳瓨鎺掕
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.WareHouseRightBottomData">
+ <summary>
+ 澶у矝浠撳簱鐪嬫澘,鍙充笅鍘熸枡搴撳簱top5搴撳瓨鎺掕
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.KanBanManagerentController.WkspReportNotice(System.String)">
+ <summary>
+ 杞﹂棿鐪嬫澘鍏憡
+ </summary>
+ <param name="shopcode">杞﹂棿缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.LoginSave(System.String,System.String,System.String)">
+ <summary>
+ PC鐢ㄦ埛鐧诲綍
+ </summary>
+ <param name="username">鐢ㄦ埛缂栫爜</param>
+ <param name="password">瀵嗙爜</param>
+ <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.ForcedOffline(System.Int32,System.String,System.String,System.String)">
+ <summary>
+ 寮哄埗涓嬬嚎鎺ュ彛
+ </summary>
+ <param name="userid">鐢ㄦ埛id</param>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <param name="username">鐢ㄦ埛鍚�</param>
+ <param name="usertype">鎿嶄綔绔疨C/APP</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.LoginMenu(System.String,System.String)">
+ <summary>
+ 鏌ヨ鐧诲綍鑿滃崟
+ </summary>
+ <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
+ <param name="usercode">鐧诲綍鐢ㄦ埛缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.UpdateUserPassword(System.String,System.String,System.String,System.String)">
+ <summary>
+ 淇敼瀵嗙爜
+ </summary>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <param name="username">鐢ㄦ埛鍚嶇О</param>
+ <param name="password">瀵嗙爜</param>
+ <param name="newpassword">鏂板瘑鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.LoginOut(System.Int32,System.String,System.String,System.String)">
+ <summary>
+ PC鐧诲嚭
+ </summary>
+ <param name="userid">鐢ㄦ埛id</param>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <param name="username">鐢ㄦ埛鍚�</param>
+ <param name="usertype">鎿嶄綔绔疨C/APP</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.LoginAppSave(System.String,System.String,System.String)">
+ <summary>
+ APP鐢ㄦ埛鐧诲綍
+ </summary>
+ <param name="username">鐢ㄦ埛缂栫爜</param>
+ <param name="password">瀵嗙爜</param>
+ <param name="usertype">鎿嶄綔绔被鍨�(PC APP)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.LoginController.LoginAppOut(System.Int32,System.String,System.String,System.String)">
+ <summary>
+ APP鐧诲嚭
+ </summary>
+ <param name="userid">鐢ㄦ埛id</param>
+ <param name="usercode">鐢ㄦ埛缂栫爜</param>
+ <param name="username">鐢ㄦ埛鍚�</param>
+ <param name="usertype">鎿嶄綔绔疨C/APP</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.WareHouseDefSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 浠撳簱瀹氫箟鏌ヨ
+ </summary>
+ <param name="warehousecode">浠撳簱缂栫爜</param>
+ <param name="warehousename">浠撳簱鍚嶇О</param>
+ <param name="description">浠撳簱鎻忚堪</param>
+ <param name="createuser">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.AddUpdateWareHouseDef(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 浠撳簱瀹氫箟鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.DeleteWareHouseDef(System.String)">
+ <summary>
+ 浠撳簱鍒犻櫎
+ </summary>
+ <param name="warehousecode">浠撳簱缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.WareHouseSelect">
+ <summary>
+ 鎵�灞炰粨搴撴帴鍙�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.StorageDefSearch(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 搴撲綅瀹氫箟鏌ヨ
+ </summary>
+ <param name="storagecode">搴撲綅缂栫爜</param>
+ <param name="storagename">搴撲綅鍚嶇О</param>
+ <param name="description">浠撳簱鎻忚堪</param>
+ <param name="createuser">鍒涘缓浜哄憳</param>
+ <param name="stockcode">鎵�灞炰粨搴撶紪鐮�</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.AddUpdateStorageDef(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 搴撲綅瀹氫箟鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.MaterialManagerController.DeleteStorageDef(System.String)">
+ <summary>
+ 搴撲綅鍒犻櫎
+ </summary>
+ <param name="storagecode">搴撲綅缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.ErpOrderSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ ERP璁㈠崟鏌ヨ
+ </summary>
+ <param name="erporderstus">璁㈠崟鐘舵�佺爜</param>
+ <param name="erpordercode">璁㈠崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">浜у搧瑙勬牸</param>
+ <param name="paystartdate">棰勮寮�宸ユ椂闂�</param>
+ <param name="payenddate">棰勮瀹屽伐鏃堕棿</param>
+ <param name="creatuser">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MarkSaveErpOrder(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ ERP璁㈠崟涓嬭揪
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.ClosedErpOrder(System.String,System.String)">
+ <summary>
+ ERP璁㈠崟鍏抽棴
+ </summary>
+ <param name="erporderid">璁㈠崟id</param>
+ <param name="erpordercode">璁㈠崟鍙�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ MES宸ュ崟鏌ヨ
+ </summary>
+ <param name="mesorderstus">宸ュ崟鐘舵�佺爜</param>
+ <param name="mesordercode">宸ュ崟缂栧彿</param>
+ <param name="sourceorder">婧愬崟鍗曞彿</param>
+ <param name="ordertype">鍗曟嵁绫诲瀷</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">浜у搧瑙勬牸</param>
+ <param name="creatuser">鍒涘缓浜哄憳</param>
+ <param name="createdate">鍒涘缓鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.PartSelectRoute(System.String)">
+ <summary>
+ 浜у搧缂栫爜鏌ユ壘宸ヨ壓璺嚎涓嬫媺鎺ュ彛
+ </summary>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.RouteSelectWkshop(System.String,System.String)">
+ <summary>
+ 浜у搧+宸ヨ壓璺嚎鏌ユ壘杞﹂棿涓嬫媺鎺ュ彛
+ </summary>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SelectRouteStep(System.String)">
+ <summary>
+ 鏍规嵁閫夋嫨宸ヨ壓璺嚎鏌ョ湅宸ュ簭鎺ュ彛
+ </summary>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.AddUpdateMesOrder(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ MES宸ュ崟鏂板銆佺紪杈戞彁浜�
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.DeleteMesOrder(System.String,System.String,System.String,System.String)">
+ <summary>
+ MES宸ュ崟鍒犻櫎
+ </summary>
+ <param name="souceid">婧愬崟宸ュ崟</param>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="m_po">璁㈠崟缂栧彿</param>
+ <param name="orderqty">宸ュ崟鏁伴噺</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.ClosedMesOrder(System.String,System.String)">
+ <summary>
+ MES宸ュ崟鍏抽棴
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="m_po">璁㈠崟缂栧彿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SearchWorkStep(System.String)">
+ <summary>
+ MES宸ュ崟鏌ョ湅宸ュ簭浠诲姟
+ </summary>
+ <param name="wo_code">宸ュ崟缂栧彿</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSearch(System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)
+ </summary>
+ <param name="orderstepqrcode">鎵弿鐨勪簩缁寸爜淇℃伅</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯(榛樿鎸夌収璁″垝寮�宸ユ椂闂存搴�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderWxStepSearch(System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)
+ </summary>
+ <param name="orderstepqrcode">鎵弿鐨勪簩缁寸爜淇℃伅</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯(榛樿鎸夌収璁″垝寮�宸ユ椂闂存搴�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderNgStepSearch(System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)
+ </summary>
+ <param name="orderstepqrcode">鎵弿鐨勪簩缁寸爜淇℃伅</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯(榛樿鎸夌収璁″垝寮�宸ユ椂闂存搴�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderNgSubStepSearch(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)
+ </summary>
+ <param name="orderstepqrcode">鎵弿鐨勪簩缁寸爜淇℃伅</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStart(System.String,System.String,System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
+ </summary>
+ <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
+ <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
+ <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStartSelectEqp(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐锛氬紑宸ユ椂鑾峰彇璁惧涓嬫媺鍒楄〃
+ </summary>
+ <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepReportSelectUserGroup">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐锛氭姤宸ユ椂鑾峰彇鐢熶骇鐝粍涓嬫媺妗�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderGroupSelectUser(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐锛氭牴鎹敓浜х彮缁勬煡鎵句汉鍛樺垪琛�
+ </summary>
+ <param name="usergroupcode">鐝粍缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderSelectUser(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐锛氫汉鍛樹笅鎷夊垪琛�
+ </summary>
+ <param name="usercode">浜哄憳缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSelectWX(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐锛氬彂鏂�/鏀舵枡鏃惰幏鍙栧鍗忎笅鎷夊垪琛�
+ </summary>
+ <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepSelectCause(System.String)">
+ <summary>
+ 鐢熶骇鎶ュ伐锛氭姤宸�/澶栧崗鏀舵枡 鑾峰彇涓嶈壇鍘熷洜涓嬫媺鍒楄〃
+ </summary>
+ <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SavaMesOrderStepStart(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,寮�宸ユ彁浜�
+ </summary>
+ <param name="obj">寮�宸ユ彁浜ゆ暟鎹�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SavaMesOrderStepReport(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,鎶ュ伐鎻愪氦
+ </summary>
+ <param name="obj">鎶ュ伐鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SavaMesOrderStepOut(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,鍙戞枡鎻愪氦
+ </summary>
+ <param name="obj">鍙戞枡鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SavaMesOrderStepIn(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,鏀舵枡鎻愪氦
+ </summary>
+ <param name="obj">鏀舵枡鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.EditOrderNgStepSeave(System.String,VueWebApi.Models.ReportDefectHandle)">
+ <summary>
+ 涓嶈壇澶勭悊,鎻愪氦
+ </summary>
+ <param name="username">澶勭悊浜哄憳缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSearch(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
+ </summary>
+ <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSelect">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,宸ュ簭妫�楠岃幏鍙栨楠屾爣鍑嗕笅鎷夋鏁版嵁
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckItemList(System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,宸ュ簭妫�楠屾牴鎹楠屾爣鍑嗚幏鍙栨楠岄」鐩垪琛�
+ </summary>
+ <param name="checkstandcode">妫�楠屾爣鍑嗙紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SaveMesOrderStepCheckItem(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐,宸ュ簭妫�楠屾彁浜や繚瀛�
+ </summary>
+ <param name="obj">鎻愪氦淇℃伅</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderBitchClosedSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ MES宸ュ崟鏌ヨ
+ </summary>
+ <param name="mesorderstus">宸ュ崟鐘舵�佺爜</param>
+ <param name="mesordercode">宸ュ崟缂栧彿</param>
+ <param name="sourceorder">婧愬崟鍗曞彿</param>
+ <param name="ordertype">鍗曟嵁绫诲瀷</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partspec">浜у搧瑙勬牸</param>
+ <param name="creatuser">鍒涘缓浜哄憳</param>
+ <param name="createdate">鍒涘缓鏃堕棿</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderBitchClosedSeave(System.Data.DataTable)">
+ <summary>
+ MES宸ュ崟鎵归噺鍏抽棴鎻愪氦
+ </summary>
+ <param name="dt">宸ュ崟鍙锋暟缁勫璞�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderBitchAntiClosedSeave(System.Data.DataTable)">
+ <summary>
+ MES宸ュ崟鎵归噺鍙嶅叧闂�
+ </summary>
+ <param name="dt">宸ュ崟鍙锋暟缁勫璞�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.CapacityPlanningSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 浜ц兘瑙勫垝鏌ヨ
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">椤垫暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <param name="workshop">杞﹂棿缂栫爜</param>
+ <param name="devicetype">鐢熶骇鍗曞厓</param>
+ <param name="stustype">鏈夋晥鐘舵��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.CapacityPlanSubmit(System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 浜ц兘瑙勫垝榛樿鏂规淇濆瓨鎻愪氦
+ </summary>
+ <param name="captplanid">浜ц兘瑙勫垝(鐢熶骇璧勬簮)id</param>
+ <param name="wkshopcode">杞﹂棿缂栫爜</param>
+ <param name="capunitcode">鐢熶骇鍗曞厓缂栫爜</param>
+ <param name="capsetupcode">榛樿鏂规缂栫爜</param>
+ <param name="captplantype">璧勬簮绫诲瀷</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.CapacityPlanningCalendar(System.String)">
+ <summary>
+ 浜ц兘瑙勫垝鐐瑰嚮鏃ュ巻缁勪欢鏌ユ壘宸插叧鑱旂殑鏃ユ湡鏂规
+ </summary>
+ <param name="captplanid">浜ц兘瑙勫垝(鐢熶骇璧勬簮)id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.CapacityPlanningOnclickSelect(System.String,System.String)">
+ <summary>
+ 浜ц兘瑙勫垝鏃ュ巻鍙屽嚮鏃跺甫鍑哄搴旂殑鏂规
+ </summary>
+ <param name="captplanid">浜ц兘瑙勫垝(鐢熶骇璧勬簮)id</param>
+ <param name="datetime">鍙屽嚮閫変腑鐨勬棩鏈�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.CapacityPlanningGivePlanSubmit">
+ <summary>
+ 浜ц兘瑙勫垝宸ヤ綔鏃ュ巻閫夋嫨鎻愪氦
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.AdvancedSchedulingSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 鑷姩鎺掔▼宸ュ崟鏌ヨ
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <param name="workshop">杞﹂棿缂栫爜</param>
+ <param name="wocode">鐢熶骇宸ュ崟鍙�</param>
+ <param name="partcode">鐗╂枡缂栫爜</param>
+ <param name="partname">鐗╂枡鍚嶇О</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.OnclickAdvancedSchedulingDevice(System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 楂樼骇鎺掔▼鐐瑰嚮宸ュ崟浠诲姟甯﹀嚭鐡堕宸ュ簭璁惧銆佸凡鎺掔▼浠诲姟鏁版嵁
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ <param name="partcode">鐗╂枡缂栫爜</param>
+ <param name="botproccode">鐡堕宸ュ簭缂栫爜(棣栭亾宸ュ簭)</param>
+ <param name="startdate">寮�濮嬫棩鏈�</param>
+ <param name="enddate">缁撴潫鏃ユ湡</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductionManagementController.SubmitAlreadyScheduling">
+ <summary>
+ 鎺掔▼鏁版嵁鎻愪氦
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StockTypeSelect">
+ <summary>
+ 瀛樿揣绫诲瀷鎺ュ彛
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.MaterialTypeSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐗╂枡绫诲瀷鏌ヨ
+ </summary>
+ <param name="materialtypecode">鐗╂枡绫诲瀷缂栫爜</param>
+ <param name="materialtypename">鐗╂枡绫诲瀷鍚嶇О</param>
+ <param name="stocktypecode">瀛樿揣绫诲瀷缂栫爜</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.AddUpdateMaterialType(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐗╂枡绫诲瀷鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.DeleteMaterialType(System.String)">
+ <summary>
+ 鐗╂枡绫诲瀷鍒犻櫎
+ </summary>
+ <param name="materialtypecode">鐗╂枡绫诲瀷缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.UomSearch(System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鍗曚綅鍒楄〃鏌ヨ
+ </summary>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.UomAdd(System.Collections.Generic.List{VueWebApi.Models.Uom})">
+ <summary>
+ 鍗曚綅鏂板
+ </summary>
+ <param name="json">鍗曚綅鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.UomDelete(System.String)">
+ <summary>
+ 鍗曚綅鍒犻櫎
+ </summary>
+ <param name="uomcode">鍗曚綅缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StockTypeSelectMaterialType(System.String)">
+ <summary>
+ 瀛樿揣绫诲瀷鏌ユ壘鐗╂枡绫诲瀷
+ </summary>
+ <param name="stocktypecode">瀛樿揣绫诲瀷缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.UomSelect">
+ <summary>
+ 鍗曚綅涓嬫媺鍒楄〃鏌ヨ
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.InventoryFileSelect(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 瀛樿揣妗f鏌ヨ
+ </summary>
+ <param name="partcode">鐗╂枡缂栫爜</param>
+ <param name="partname">鐗╂枡鍚嶇О</param>
+ <param name="partspec">鐗╂枡瑙勬牸</param>
+ <param name="stocktypecode">瀛樿揣绫诲瀷缂栫爜</param>
+ <param name="materialtypecode">鐗╂枡绫诲瀷缂栫爜</param>
+ <param name="storehousecode">鎵�灞炰粨搴撶紪鐮�</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.AddUpdateInventoryFile(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 瀛樿揣妗f鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.DeleteInventoryFile(System.String)">
+ <summary>
+ 瀛樿揣妗f鍒犻櫎
+ </summary>
+ <param name="materialcode">鐗╂枡缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.InventoryFileAssociationRoute(System.String)">
+ <summary>
+ 瀛樿揣妗f鍏宠仈宸ヨ壓璺嚎鏌ヨ
+ </summary>
+ <param name="partcode">鐗╂枡缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.SaveInventoryFile(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData},System.String)">
+ <summary>
+ 瀛樿揣妗f鍏宠仈宸ヨ壓璺嚎鎻愪氦
+ </summary>
+ <param name="partcode">鐗╂枡缂栫爜</param>
+ <param name="defaultroute_code">榛樿宸ヨ壓璺嚎缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.BoIventorySelect(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鐗╂枡娓呭崟涓诲垪琛ㄦ煡璇�
+ </summary>
+ <param name="parentpartcode">姣嶄欢缂栫爜</param>
+ <param name="parentpartname">姣嶄欢鍚嶇О</param>
+ <param name="parentpartspec">姣嶄欢瑙勬牸</param>
+ <param name="status">鍚敤鐘舵��</param>
+ <param name="version">鐗堟湰鍙�</param>
+ <param name="createusername">鍒涘缓浜哄憳</param>
+ <param name="createdate">鍒涘缓鏃ユ湡</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">鍒嗛〉鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勬牸</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.BoIventorySelectView(System.String)">
+ <summary>
+ 鐗╂枡娓呭崟缂栬緫鏄剧ず鍙婇瑙�
+ </summary>
+ <param name="bomid">Bom涓昏〃id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.MaterielDetailedVsion(System.String)">
+ <summary>
+ 鐗╂枡娓呭崟鏂板鏃惰幏鍙栨渶澶х増鏈彿
+ </summary>
+ <param name="parentpartcode">姣嶄欢缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.AddUpdateBoIventory(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鐗╂枡娓呭崟鏂板/缂栬緫鎻愪氦
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.DeleteBoIventory(System.String)">
+ <summary>
+ 鐗╂枡娓呭崟鍒犻櫎
+ </summary>
+ <param name="bomid">Bom涓昏〃id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StepSelect">
+ <summary>
+ 宸ュ簭涓嬫媺鏌ヨ鎺ュ彛
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.RouteSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 宸ヨ壓璺嚎鏌ヨ
+ </summary>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <param name="routename">宸ヨ壓璺嚎鍚嶇О</param>
+ <param name="description">宸ヨ壓璺嚎鎻忚堪</param>
+ <param name="createuser">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.ViewRoute(System.String)">
+ <summary>
+ 宸ヨ壓璺嚎棰勮
+ </summary>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.AddUpdateRoute(System.String,VueWebApi.Models.RoutEdit,System.String)">
+ <summary>
+ 宸ヨ壓璺嚎鏂板
+ </summary>
+ <param name="id">宸ヨ壓璺嚎id</param>
+ <param name="opertype">鎿嶄綔绫诲瀷(鏂板)</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.DeleteRoute(System.String)">
+ <summary>
+ 宸ヨ壓璺嚎鍒犻櫎
+ </summary>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StepSearch(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 宸ュ簭鏌ヨ
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <param name="stepname">宸ュ簭鍚嶇О</param>
+ <param name="enable">鍚敤鐘舵��</param>
+ <param name="steptypecode">宸ュ簭绫诲瀷缂栫爜</param>
+ <param name="createuser">鍒涘缓浜哄憳</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.AddUpdateStep(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 宸ュ簭鏂板缂栬緫
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.DeleteStep(System.String)">
+ <summary>
+ 宸ュ簭鍒犻櫎
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StepAssociationEqp(System.String)">
+ <summary>
+ 宸ュ簭瀹氫箟鍏宠仈宸ヤ綔绔欐煡璇�
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.SaveStepAssociationEqp(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 宸ュ簭瀹氫箟鍏宠仈宸ヤ綔绔欐彁浜�
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StepAssociationDefect(System.String)">
+ <summary>
+ 宸ュ簭鍏宠仈缂洪櫡鏌ヨ
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.SaveStepAssociationDefect(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+ <summary>
+ 宸ュ簭鍏宠仈缂洪櫡鎻愪氦
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.PartSelect">
+ <summary>
+ 浜у搧淇℃伅涓嬫媺妗嗘煡璇�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.PartSelectRpute(System.String)">
+ <summary>
+ 浜у搧缂栫爜鏌ユ壘宸ヨ壓璺嚎涓嬫媺妗�
+ </summary>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.RouteSelectStep(System.String)">
+ <summary>
+ 鏍规嵁宸ヨ壓璺嚎缂栫爜鏌ユ壘鍏宠仈宸ュ簭闆嗗悎
+ </summary>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StepSelectEqp(System.String)">
+ <summary>
+ 鏍规嵁宸ュ簭绾跨紪鐮佹煡鎵惧叧鑱旇澶囦笅鎷夋闆嗗悎
+ </summary>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.StepSelectEqpList(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鏍规嵁宸ュ簭绾跨紪鐮佹煡鎵惧叧鑱旇澶囧垪琛ㄩ泦鍚�
+ </summary>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.BeatRateSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 鑺傛媿宸ヤ环鏌ヨ
+ </summary>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.SaveBeatRate(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鑺傛媿宸ヤ环鎻愪氦
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.ProductModelController.DeleteBeatRate(System.String,System.String,System.String,System.String)">
+ <summary>
+ 鑺傛媿宸ヤ环鍒犻櫎
+ </summary>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.DedectSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 璐ㄩ噺绠$悊,缂洪櫡瀹氫箟鏌ヨ鍒楄〃
+ </summary>
+ <param name="defectcode">缂洪櫡浠g爜</param>
+ <param name="defectname">缂洪櫡鍚嶇О</param>
+ <param name="defectdescr">缂洪櫡鎻忚堪</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateDedect(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 璐ㄩ噺绠$悊锛岀己闄峰畾涔夋柊澧炪�佺紪杈戞彁浜�
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.DeleteDedect(System.String)">
+ <summary>
+ 璐ㄩ噺绠$悊锛岀己闄峰畾涔夊垹闄�
+ </summary>
+ <param name="defectcode">缂洪櫡浠g爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckStanedSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 宸ュ簭妫�楠屾爣鍑嗗垪琛ㄦ煡璇�
+ </summary>
+ <param name="stanedcode">鏍囧噯浠g爜</param>
+ <param name="stanedname">鏍囧噯鍚嶇О</param>
+ <param name="staneddescr">鏍囧噯鎻忚堪</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勬牸</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.EditStepCheckStanedSearch(System.String)">
+ <summary>
+ 宸ュ簭妫�楠屾爣鍑嗙紪杈戣幏鍙栨暟鎹�
+ </summary>
+ <param name="defectcode">宸ュ簭妫�楠屾爣鍑嗙紪鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckItemSelect">
+ <summary>
+ 宸ュ簭妫�楠屾爣鍑嗘柊澧炪�佺紪杈戣幏鍙栨楠岄」鐩笅鎷夊垪琛�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.DeleteStepCheckStaned(System.String)">
+ <summary>
+ 宸ュ簭妫�楠屾爣鍑嗗垹闄�
+ </summary>
+ <param name="stanedcode">宸ュ簭妫�楠屾爣鍑嗗垹闄�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateStepCheckStaned(System.String,VueWebApi.Models.RoutEdit)">
+ <summary>
+ 宸ュ簭妫�楠屾爣鍑嗘柊澧炪�佺紪杈戞彁浜�
+ </summary>
+ <param name="opertype">鎿嶄綔绫诲瀷</param>
+ <param name="json">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckItemSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 宸ュ簭妫�楠岄」鐩垪琛ㄦ煡璇�
+ </summary>
+ <param name="itemcode">妫�楠岄」鐩紪鐮�</param>
+ <param name="itemname">妫�楠岄」鐩悕绉�</param>
+ <param name="itemdescr">妫�楠岄」鐩弿杩�</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateStepCheckItem(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 宸ュ簭妫�楠岄」鐩柊澧炪�佺紪杈戞彁浜�
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.DeleteStepCheckItem(System.String)">
+ <summary>
+ 宸ュ簭妫�楠岄」鐩垹闄�
+ </summary>
+ <param name="checkitemcode">妫�楠岄」鐩唬鐮�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckTableSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 宸ュ簭妫�楠岃褰曞垪琛ㄦ煡璇�
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partapec">浜у搧鍚嶇О</param>
+ <param name="stepname">浜у搧鍚嶇О</param>
+ <param name="standname">浜у搧鍚嶇О</param>
+ <param name="checktype">妫�楠岀被鍨嬬紪鐮�</param>
+ <param name="checkresult">妫�楠岀粨鏋�</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckTableSubSearch(System.String)">
+ <summary>
+ 宸ュ簭妫�楠岃褰曞垪琛ㄦ煡璇�
+ </summary>
+ <param name="id">涓昏〃id</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckTableOutExcel(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 宸ュ簭妫�楠岃褰曞鍑�
+ </summary>
+ <param name="wocode">宸ュ崟缂栧彿</param>
+ <param name="partcode">浜у搧缂栫爜</param>
+ <param name="partname">浜у搧鍚嶇О</param>
+ <param name="partapec">浜у搧鍚嶇О</param>
+ <param name="stepname">浜у搧鍚嶇О</param>
+ <param name="standname">浜у搧鍚嶇О</param>
+ <param name="checktype">妫�楠岀被鍨嬬紪鐮�</param>
+ <param name="checkresult">妫�楠岀粨鏋�</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SystemSettingController.EncodingRules(System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 缂栫爜瑙勫垯鏌ヨ
+ </summary>
+ <param name="rightname">缂栫爜鍚嶇О</param>
+ <param name="prefix">鍥哄畾瀛楃</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SystemSettingController.SaveEncodingRules(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 缂栫爜瑙勫垯缂栬緫淇濆瓨
+ </summary>
+ <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SystemSettingController.NewEncodingRules(System.String)">
+ <summary>
+ 鑾峰彇瑙勫垯鐢熸垚鐨勭紪鐮�
+ </summary>
+ <param name="rightcode">鍔熻兘缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SystemSettingController.SystemAnnouncementSearch(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
+ <summary>
+ 杞﹂棿鍏憡鍒楄〃
+ </summary>
+ <param name="wkspcode">杞﹂棿缂栫爜</param>
+ <param name="ancetitle">鍏憡涓婚</param>
+ <param name="ancecont">鍏憡鍐呭</param>
+ <param name="cancel">鏄惁鎾ら攢</param>
+ <param name="level">鍏憡绛夌骇</param>
+ <param name="page">椤电爜</param>
+ <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+ <param name="prop">鎺掑簭瀛楁</param>
+ <param name="order">鎺掑簭瑙勫垯</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SystemSettingController.SystemAnnouncementAddUpdate(System.Data.DataTable,System.String,System.String,System.String,System.String,System.String,System.String)">
+ <summary>
+ 杞﹂棿鍏憡鏂板缂栬緫鎻愪氦
+ </summary>
+ <param name="id">id</param>
+ <param name="dt">杞﹂棿闆嗗悎</param>
+ <param name="ancetitle">鍏憡涓婚</param>
+ <param name="ancecont">鍏憡鍐呭</param>
+ <param name="level">鍏憡绛夌骇</param>
+ <param name="cancel">鏄惁鎾ら攢</param>
+ <param name="opertype">鎿嶄綔绫诲瀷</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Controllers.SystemSettingController.SystemAnnouncementDelete(System.String)">
+ <summary>
+ 杞﹂棿鍏憡鍒犻櫎
+ </summary>
+ <param name="id">id</param>
+ <returns></returns>
+ </member>
+ <member name="F:VueWebApi.Hubs.ChatHub.userList">
+ <summary>
+ 闈欐�佺敤鎴峰垪琛�
+ </summary>
+ </member>
+ <member name="F:VueWebApi.Hubs.ChatHub._connections">
+ <summary>
+ 鐢ㄦ埛鐨刢onnectionID涓庣敤鎴峰悕瀵圭収琛�
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub.SendByGroup(System.String,System.String,System.String)">
+ <summary>
+ 鍙戦�佸嚱鏁帮紝鍓嶇瑙﹀彂璇ュ嚱鏁扮粰鏈嶅姟鍣紝鏈嶅姟鍣ㄥ湪灏嗘秷鎭彂閫佺粰鍓嶇锛岋紙Clients.All.(鍑芥暟鍚�)鏄叏浣撳箍鎾紝鍙﹀Clients鎻愪緵浜嗙粍鎾紝骞挎挱鎺掗櫎锛岀粍鎾帓闄わ紝鎸囧畾鐢ㄦ埛鎾彂绛夌瓑锛�
+ 璇ュ嚱鏁板悕鍦ㄥ墠绔娇鐢ㄦ椂涓�瀹氳娉ㄦ剰锛屽墠绔皟鐢ㄨ鍑芥暟鏃讹紝鍑芥暟棣栧瓧姣嶄竴瀹氳灏忓啓
+ </summary>
+ <param name="name1">鍙戣捣鑰�</param>
+ <param name="name2">娑堟伅鎺ユ敹鑰�</param>
+ <param name="cont">娑堟伅鍐呭</param>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub.SendByGroupList(System.String,System.String,System.String,System.Collections.Generic.List{VueWebApi.Models.AnDnDate})">
+ <summary>
+ 瀹夌伅鍛煎彨鎻愪氦鏃惰皟鐢�
+ </summary>
+ <param name="username">鍙戣捣浜�</param>
+ <param name="wkshpcode">杞﹂棿缂栫爜</param>
+ <param name="eqpcode">璁惧缂栫爜</param>
+ <param name="json"></param>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub.SendLogin(System.String)">
+ <summary>
+ 鐢ㄦ埛涓婄嚎鍑芥暟(鍗曠敤鎴�)
+ </summary>
+ <param name="name">鐢ㄦ埛鍚�</param>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub.SendLogins(System.String)">
+ <summary>
+ 鐢ㄦ埛涓婄嚎鍑芥暟(澶氱敤鎴�)
+ </summary>
+ <param name="code">鐢ㄦ埛鍚嶉泦鍚�</param>
+ </member>
+ <!-- Badly formed XML comment ignored for member "F:VueWebApi.Hubs.ChatHub2.Users" -->
+ <member name="M:VueWebApi.Hubs.ChatHub2.OnConnected">
+ <summary>
+ 鏈繛鎺ヤ簨浠�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub2.OnReconnected">
+ <summary>
+ 閲嶆柊杩炴帴浜嬩欢
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub2.OnDisconnected(System.Boolean)">
+ <summary>
+ 鏂紑杩炴帴浜嬩欢
+ </summary>
+ <param name="stopCalled"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub2.GetClientId">
+ <summary>
+ 杩欏浜庢瘡涓鎴风閮芥槸鍞竴鐨勶紝鐢ㄤ簬鏍囪瘑杩炴帴銆�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub2.Send(System.Int32)">
+ <summary>
+ Sends the update user count to the listening view.
+ </summary>
+ <param name="count">
+ The count.
+ </param>
+ </member>
+ <member name="M:VueWebApi.Hubs.ChatHub2.Hello(System.String)">
+ <summary>
+ 鑷繁鍐欑殑涓�涓湇鍔$鏂规硶Hello.
+ </summary>
+ <param name="msg">鍙傛暟
+ </param>
+ </member>
+ <member name="M:VueWebApi.WebApiApplication.Init">
+ <summary>
+ 娉ㄥ唽Session
+ </summary>
+ </member>
+ <member name="T:VueWebApi.Tools.ChannelActionFilterAttribute">
+ <summary>
+ 娓犻亾杩囨护鍣�
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Tools.ChannelActionFilterAttribute.OnActionExecuting(System.Web.Http.Controllers.HttpActionContext)">
+ <summary>
+ 璇锋眰鎺ュ彛涔嬪墠娓犻亾杩囨护
+ </summary>
+ <param name="actionContext"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.DALSkillCondition.ResultExcel(System.String,System.Data.DataTable)">
+ <summary>
+ 涓嬭浇excel
+ </summary>
+ <param name="path"></param>
+ <param name="num"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.sqlConnection">
+ <summary>
+ 鍒涘缓鏁版嵁搴撹繛鎺ュ璞qlserver
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.select``1(System.String,System.Object)">
+ <summary>
+ Dapper鏌ヨ杩斿洖List
+ </summary>
+ <typeparam name="T">闇�瑕佽繑鍥炵殑瀵硅薄绫诲瀷</typeparam>
+ <param name="sql">Sql璇彞</param>
+ <param name="parm"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selectToDict(System.String,System.Object)">
+ <summary>
+ Dapper鏌ヨ杩斿洖List瀛楀吀瀵硅薄 鏃犻渶鎵嬪姩Wapper瀵硅薄浜�
+ </summary>
+ <param name="sql"></param>
+ <param name="parm"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selectToObject``1(System.String,System.Object)">
+ <summary>
+ Dapper鏌ヨ杩斿洖瀵硅薄闈濴ist闆嗗悎
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="sql"></param>
+ <param name="parm"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.GetPageList``1(System.String,System.Object,System.String,System.String,System.Int32,System.Int32,System.Int32@)">
+ <summary>
+ dapper閫氱敤鍒嗛〉鍑芥暟
+ </summary>
+ <typeparam name="T">娉涘瀷闆嗗悎瀹炰綋绫�</typeparam>
+ <param name="sql">鏌ヨ璇彞</param>
+ <param name="orderBy">鎺掑簭锛堝瓧娈� DESC/ASC锛�</param>
+ <param name="pageIndex">褰撳墠椤�</param>
+ <param name="pageSize">褰撳墠椤垫樉绀烘潯鏁�</param>
+ <param name="total">缁撴灉闆嗘�绘暟</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selectdata(System.String,System.Object)">
+ <summary>
+ Dapper鏌ヨ杩斿洖datatable鏁版嵁(甯﹀弬鏁�)
+ </summary>
+ <param name="sql"></param>
+ <param name="parm"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selectlist(System.String,System.Object)">
+ <summary>
+ Dapper鏌ヨ杩斿洖datatable鏁版嵁(甯﹀弬鏁�)
+ </summary>
+ <param name="sql"></param>
+ <param name="parm"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selecttable(System.String)">
+ <summary>
+ Dapper鏌ヨ杩斿洖datatable鏁版嵁(涓嶅甫鍙傛暟)
+ </summary>
+ <param name="sql"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selectProcedure(System.String,System.Object)">
+ <summary>
+ Dapper鎵ц瀛樺偍杩囩▼杩斿洖datatable鏁版嵁(甯﹀弬鏁�)
+ </summary>
+ <param name="sql">瀛樺偍杩囩▼鍚�</param>
+ <param name="parm">鍙傛暟</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.IsProcedure(System.String,System.Object)">
+ <summary>
+ Dapper鎵ц瀛樺偍杩囩▼杩斿洖datatable鏁版嵁(甯﹀弬鏁�)
+ </summary>
+ <param name="sql">瀛樺偍杩囩▼鍚�</param>
+ <param name="parm">鍙傛暟</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.IsProcedureNo(System.String)">
+ <summary>
+ Dapper鎵ц瀛樺偍杩囩▼杩斿洖datatable鏁版嵁(涓嶅甫鍙傛暟)
+ </summary>
+ <param name="sql">瀛樺偍杩囩▼鍚�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.selectcount(System.String,System.Object)">
+ <summary>
+ Dapper鏌ヨ杩斿洖鏁版嵁鏉℃暟
+ </summary>
+ <param name="sql"></param>
+ <param name="parm"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.SQL(System.String,System.Object)">
+ <summary>
+ Dapper澧炲垹鏀�
+ </summary>
+ <param name="sql"></param>
+ <param name="parametere"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.DoTransaction(System.Collections.Generic.List{System.Object})">
+ <summary>
+ 澧炲姞锛屽垹闄わ紝淇敼浣跨敤鐨� 浜嬪姟鏂规硶 Sqllist涓轰緷娆℃墽琛�
+ </summary>
+ <param name="sqlList"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.DoTransactionCont(System.Collections.Generic.List{System.Object})">
+ <summary>
+ 澧炲姞锛屽垹闄わ紝淇敼浣跨敤鐨� 浜嬪姟鏂规硶 Sqllist涓轰緷娆℃墽琛�
+ </summary>
+ <param name="sqlList"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DapperHelper.insertReturnId(System.String,System.Object,System.String)">
+ <summary>
+ Dapper鎻掑叆 杩斿洖鑷涓婚敭Id
+ </summary>
+ <param name="sql"></param>
+ <param name="parameter"></param>
+ <param name="tableName">寰呮彃鍏ユ暟鎹殑琛ㄥ悕</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DataOperator.ExecuteSqlTran(System.Collections.Generic.List{System.String},System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц澶氭潯SQL璇彞锛屽疄鐜版暟鎹簱浜嬪姟銆�
+ </summary>
+ <param name="sql">澶氭潯SQL璇彞</param>
+ <returns>褰卞搷鐨勮褰曟暟</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetTable(System.String)">
+ <summary>
+ 鑾峰彇DataTable
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <returns>杩斿洖DataTable</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetTable(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鑾峰彇DataTable
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖DataTable</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetData(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ Dataset鑾峰彇鏁版嵁琛�
+ </summary>
+ <param name="sql"></param>
+ <param name="parameters"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetCount(System.String)">
+ <summary>
+ 鑾峰彇鏁版嵁琛屾暟,濡傛灉鍑洪敊杩斿洖"-1"
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <returns>濡傛灉鍑洪敊杩斿洖"-1"</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.Executesqltran(System.Collections.Generic.List{System.String},System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц澶氭潯sql璇彞鐨勪簨鐗�
+ </summary>
+ <param name="list"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetCount(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鑾峰彇鏁版嵁琛屾暟,濡傛灉鍑洪敊杩斿洖"-1"
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>濡傛灉鍑洪敊杩斿洖"-1"</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetObject(System.String)">
+ <summary>
+ 鑾峰彇琛ㄦ牸绗竴琛岀涓�鍒�
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <returns>濡傛灉鍑洪敊杩斿洖"null"</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetObject(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鑾峰彇琛ㄦ牸绗竴琛岀涓�鍒�
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖Object</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ExecuteSql(System.String)">
+ <summary>
+ 鎵цSQL璇彞杩斿洖鏄惁鎴愬姛
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <returns>杩斿洖鏄惁鎴愬姛</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ExecuteSql(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵цSQL璇彞杩斿洖鏄惁鎴愬姛
+ </summary>
+ <param name="sql">浼犲叆SQL璇彞</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖鏄惁鎴愬姛</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ExecuteProduct(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц瀛樺偍杩囩▼杩斿洖杩斿洖鍊�
+ </summary>
+ <param name="productName">瀛樺偍杩囩▼鍚嶅瓧</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖鍊糎ash琛�</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ExecuteProductData(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц瀛樺偍杩囩▼杩斿洖杩斿洖鍊�
+ </summary>
+ <param name="productName">瀛樺偍杩囩▼鍚嶅瓧</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖鍊糎ash琛�</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ExecuteProductDataList(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц瀛樺偍杩囩▼杩斿洖杩斿洖鍊�
+ </summary>
+ <param name="productName">瀛樺偍杩囩▼鍚嶅瓧</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖鍊糎ash琛�</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.executeProductList(System.String,System.Boolean,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц瀛樺偍杩囩▼杩斿洖杩斿洖鍊�
+ </summary>
+ <param name="productName">瀛樺偍杩囩▼鍚嶅瓧</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖鍊糒ist</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ExecuteProductbool(System.String,System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ 鎵ц瀛樺偍杩囩▼杩斿洖杩斿洖鍊�
+ </summary>
+ <param name="productName">瀛樺偍杩囩▼鍚嶅瓧</param>
+ <param name="parameters">SqlParameter 鍙傛暟</param>
+ <returns>杩斿洖鍊糄ataTable琛�</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetDataByPage(System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.String,System.Int32@)">
+ <summary>
+ 鍒嗛〉鏌ヨ
+ </summary>
+ <param name="filename">琛ㄥ悕</param>
+ <param name="filename">闇�瑕佽繑鍥炵殑鍒�</param>
+ <param name="sortfilename">鎺掑簭瀛楁鍚�</param>
+ <param name="PageSize">椤靛昂瀵�</param>
+ <param name="PageIndex">椤电爜</param>
+ <param name="OrderType">璁剧疆鎺掑簭绫诲瀷, 闈� 0 鍊煎垯闄嶅簭</param>
+ <param name="strWhere">鏌ヨ鏉′欢 (娉ㄦ剰: 涓嶈鍔� where)</param>
+ <param name="RecordCount">鎬昏褰�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetDataByPage_V2(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.Int32@)">
+ <summary>
+ 鍒嗛〉鏌ヨ(鏀寔JOIN)
+ </summary>
+ <param name="filename">琛ㄥ悕</param>
+ <param name="filename">闇�瑕佽繑鍥炵殑鍒�</param>
+ <param name="sortfilename">鎺掑簭瀛楁鍚�(榛樿鍗囧簭锛岄檷搴忛渶鍦ㄦ帓搴忓瓧娈靛悕鍚庨潰DESC鍏抽敭瀛楋細sortField Desc)</param>
+ <param name="PageSize">椤靛昂瀵�</param>
+ <param name="PageIndex">椤电爜</param>
+ <param name="strWhere">鏌ヨ鏉′欢 (娉ㄦ剰: 涓嶈鍔� where)</param>
+ <param name="RecordCount">鎬昏褰�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.GetDataByPage_V2_Join(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.Int32@)">
+ <summary>
+ 鍒嗛〉鏌ヨ(鏀寔JOIN)
+ </summary>
+ <param name="filename">琛ㄥ悕</param>
+ <param name="filename">闇�瑕佽繑鍥炵殑鍒�</param>
+ <param name="sortfilename">鎺掑簭瀛楁鍚�(榛樿鍗囧簭锛岄檷搴忛渶鍦ㄦ帓搴忓瓧娈靛悕鍚庨潰DESC鍏抽敭瀛楋細sortField Desc)</param>
+ <param name="PageSize">椤靛昂瀵�</param>
+ <param name="PageIndex">椤电爜</param>
+ <param name="strWhere">鏌ヨ鏉′欢 (娉ㄦ剰: 涓嶈鍔� where)</param>
+ <param name="RecordCount">鎬昏褰�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DBHelper.ParametersStrGet(System.Data.SqlClient.SqlParameter[])">
+ <summary>
+ [鐢ㄤ簬鏃ュ織鏂囨湰杈撳嚭] 灏哠qlParameter鏁扮粍鍙傛暟杞垚瀛楃涓�.
+ </summary>
+ <param name="parameters">鍙傛暟鏁扮粍</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.Download``1(System.Collections.Generic.IList{``0},System.Collections.Generic.Dictionary{System.String,System.String},System.String)">
+ <summary>
+ 涓嬭浇
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="data"></param>
+ <param name="map">鎵�闇�瑕佺殑鍒�</param>
+ <param name="filenName">鏂囦欢鍚嶅瓧</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.DataSetToExcel(System.Data.DataSet,System.String)">
+ <summary>
+ Datas the set to excel.
+ </summary>
+ <param name="ds">The ds.</param>
+ <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.DataTableToExcel(System.Data.DataTable,System.String)">
+ <summary>
+ Datas the set to excel.
+ </summary>
+ <param name="ds">The ds.</param>
+ <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.GetValue(System.String,System.String)">
+ <summary>
+ Gets the value.
+ </summary>
+ <param name="cellValue">The cell value.</param>
+ <param name="type">The type.</param>
+ <returns>System.String.</returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.DataToExcel(System.Data.DataTable,System.String)">
+ <summary>
+ Datatable鐢熸垚Excel琛ㄦ牸骞惰繑鍥炶矾寰�
+ </summary>
+ <param name="m_DataTable">Datatable</param>
+ <param name="s_FileName">鏂囦欢鍚�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.DataTree(System.Data.DataTable,System.String,System.Int32,System.String@)">
+ <summary>
+ 宸ヨ祫鎶ヨ〃Excel瀵煎嚭鏁版嵁鍚堝苟
+ </summary>
+ <param name="path"></param>
+ <param name="table"></param>
+ <param name="treeIndex"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.DownLoad.DataLength(System.String)">
+ <summary>
+ 鑾峰彇瀛楃涓查暱搴︼紙涓枃鎸�2涓瓧鑺傞暱搴︼級
+ </summary>
+ <param name="stringWithEnglishAndChinese"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToTable(System.String)">
+ <summary>
+ Excel瀵煎叆鎴怐atable
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToTableList(System.String)">
+ <summary>
+ Excel 2涓猄heet瀵煎叆鎴怐atable
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.ImportExcel.GetCellValue(NPOI.SS.UserModel.ICell)">
+ <summary>
+ 鑾峰彇鍗曞厓鏍肩被鍨�
+ </summary>
+ <param name="cell"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToTableErro(System.String)">
+ <summary>
+ 鍗曚釜Excel 涓嶄负绌洪獙璇併�侀噸澶嶆暟鎹獙璇�
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToTableListErro(System.String)">
+ <summary>
+ Excel 2涓猄heet 鏁版嵁楠岃瘉
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.LogHelper.WriteLog(System.Exception)">
+ <summary>
+ 杈撳嚭鏃ュ織鍒癓og4Net
+ </summary>
+ <param name="ex"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.NPOIHelper.ExportEasy(System.Data.DataTable,System.String)">
+ <summary>
+ NPOI绠�鍗旸emo锛屽揩閫熷叆闂ㄤ唬鐮�
+ </summary>
+ <param name="dtSource"></param>
+ <param name="strFileName"></param>
+ <remarks>NPOI璁や负Excel鐨勭涓�涓崟鍏冩牸鏄細(0锛�0)</remarks>
+ <Author>鏌虫案娉� http://www.yongfa365.com/ 2010-5-8 22:21:41</Author>
+ </member>
+ <member name="M:VueWebApi.Tools.NPOIHelper.GetExcelDatatableList(System.String)">
+ <summary>
+ 澶氫釜sheet瀵煎叆
+ </summary>
+ <param name="fileUrl"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.NPOIHelper.GetExcelDatatableListName(System.String)">
+ <summary>
+ 澶氫釜sheet瀵煎叆
+ </summary>
+ <param name="fileUrl"></param>
+ <returns></returns>
+ </member>
+ <member name="F:VueWebApi.Tools.RedisHelper.RedisIpConnString">
+ <summary>
+ redis鑾峰彇杩炴帴閰嶇疆瀛楃涓�
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.CreateManager(System.String[],System.String[])">
+ <summary>
+ 缂撳啿姹�
+ </summary>
+ <param name="readWriteHosts"></param>
+ <param name="readOnlyHosts"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.#cctor">
+ <summary>
+ 鏋勯�犲嚱鏁�
+ </summary>
+ <param name="openPooledRedis">鏄惁寮�鍚紦鍐叉睜</param>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.Set``1(System.String,``0,System.Int32,System.Int32)">
+ <summary>
+ 璁剧疆缂撳瓨
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="key">缂撳瓨寤�</param>
+ <param name="t">缂撳瓨鍊�</param>
+ <param name="timeout">杩囨湡鏃堕棿锛屽崟浣嶇,-1锛氫笉杩囨湡锛�0锛氶粯璁よ繃鏈熸椂闂�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.KeyExpire(System.String,System.Int32)">
+ <summary>
+ 璁剧疆澶辨晥鏃堕棿
+ </summary>
+ <param name="key"></param>
+ <param name="expiry"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.Get``1(System.String,System.Int32)">
+ <summary>
+ 鑾峰彇
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="key"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.Remove(System.String,System.Int32)">
+ <summary>
+ 鍒犻櫎
+ </summary>
+ <param name="key"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.AddList``1(System.String,System.Collections.Generic.IEnumerable{``0},System.Int32)">
+ <summary>
+ 鏍规嵁IEnumerable鏁版嵁娣诲姞閾捐〃
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="listId"></param>
+ <param name="values"></param>
+ <param name="timeout"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.AddEntityToList``1(System.String,``0,System.Int32,System.Int32)">
+ <summary>
+ 娣诲姞鍗曚釜瀹炰綋鍒伴摼琛ㄤ腑
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="listId"></param>
+ <param name="Item"></param>
+ <param name="timeout"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.GetList``1(System.String,System.Int32)">
+ <summary>
+ 鑾峰彇閾捐〃
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="listId"></param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.RemoveEntityFromList``1(System.String,``0,System.Int32)">
+ <summary>
+ 鍦ㄩ摼琛ㄤ腑鍒犻櫎鍗曚釜瀹炰綋
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="listId"></param>
+ <param name="t"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.RedisHelper.RemoveEntityFromList``1(System.String,System.Func{``0,System.Boolean})">
+ <summary>
+ 鏍规嵁lambada琛ㄨ揪寮忓垹闄ょ鍚堟潯浠剁殑瀹炰綋
+ </summary>
+ <typeparam name="T"></typeparam>
+ <param name="listId"></param>
+ <param name="func"></param>
+ </member>
+ <member name="M:VueWebApi.Tools.ScanStartReport.ZZEncodingSeach(System.String,System.String)">
+ <summary>
+ 鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
+ </summary>
+ <param name="ordercode">宸ュ崟缂栧彿</param>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.ScanStartReport.WXEncodingSeach(System.String,System.String,System.String)">
+ <summary>
+ 鐢熶骇寮�鎶ュ伐:澶栧崗宸ュ簭浠诲姟寮�鎶ュ伐鍒ゆ柇:宸ュ崟鍙�+宸ュ簭
+ </summary>
+ <param name="OperType">鎿嶄綔绫诲瀷</param>
+ <param name="ordercode">宸ュ崟缂栧彿</param>
+ <param name="stepcode">宸ュ簭缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.SeachEncode.EncodingSeach(System.String)">
+ <summary>
+ 鏍规嵁鍔熻兘缂栫爜鑾峰彇鏈�鏂拌鍒欑紪鐮�
+ </summary>
+ <param name="rightcode">鍔熻兘缂栫爜</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Tools.SeachEncode.RightLocation(System.String,System.String)">
+ <summary>
+ 鏍规嵁瑙掕壊缂栫爜鏌ヨ鍔熻兘鑿滃崟
+ </summary>
+ <param name="rolecode"></param>
+ <param name="type"></param>
+ <returns></returns>
+ </member>
+ <member name="T:VueWebApi.Util.ObjectValueParser`1">
+ <summary>
+ 鍊艰浆鎹㈠櫒
+ </summary>
+ <typeparam name="T">鎸囧畾鍊肩殑绫诲瀷</typeparam>
+ <param name="obj">鍙栧�兼潵婧�</param>
+ <returns>杩斿洖鎸囧畾绫诲瀷鐨勫��</returns>
+ </member>
+ <member name="T:VueWebApi.Util.ObjectValueTryParser`1">
+ <summary>
+ 灏濊瘯灏嗗�艰浆鎹㈡垚鎸囧畾绫诲瀷 杩斿洖杞崲缁撴灉
+ </summary>
+ <typeparam name="T">鎸囧畾鍊肩殑绫诲瀷</typeparam>
+ <param name="obj">鍙栧�兼潵婧�</param>
+ <param name="valueOutput">鑻ヨ浆鎹㈡垚鍔� 鍒檕ut杞崲缁撴灉 鍚﹀垯 out榛樿T绫诲瀷鍊�</param>
+ <returns></returns>
+ </member>
+ <member name="T:VueWebApi.Util.StringValueParser`1">
+ <summary>
+ 灏濊瘯灏嗗�艰浆鎹㈡垚鎸囧畾绫诲瀷 杩斿洖杞崲缁撴灉
+ </summary>
+ <typeparam name="T">鎸囧畾鍊肩殑绫诲瀷</typeparam>
+ <param name="str">鍙栧�兼潵婧愬瓧绗︿覆</param>
+ <returns>杩斿洖鎸囧畾绫诲瀷鐨勫��</returns>
+ </member>
+ <member name="T:VueWebApi.Util.StringValueTryParser`1">
+ <summary>
+ 灏濊瘯灏嗗�艰浆鎹㈡垚鎸囧畾绫诲瀷 杩斿洖杞崲鎴愬姛涓庡惁
+ </summary>
+ <typeparam name="T">鎸囧畾鍊肩殑绫诲瀷</typeparam>
+ <param name="str">鍙栧�兼潵婧愬瓧绗︿覆</param>
+ <param name="valueOutput">鑻ヨ浆鎹㈡垚鍔� 鍒檕ut杞崲缁撴灉 鍚﹀垯 out榛樿T绫诲瀷鍊�</param>
+ <returns></returns>
+ </member>
+ <member name="T:VueWebApi.Util.EntityHelper">
+ <summary>
+ 瀹炰綋甯姪绫�
+ </summary>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetObject(System.Data.DataRow,System.String)">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鎸囧畾鍒楀悕鐨勫��
+ </summary>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鎸囧畾鍒楀悕</param>
+ <returns>鑻ユ寚瀹氱殑鍒楀悕瀛樺湪骞舵湁鏁堝垯杩斿洖鍙栧埌鐨勫璞★紝鑻ユ寚瀹氬垪鍚嶄笉瀛樺湪鎴栬�呬负鏃犳晥鏁版嵁鍒欒繑鍥瀗ull</returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetT``1(System.Data.DataRow,System.String,``0,VueWebApi.Util.ObjectValueParser{``0})">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鎸囧畾寮曠敤绫诲瀷鐨勫��
+ </summary>
+ <typeparam name="T">鎸囧畾绫诲瀷鐨勫��</typeparam>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <param name="parser">鍊艰浆鎹㈠櫒 鑻ョ粰瀹氱殑鍊艰浆鎹㈠櫒涓簄ull锛屽垯浣跨敤as寮哄埗杞崲锛岃嫢as杞崲涓簄ull 鍒欒繑鍥為粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.Get``1(System.Object,``0,VueWebApi.Util.ObjectValueParser{``0})">
+ <summary>
+ 灏嗗璞¤浆鎹负鎸囧畾绫诲瀷鏁版嵁 杞崲澶辫触杩斿洖璁剧疆鐨勯粯璁ゅ��
+ </summary>
+ <typeparam name="T">鎸囧畾鐨勭被鍨�</typeparam>
+ <param name="source">鏁版嵁婧�</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <param name="parser">鍊艰浆鎹㈠櫒 鑻ョ粰瀹氱殑鍊艰浆鎹㈠櫒涓簄ull锛屽垯浣跨敤as寮哄埗杞崲锛岃嫢as杞崲涓簄ull 鍒欒繑鍥為粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.TryGetT``1(System.Data.DataRow,System.String,``0,VueWebApi.Util.ObjectValueTryParser{``0})">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鎸囧畾寮曠敤绫诲瀷鐨勫��
+ </summary>
+ <typeparam name="T">鎸囧畾鐨勭被鍨�</typeparam>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <param name="parser">鍊艰浆鎹㈠櫒 鑻ョ粰瀹氱殑鍊艰浆鎹㈠櫒涓簄ull锛屽垯浣跨敤as寮哄埗杞崲锛岃嫢as杞崲涓簄ull 鍒欒繑鍥為粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.TryGetT``1(System.Object,``0,VueWebApi.Util.ObjectValueTryParser{``0})">
+ <summary>
+ 灏嗗璞″皾璇曡浆鎹负鎸囧畾绫诲瀷鐨勬暟鎹� 杞崲澶辫触杩斿洖鎸囧畾鐨勯粯璁ゅ��
+ </summary>
+ <typeparam name="T">鎸囧畾鐨勭被鍨�</typeparam>
+ <param name="source">鏁版嵁婧�</param>
+ <param name="defVal">榛樿鍊�</param>
+ <param name="parser">鍊艰浆鎹㈠櫒 鑻ョ粰瀹氱殑鍊艰浆鎹㈠櫒涓簄ull锛屽垯浣跨敤as寮哄埗杞崲锛岃嫢as杞崲涓簄ull 鍒欒繑鍥為粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetT``1(System.Data.DataRow,System.String,``0,VueWebApi.Util.StringValueParser{``0})">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鎸囧畾鍊肩被鍨嬬殑鍊�
+ </summary>
+ <typeparam name="T">鎸囧畾绫诲瀷鐨勫��</typeparam>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <param name="parser">鍊艰浆鎹㈠櫒</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetT``1(System.Object,``0,VueWebApi.Util.StringValueParser{``0})">
+ <summary>
+ 灏嗗璞¤浆鎹负鎸囧畾绫诲瀷鏁版嵁 杞崲澶辫触杩斿洖璁剧疆鐨勯粯璁ゅ��
+ </summary>
+ <typeparam name="T">鎸囧畾鐨勭被鍨�</typeparam>
+ <param name="source">鏁版嵁婧�</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <param name="parser">鍊艰浆鎹㈠櫒</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.TryGetT``1(System.Data.DataRow,System.String,``0,VueWebApi.Util.StringValueTryParser{``0})">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鎸囧畾鍊肩被鍨嬬殑鍊�
+ </summary>
+ <typeparam name="T">鎸囧畾绫诲瀷鐨勫��</typeparam>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <param name="parser">鍊艰浆鎹㈠櫒</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.TryGetT``1(System.Object,``0,VueWebApi.Util.StringValueTryParser{``0})">
+ <summary>
+ 灏嗗璞″皾璇曡浆鎹负鎸囧畾绫诲瀷鐨勬暟鎹� 杞崲澶辫触杩斿洖鎸囧畾鐨勯粯璁ゅ��
+ </summary>
+ <typeparam name="T">鎸囧畾鐨勭被鍨�</typeparam>
+ <param name="obj">鏁版嵁婧�</param>
+ <param name="defVal">榛樿鍊�</param>
+ <param name="parser">鍊艰浆鎹㈠櫒</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetString(System.Data.DataRow,System.String,System.String)">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇瀛楃涓�
+ </summary>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetString(System.Object,System.String)">
+ <summary>
+ 鑾峰彇瀛楃涓� 妫�娴� 鏁版嵁婧愪负绌烘椂杩斿洖榛樿鍊�
+ </summary>
+ <param name="source">鏁版嵁婧�</param>
+ <param name="defVal">榛樿鍊�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetInt(System.Data.DataRow,System.String,System.Int32)">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鏁存暟
+ </summary>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetInt(System.Object,System.Int32)">
+ <summary>
+ 浠庢暟鎹憳鑾峰彇鏁存暟
+ </summary>
+ <param name="source">鏁版嵁婧�</param>
+ <param name="defVal">鑾峰彇澶辫触鏃剁殑榛樿鍊�</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetDateTime(System.Data.DataRow,System.String,System.DateTime)">
+ <summary>
+ 浠庝竴琛屾暟鎹腑灏濊瘯鑾峰彇鏃ユ湡
+ </summary>
+ <param name="dr">婧愭暟鎹</param>
+ <param name="columnName">鍒楀悕</param>
+ <param name="defVal">鍒楁棤鏁堟椂杩斿洖鐨勯粯璁ゅ��</param>
+ <returns></returns>
+ </member>
+ <member name="M:VueWebApi.Util.EntityHelper.GetDateTime(System.Object,System.DateTime)">
+ <summary>
+ 浠庢暟鎹簮涓� 鑾峰彇鏃ユ湡
+ </summary>
+ <param name="source">鏁版嵁婧�</param>
+ <param name="defVal">鑾峰彇澶辫触鏃剁殑榛樿鍊�</param>
+ <returns></returns>
+ </member>
+ <member name="T:ControllerGroupAttribute">
+ <summary>
+ Controller鎻忚堪淇℃伅
+ </summary>
+ </member>
+ <member name="P:ControllerGroupAttribute.GroupName">
+ <summary>
+ 褰撳墠Controller鎵�灞炴ā鍧� 璇风敤涓枃
+ </summary>
+ </member>
+ <member name="P:ControllerGroupAttribute.Useage">
+ <summary>
+ 褰撳墠controller鐢ㄩ�� 璇风敤涓枃
+ </summary>
+ </member>
+ <member name="M:ControllerGroupAttribute.#ctor(System.String,System.String)">
+ <summary>
+ Controller鎻忚堪淇℃伅 鏋勯��
+ </summary>
+ <param name="groupName">妯″潡鍚嶇О</param>
+ <param name="useage">褰撳墠controller鐢ㄩ��</param>
+ </member>
+ <member name="T:HiddenApiAttribute">
+ <summary>
+ 闅愯棌鎺ュ彛锛屼笉鐢熸垚鍒皊wagger鏂囨。灞曠ず
+ </summary>
+ <seealso cref="T:System.Attribute" />
+ </member>
+ <member name="T:HiddenApiFilter">
+ <summary>
+ Class HiddenApiFilter.
+ </summary>
+ <seealso cref="T:Swashbuckle.Swagger.IDocumentFilter" />
+ </member>
+ <member name="M:HiddenApiFilter.Apply(Swashbuckle.Swagger.SwaggerDocument,Swashbuckle.Swagger.SchemaRegistry,System.Web.Http.Description.IApiExplorer)">
+ <summary>
+ 閲嶅啓Apply鏂规硶锛岀Щ闄ら殣钘忔帴鍙g殑鐢熸垚
+ </summary>
+ <param name="swaggerDoc">swagger鏂囨。鏂囦欢</param>
+ <param name="schemaRegistry"></param>
+ <param name="apiExplorer">api鎺ュ彛闆嗗悎</param>
+ </member>
+ <member name="T:HttpAuthHeaderFilter">
+ <summary>
+ swagger 澧炲姞 AUTH 閫夐」
+ </summary>
+ </member>
+ <member name="M:HttpAuthHeaderFilter.Apply(Swashbuckle.Swagger.Operation,Swashbuckle.Swagger.SchemaRegistry,System.Web.Http.Description.ApiDescription)">
+ <summary>
+ 搴旂敤
+ </summary>
+ <param name="operation"></param>
+ <param name="schemaRegistry"></param>
+ <param name="apiDescription"></param>
+ </member>
+ <member name="T:SwaggerControllerDescProvider">
+ <summary>
+ swagger鏄剧ず鎺у埗鍣ㄧ殑鎻忚堪
+ </summary>
+ </member>
+ <member name="M:SwaggerControllerDescProvider.#ctor(Swashbuckle.Swagger.ISwaggerProvider,System.String)">
+ <summary>
+
+ </summary>
+ <param name="swaggerProvider"></param>
+ <param name="xml">xml鏂囨。璺緞</param>
+ </member>
+ <member name="M:SwaggerControllerDescProvider.GetSwagger(System.String,System.String)">
+ <summary>
+ Gets the swagger.
+ </summary>
+ <param name="rootUrl">The root URL.</param>
+ <param name="apiVersion">The API version.</param>
+ <returns>SwaggerDocument.</returns>
+ </member>
+ <member name="M:SwaggerControllerDescProvider.GetControllerDesc">
+ <summary>
+ 浠嶢PI鏂囨。涓鍙栨帶鍒跺櫒鎻忚堪
+ </summary>
+ <returns>鎵�鏈夋帶鍒跺櫒鎻忚堪</returns>
+ </member>
+ </members>
+</doc>
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/WebActivatorEx.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/WebActivatorEx.dll
new file mode 100644
index 0000000..701097f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/WebActivatorEx.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/WebGrease.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/WebGrease.dll
new file mode 100644
index 0000000..a6a80d3
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/WebGrease.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/log4net.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/log4net.dll
new file mode 100644
index 0000000..84bf5b6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/log4net.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/netstandard.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/netstandard.dll
new file mode 100644
index 0000000..1f1ab22
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/netstandard.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll
new file mode 100644
index 0000000..702c557
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CSharp.Core.targets b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CSharp.Core.targets
new file mode 100644
index 0000000..6f4fb6c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CSharp.Core.targets
@@ -0,0 +1,135 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="Microsoft.Managed.Core.targets"/>
+
+ <Target Name="CoreCompile"
+ Inputs="$(MSBuildAllProjects);
+ @(Compile);
+ @(_CoreCompileResourceInputs);
+ $(ApplicationIcon);
+ $(AssemblyOriginatorKeyFile);
+ @(ReferencePathWithRefAssemblies);
+ @(CompiledLicenseFile);
+ @(LinkResource);
+ @(EmbeddedDocumentation);
+ $(Win32Resource);
+ $(Win32Manifest);
+ @(CustomAdditionalCompileInputs);
+ $(ResolvedCodeAnalysisRuleSet);
+ @(AdditionalFiles);
+ @(EmbeddedFiles)"
+ Outputs="@(DocFileItem);
+ @(IntermediateAssembly);
+ @(IntermediateRefAssembly);
+ @(_DebugSymbolsIntermediatePath);
+ $(NonExistentFile);
+ @(CustomAdditionalCompileOutputs)"
+ Returns="@(CscCommandLineArgs)"
+ DependsOnTargets="$(CoreCompileDependsOn);_BeforeVBCSCoreCompile">
+ <!-- These two compiler warnings are raised when a reference is bound to a different version
+ than specified in the assembly reference version number. MSBuild raises the same warning in this case,
+ so the compiler warning would be redundant. -->
+ <PropertyGroup Condition="('$(TargetFrameworkVersion)' != 'v1.0') and ('$(TargetFrameworkVersion)' != 'v1.1')">
+ <NoWarn>$(NoWarn);1701;1702</NoWarn>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- To match historical behavior, when inside VS11+ disable the warning from csc.exe indicating that no sources were passed in-->
+ <NoWarn Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(VisualStudioVersion)' != '' AND '$(VisualStudioVersion)' > '10.0'">$(NoWarn);2008</NoWarn>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- If the user has specified AppConfigForCompiler, we'll use it. If they have not, but they set UseAppConfigForCompiler,
+ then we'll use AppConfig -->
+ <AppConfigForCompiler Condition="'$(AppConfigForCompiler)' == '' AND '$(UseAppConfigForCompiler)' == 'true'">$(AppConfig)</AppConfigForCompiler>
+
+ <!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp-->
+ <PdbFile Condition="'$(PdbFile)' == '' AND '$(OutputType)' == 'winmdobj' AND '$(_DebugSymbolsProduced)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
+ </PropertyGroup>
+
+ <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
+ <Csc Condition="'%(_CoreCompileResourceInputs.WithCulture)' != 'true'"
+ AdditionalLibPaths="$(AdditionalLibPaths)"
+ AddModules="@(AddModules)"
+ AdditionalFiles="@(AdditionalFiles)"
+ AllowUnsafeBlocks="$(AllowUnsafeBlocks)"
+ Analyzers="@(Analyzer)"
+ ApplicationConfiguration="$(AppConfigForCompiler)"
+ BaseAddress="$(BaseAddress)"
+ CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)"
+ ChecksumAlgorithm="$(ChecksumAlgorithm)"
+ CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
+ CodePage="$(CodePage)"
+ DebugType="$(DebugType)"
+ DefineConstants="$(DefineConstants)"
+ DelaySign="$(DelaySign)"
+ DisabledWarnings="$(NoWarn)"
+ DocumentationFile="@(DocFileItem)"
+ EmbedAllSources="$(EmbedAllSources)"
+ EmbeddedFiles="@(EmbeddedFiles)"
+ EmitDebugInformation="$(DebugSymbols)"
+ EnvironmentVariables="$(CscEnvironment)"
+ ErrorEndLocation="$(ErrorEndLocation)"
+ ErrorLog="$(ErrorLog)"
+ ErrorReport="$(ErrorReport)"
+ Features="$(Features)"
+ FileAlignment="$(FileAlignment)"
+ GenerateFullPaths="$(GenerateFullPaths)"
+ HighEntropyVA="$(HighEntropyVA)"
+ Instrument="$(Instrument)"
+ KeyContainer="$(KeyContainerName)"
+ KeyFile="$(KeyOriginatorFile)"
+ LangVersion="$(LangVersion)"
+ LinkResources="@(LinkResource)"
+ MainEntryPoint="$(StartupObject)"
+ ModuleAssemblyName="$(ModuleAssemblyName)"
+ NoConfig="true"
+ NoLogo="$(NoLogo)"
+ NoStandardLib="$(NoCompilerStandardLib)"
+ NoWin32Manifest="$(NoWin32Manifest)"
+ Optimize="$(Optimize)"
+ Deterministic="$(Deterministic)"
+ PublicSign="$(PublicSign)"
+ OutputAssembly="@(IntermediateAssembly)"
+ OutputRefAssembly="@(IntermediateRefAssembly)"
+ PdbFile="$(PdbFile)"
+ Platform="$(PlatformTarget)"
+ Prefer32Bit="$(Prefer32Bit)"
+ PreferredUILang="$(PreferredUILang)"
+ ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
+ References="@(ReferencePathWithRefAssemblies)"
+ ReportAnalyzer="$(ReportAnalyzer)"
+ Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)"
+ ResponseFiles="$(CompilerResponseFile)"
+ RuntimeMetadataVersion="$(RuntimeMetadataVersion)"
+ SharedCompilationId="$(SharedCompilationId)"
+ SkipCompilerExecution="$(SkipCompilerExecution)"
+ Sources="@(Compile)"
+ SubsystemVersion="$(SubsystemVersion)"
+ TargetType="$(OutputType)"
+ ToolExe="$(CscToolExe)"
+ ToolPath="$(CscToolPath)"
+ TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
+ UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
+ UseSharedCompilation="$(UseSharedCompilation)"
+ Utf8Output="$(Utf8Output)"
+ VsSessionGuid="$(VsSessionGuid)"
+ WarningLevel="$(WarningLevel)"
+ WarningsAsErrors="$(WarningsAsErrors)"
+ WarningsNotAsErrors="$(WarningsNotAsErrors)"
+ Win32Icon="$(ApplicationIcon)"
+ Win32Manifest="$(Win32Manifest)"
+ Win32Resource="$(Win32Resource)"
+ PathMap="$(PathMap)"
+ SourceLink="$(SourceLink)">
+ <Output TaskParameter="CommandLineArgs" ItemName="CscCommandLineArgs" />
+ </Csc>
+
+ <ItemGroup>
+ <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
+ </ItemGroup>
+
+ <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''" />
+ </Target>
+</Project>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll
new file mode 100644
index 0000000..3bace35
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll
new file mode 100644
index 0000000..0771ae2
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll
new file mode 100644
index 0000000..2f0fb9a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll
new file mode 100644
index 0000000..b37dd9a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.dll
new file mode 100644
index 0000000..e7a6979
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.CodeAnalysis.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll
new file mode 100644
index 0000000..e376a20
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll
new file mode 100644
index 0000000..5ebef7f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Managed.Core.targets b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Managed.Core.targets
new file mode 100644
index 0000000..e209209
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Managed.Core.targets
@@ -0,0 +1,155 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <!--
+ Common targets for managed compilers.
+ -->
+ <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll" />
+
+ <Target Name="ShimReferencePathsWhenCommonTargetsDoesNotUnderstandReferenceAssemblies"
+ BeforeTargets="CoreCompile"
+ Condition="'@(ReferencePathWithRefAssemblies)' == ''">
+ <!--
+ FindReferenceAssembliesForReferences target in Common targets populate this item
+ since dev15.3. The compiler targets may be used (via NuGet package) on earlier MSBuilds.
+ If the ReferencePathWithRefAssemblies item is not populated, just use ReferencePaths
+ (implementation assemblies) as they are.
+
+ Since XAML inner build runs CoreCompile directly (instead of Compile target),
+ it also doesn't invoke FindReferenceAssembliesForReferences listed in CompileDependsOn.
+ In that case we also populate ReferencePathWithRefAssemblies with implementation assemblies.
+ -->
+ <ItemGroup>
+ <ReferencePathWithRefAssemblies Include="@(ReferencePath)" />
+ </ItemGroup>
+ </Target>
+
+ <Target Name="_BeforeVBCSCoreCompile"
+ DependsOnTargets="ShimReferencePathsWhenCommonTargetsDoesNotUnderstandReferenceAssemblies">
+
+ <ItemGroup Condition="'$(TargetingClr2Framework)' == 'true'">
+ <ReferencePathWithRefAssemblies>
+ <EmbedInteropTypes />
+ </ReferencePathWithRefAssemblies>
+ </ItemGroup>
+
+ <!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 -->
+ <PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')">
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+
+ <!-- TODO: Remove this ItemGroup once it has been moved to "_GenerateCompileInputs" target in Microsoft.Common.CurrentVersion.targets.
+ https://github.com/dotnet/roslyn/issues/12223 -->
+ <ItemGroup Condition="('$(AdditionalFileItemNames)' != '')">
+ <AdditionalFileItems Include="$(AdditionalFileItemNames)" />
+ <AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" />
+ </ItemGroup>
+
+ <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
+ <UseSharedCompilation>true</UseSharedCompilation>
+ </PropertyGroup>
+ </Target>
+
+ <!--
+ ========================
+ DeterministicSourcePaths
+ ========================
+
+ Unless specified otherwise enable deterministic source root (PathMap) when building deterministically on CI server, but not for local builds.
+ In order for the debugger to find source files when debugging a locally built binary the PDB must contain original, unmapped local paths.
+ -->
+ <PropertyGroup>
+ <DeterministicSourcePaths Condition="'$(DeterministicSourcePaths)' == '' and '$(Deterministic)' == 'true' and '$(ContinuousIntegrationBuild)' == 'true'">true</DeterministicSourcePaths>
+ </PropertyGroup>
+
+ <!--
+ ==========
+ SourceRoot
+ ==========
+
+ All source files of the project are expected to be located under one of the directories specified by SourceRoot item group.
+ This target collects all SourceRoots from various sources.
+
+ This target calculates final local path for each SourceRoot and sets SourceRoot.MappedPath metadata accordingly.
+ The final path is a path with deterministic prefix when DeterministicSourcePaths is true, and the original path otherwise.
+ In addition, the target validates and deduplicates the SourceRoot items.
+
+ InitializeSourceControlInformation is an msbuild target that ensures the SourceRoot items are populated from source control.
+ The target is available only if SourceControlInformationFeatureSupported is true.
+
+ A consumer of SourceRoot.MappedPath metadata, such as Source Link generator, shall depend on this target.
+ -->
+
+ <Target Name="InitializeSourceRootMappedPaths"
+ DependsOnTargets="_InitializeSourceRootMappedPathsFromSourceControl">
+
+ <ItemGroup Condition="'@(_MappedSourceRoot)' != ''">
+ <_MappedSourceRoot Remove="@(_MappedSourceRoot)" />
+ </ItemGroup>
+
+ <Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots SourceRoots="@(SourceRoot)" Deterministic="$(DeterministicSourcePaths)">
+ <Output TaskParameter="MappedSourceRoots" ItemName="_MappedSourceRoot" />
+ </Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots>
+
+ <ItemGroup>
+ <SourceRoot Remove="@(SourceRoot)" />
+ <SourceRoot Include="@(_MappedSourceRoot)" />
+ </ItemGroup>
+ </Target>
+
+ <!--
+ Declare that target InitializeSourceRootMappedPaths that populates MappedPaths metadata on SourceRoot items is available.
+ -->
+ <PropertyGroup>
+ <SourceRootMappedPathsFeatureSupported>true</SourceRootMappedPathsFeatureSupported>
+ </PropertyGroup>
+
+ <!--
+ If InitializeSourceControlInformation target isn't supported, we just continue without invoking that synchronization target.
+ We'll proceed with SourceRoot (and other source control properties) provided by the user (or blank).
+ -->
+ <Target Name="_InitializeSourceRootMappedPathsFromSourceControl"
+ DependsOnTargets="InitializeSourceControlInformation"
+ Condition="'$(SourceControlInformationFeatureSupported)' == 'true'" />
+
+ <!--
+ =======
+ PathMap
+ =======
+
+ If DeterministicSourcePaths is true sets PathMap based on SourceRoot.MappedPaths.
+
+ This target requires SourceRoot to be initialized in order to calculate the PathMap.
+ If SourceRoot doesn't contain any top-level roots an error is reported.
+ -->
+
+ <Target Name="_SetPathMapFromSourceRoots"
+ DependsOnTargets="InitializeSourceRootMappedPaths"
+ BeforeTargets="CoreCompile"
+ Condition="'$(DeterministicSourcePaths)' == 'true'">
+
+ <ItemGroup>
+ <_TopLevelSourceRoot Include="@(SourceRoot)" Condition="'%(SourceRoot.NestedRoot)' == ''"/>
+ </ItemGroup>
+
+ <PropertyGroup Condition="'@(_TopLevelSourceRoot)' != ''">
+ <!-- TODO: Report error/warning if /pathmap doesn't cover all emitted source paths: https://github.com/dotnet/roslyn/issues/23969 -->
+
+ <!-- TODO: PathMap should accept and ignore empty mapping: https://github.com/dotnet/roslyn/issues/23523 -->
+ <PathMap Condition="'$(PathMap)' != ''">,$(PathMap)</PathMap>
+
+ <!--
+ Prepend the SourceRoot.MappedPath values to PathMap, if it already has a value.
+ For each emitted source path the compiler applies the first mapping that matches the path.
+ PathMap values set previously will thus only be applied if the mapping provided by
+ SourceRoot.MappedPath doesn't match. Since SourceRoot.MappedPath is also used by SourceLink
+ preferring it over manually set PathMap ensures that PathMap is consistent with SourceLink.
+
+ TODO: quote the paths to avoid misinterpreting ',' and '=' in them as separators,
+ but quoting doesn't currently work (see https://github.com/dotnet/roslyn/issues/22835).
+ -->
+ <PathMap>@(_TopLevelSourceRoot->'%(Identity)=%(MappedPath)', ',')$(PathMap)</PathMap>
+ </PropertyGroup>
+ </Target>
+
+</Project>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.VisualBasic.Core.targets b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.VisualBasic.Core.targets
new file mode 100644
index 0000000..2e7cd91
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.VisualBasic.Core.targets
@@ -0,0 +1,132 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="Microsoft.Managed.Core.targets"/>
+
+ <Target Name="CoreCompile"
+ Inputs="$(MSBuildAllProjects);
+ @(Compile);
+ @(_CoreCompileResourceInputs);
+ $(ApplicationIcon);
+ $(AssemblyOriginatorKeyFile);
+ @(ReferencePathWithRefAssemblies);
+ @(CompiledLicenseFile);
+ @(LinkResource);
+ @(EmbeddedDocumentation);
+ $(Win32Resource);
+ $(Win32Manifest);
+ @(CustomAdditionalCompileInputs);
+ $(ResolvedCodeAnalysisRuleSet);
+ @(AdditionalFiles);
+ @(EmbeddedFiles)"
+ Outputs="@(DocFileItem);
+ @(IntermediateAssembly);
+ @(IntermediateRefAssembly);
+ @(_DebugSymbolsIntermediatePath);
+ $(NonExistentFile);
+ @(CustomAdditionalCompileOutputs)"
+ Returns="@(VbcCommandLineArgs)"
+ DependsOnTargets="$(CoreCompileDependsOn);_BeforeVBCSCoreCompile">
+ <PropertyGroup>
+ <_NoWarnings Condition="'$(WarningLevel)' == '0'">true</_NoWarnings>
+ <_NoWarnings Condition="'$(WarningLevel)' == '1'">false</_NoWarnings>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp-->
+ <PdbFile Condition="'$(PdbFile)' == '' AND '$(OutputType)' == 'winmdobj' AND '$(DebugSymbols)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
+ </PropertyGroup>
+
+ <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
+ <Vbc Condition="'%(_CoreCompileResourceInputs.WithCulture)' != 'true'"
+ AdditionalLibPaths="$(AdditionalLibPaths)"
+ AddModules="@(AddModules)"
+ AdditionalFiles="@(AdditionalFiles)"
+ Analyzers="@(Analyzer)"
+ BaseAddress="$(BaseAddress)"
+ ChecksumAlgorithm="$(ChecksumAlgorithm)"
+ CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
+ CodePage="$(CodePage)"
+ DebugType="$(DebugType)"
+ DefineConstants="$(FinalDefineConstants)"
+ DelaySign="$(DelaySign)"
+ DisabledWarnings="$(NoWarn)"
+ DocumentationFile="@(DocFileItem)"
+ EmbedAllSources="$(EmbedAllSources)"
+ EmbeddedFiles="@(EmbeddedFiles)"
+ EmitDebugInformation="$(DebugSymbols)"
+ EnvironmentVariables="$(VbcEnvironment)"
+ ErrorLog="$(ErrorLog)"
+ ErrorReport="$(ErrorReport)"
+ Features="$(Features)"
+ FileAlignment="$(FileAlignment)"
+ GenerateDocumentation="$(GenerateDocumentation)"
+ HighEntropyVA="$(HighEntropyVA)"
+ Imports="@(Import)"
+ Instrument="$(Instrument)"
+ KeyContainer="$(KeyContainerName)"
+ KeyFile="$(KeyOriginatorFile)"
+ LangVersion="$(LangVersion)"
+ LinkResources="@(LinkResource)"
+ MainEntryPoint="$(StartupObject)"
+ ModuleAssemblyName="$(ModuleAssemblyName)"
+ NoConfig="true"
+ NoStandardLib="$(NoCompilerStandardLib)"
+ NoVBRuntimeReference="$(NoVBRuntimeReference)"
+ NoWarnings="$(_NoWarnings)"
+ NoWin32Manifest="$(NoWin32Manifest)"
+ Optimize="$(Optimize)"
+ Deterministic="$(Deterministic)"
+ PublicSign="$(PublicSign)"
+ OptionCompare="$(OptionCompare)"
+ OptionExplicit="$(OptionExplicit)"
+ OptionInfer="$(OptionInfer)"
+ OptionStrict="$(OptionStrict)"
+ OptionStrictType="$(OptionStrictType)"
+ OutputAssembly="@(IntermediateAssembly)"
+ OutputRefAssembly="@(IntermediateRefAssembly)"
+ PdbFile="$(PdbFile)"
+ Platform="$(PlatformTarget)"
+ Prefer32Bit="$(Prefer32Bit)"
+ PreferredUILang="$(PreferredUILang)"
+ ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
+ References="@(ReferencePathWithRefAssemblies)"
+ RemoveIntegerChecks="$(RemoveIntegerChecks)"
+ ReportAnalyzer="$(ReportAnalyzer)"
+ Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)"
+ ResponseFiles="$(CompilerResponseFile)"
+ RootNamespace="$(RootNamespace)"
+ RuntimeMetadataVersion="$(RuntimeMetadataVersion)"
+ SdkPath="$(FrameworkPathOverride)"
+ SharedCompilationId="$(SharedCompilationId)"
+ SkipCompilerExecution="$(SkipCompilerExecution)"
+ Sources="@(Compile)"
+ SubsystemVersion="$(SubsystemVersion)"
+ TargetCompactFramework="$(TargetCompactFramework)"
+ TargetType="$(OutputType)"
+ ToolExe="$(VbcToolExe)"
+ ToolPath="$(VbcToolPath)"
+ TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
+ UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
+ UseSharedCompilation="$(UseSharedCompilation)"
+ Utf8Output="$(Utf8Output)"
+ VBRuntimePath="$(VBRuntimePath)"
+ Verbosity="$(VbcVerbosity)"
+ VsSessionGuid="$(VsSessionGuid)"
+ WarningsAsErrors="$(WarningsAsErrors)"
+ WarningsNotAsErrors="$(WarningsNotAsErrors)"
+ Win32Icon="$(ApplicationIcon)"
+ Win32Manifest="$(Win32Manifest)"
+ Win32Resource="$(Win32Resource)"
+ VBRuntime="$(VBRuntime)"
+ PathMap="$(PathMap)"
+ SourceLink="$(SourceLink)">
+ <Output TaskParameter="CommandLineArgs" ItemName="VbcCommandLineArgs" />
+ </Vbc>
+ <ItemGroup>
+ <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
+ </ItemGroup>
+
+ <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''" />
+ </Target>
+</Project>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Win32.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Win32.Primitives.dll
new file mode 100644
index 0000000..d7b2a2c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/Microsoft.Win32.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.AppContext.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.AppContext.dll
new file mode 100644
index 0000000..5cb9dfb
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.AppContext.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Collections.Immutable.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Collections.Immutable.dll
new file mode 100644
index 0000000..7e8bbed
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Collections.Immutable.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Console.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Console.dll
new file mode 100644
index 0000000..f47e609
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Console.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.DiagnosticSource.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.DiagnosticSource.dll
new file mode 100644
index 0000000..eafb192
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.DiagnosticSource.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.FileVersionInfo.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.FileVersionInfo.dll
new file mode 100644
index 0000000..77248bf
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.FileVersionInfo.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.StackTrace.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.StackTrace.dll
new file mode 100644
index 0000000..5ec85f3
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Diagnostics.StackTrace.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Globalization.Calendars.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Globalization.Calendars.dll
new file mode 100644
index 0000000..137ecf8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Globalization.Calendars.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.ZipFile.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.ZipFile.dll
new file mode 100644
index 0000000..23a12b8
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.ZipFile.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.dll
new file mode 100644
index 0000000..f8468a6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.Compression.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.Primitives.dll
new file mode 100644
index 0000000..ad9c238
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.dll
new file mode 100644
index 0000000..7c43977
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.IO.FileSystem.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Http.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Http.dll
new file mode 100644
index 0000000..900e64e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Http.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Sockets.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Sockets.dll
new file mode 100644
index 0000000..4d01203
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Net.Sockets.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Reflection.Metadata.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Reflection.Metadata.dll
new file mode 100644
index 0000000..49b7997
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Reflection.Metadata.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Runtime.InteropServices.RuntimeInformation.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Runtime.InteropServices.RuntimeInformation.dll
new file mode 100644
index 0000000..360e92a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Runtime.InteropServices.RuntimeInformation.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Algorithms.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Algorithms.dll
new file mode 100644
index 0000000..fa8ad65
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Algorithms.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Encoding.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Encoding.dll
new file mode 100644
index 0000000..de1ec5e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Encoding.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Primitives.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Primitives.dll
new file mode 100644
index 0000000..16b2446
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.Primitives.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.X509Certificates.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.X509Certificates.dll
new file mode 100644
index 0000000..e6af960
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Security.Cryptography.X509Certificates.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Text.Encoding.CodePages.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Text.Encoding.CodePages.dll
new file mode 100644
index 0000000..0f2f447
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Text.Encoding.CodePages.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Threading.Tasks.Extensions.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..a1234ce
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Threading.Tasks.Extensions.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.ValueTuple.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.ValueTuple.dll
new file mode 100644
index 0000000..78a1851
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.ValueTuple.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.ReaderWriter.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.ReaderWriter.dll
new file mode 100644
index 0000000..3d5103b
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.ReaderWriter.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.XDocument.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.XDocument.dll
new file mode 100644
index 0000000..ada40e0
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.XDocument.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.dll
new file mode 100644
index 0000000..86a25a3
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XPath.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XmlDocument.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XmlDocument.dll
new file mode 100644
index 0000000..cf138d3
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/System.Xml.XmlDocument.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe
new file mode 100644
index 0000000..e50edac
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe.config b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe.config
new file mode 100644
index 0000000..4cce609
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/VBCSCompiler.exe.config
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
+ </startup>
+ <runtime>
+ <gcServer enabled="true" />
+ <gcConcurrent enabled="false" />
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Pipes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.4.3.0" newVersion="1.4.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Principal.Windows" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+ <appSettings>
+ <!-- Number of seconds with no activity before the server times out and closes.
+ Set to -1 to never shut down the server. -->
+ <add key="keepalive" value="600" />
+ </appSettings>
+</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe
new file mode 100644
index 0000000..4893d9e
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe.config b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe.config
new file mode 100644
index 0000000..6c626ef
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.exe.config
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
+ </startup>
+ <runtime>
+ <gcServer enabled="true" />
+ <gcConcurrent enabled="false" />
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Pipes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.4.3.0" newVersion="1.4.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Principal.Windows" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.rsp b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.rsp
new file mode 100644
index 0000000..ce72ac6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csc.rsp
@@ -0,0 +1,46 @@
+锘�# Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+# This file contains command-line options that the C#
+# command line compiler (CSC) will process as part
+# of every compilation, unless the "/noconfig" option
+# is specified.
+
+# Reference the common Framework libraries
+/r:Accessibility.dll
+/r:Microsoft.CSharp.dll
+/r:System.Configuration.dll
+/r:System.Configuration.Install.dll
+/r:System.Core.dll
+/r:System.Data.dll
+/r:System.Data.DataSetExtensions.dll
+/r:System.Data.Linq.dll
+/r:System.Data.OracleClient.dll
+/r:System.Deployment.dll
+/r:System.Design.dll
+/r:System.DirectoryServices.dll
+/r:System.dll
+/r:System.Drawing.Design.dll
+/r:System.Drawing.dll
+/r:System.EnterpriseServices.dll
+/r:System.Management.dll
+/r:System.Messaging.dll
+/r:System.Runtime.Remoting.dll
+/r:System.Runtime.Serialization.dll
+/r:System.Runtime.Serialization.Formatters.Soap.dll
+/r:System.Security.dll
+/r:System.ServiceModel.dll
+/r:System.ServiceModel.Web.dll
+/r:System.ServiceProcess.dll
+/r:System.Transactions.dll
+/r:System.Web.dll
+/r:System.Web.Extensions.Design.dll
+/r:System.Web.Extensions.dll
+/r:System.Web.Mobile.dll
+/r:System.Web.RegularExpressions.dll
+/r:System.Web.Services.dll
+/r:System.Windows.Forms.dll
+/r:System.Workflow.Activities.dll
+/r:System.Workflow.ComponentModel.dll
+/r:System.Workflow.Runtime.dll
+/r:System.Xml.dll
+/r:System.Xml.Linq.dll
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe
new file mode 100644
index 0000000..6d9990c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe.config b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe.config
new file mode 100644
index 0000000..c29baa7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.exe.config
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
+ </startup>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Pipes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.4.3.0" newVersion="1.4.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Principal.Windows" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.rsp b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.rsp
new file mode 100644
index 0000000..2ec6fc9
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/csi.rsp
@@ -0,0 +1,14 @@
+锘�/r:System
+/r:System.Core
+/r:Microsoft.CSharp
+/r:System.ValueTuple.dll
+/u:System
+/u:System.IO
+/u:System.Collections.Generic
+/u:System.Console
+/u:System.Diagnostics
+/u:System.Dynamic
+/u:System.Linq
+/u:System.Linq.Expressions
+/u:System.Text
+/u:System.Threading.Tasks
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe
new file mode 100644
index 0000000..2c520a9
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe.config b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe.config
new file mode 100644
index 0000000..6c626ef
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.exe.config
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
+ </startup>
+ <runtime>
+ <gcServer enabled="true" />
+ <gcConcurrent enabled="false" />
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.CodeAnalysis.VisualBasic" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Pipes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.4.3.0" newVersion="1.4.3.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Principal.Windows" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.rsp b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.rsp
new file mode 100644
index 0000000..8350880
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/roslyn/vbc.rsp
@@ -0,0 +1,55 @@
+锘�# Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+# This file contains command-line options that the VB
+# command line compiler (VBC) will process as part
+# of every compilation, unless the "/noconfig" option
+# is specified.
+
+# Reference the common Framework libraries
+/r:Accessibility.dll
+/r:System.Configuration.dll
+/r:System.Configuration.Install.dll
+/r:System.Data.dll
+/r:System.Data.OracleClient.dll
+/r:System.Deployment.dll
+/r:System.Design.dll
+/r:System.DirectoryServices.dll
+/r:System.dll
+/r:System.Drawing.Design.dll
+/r:System.Drawing.dll
+/r:System.EnterpriseServices.dll
+/r:System.Management.dll
+/r:System.Messaging.dll
+/r:System.Runtime.Remoting.dll
+/r:System.Runtime.Serialization.Formatters.Soap.dll
+/r:System.Security.dll
+/r:System.ServiceProcess.dll
+/r:System.Transactions.dll
+/r:System.Web.dll
+/r:System.Web.Mobile.dll
+/r:System.Web.RegularExpressions.dll
+/r:System.Web.Services.dll
+/r:System.Windows.Forms.dll
+/r:System.XML.dll
+
+/r:System.Workflow.Activities.dll
+/r:System.Workflow.ComponentModel.dll
+/r:System.Workflow.Runtime.dll
+/r:System.Runtime.Serialization.dll
+/r:System.ServiceModel.dll
+
+/r:System.Core.dll
+/r:System.Xml.Linq.dll
+/r:System.Data.Linq.dll
+/r:System.Data.DataSetExtensions.dll
+/r:System.Web.Extensions.dll
+/r:System.Web.Extensions.Design.dll
+/r:System.ServiceModel.Web.dll
+
+# Import System and Microsoft.VisualBasic
+/imports:System
+/imports:Microsoft.VisualBasic
+/imports:System.Linq
+/imports:System.Xml.Linq
+
+/optioninfer+
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.Core.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.Core.resources.dll
new file mode 100644
index 0000000..caed32f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.Core.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.SystemWeb.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.SystemWeb.resources.dll
new file mode 100644
index 0000000..af03dac
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/Microsoft.AspNet.SignalR.SystemWeb.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Net.Http.Formatting.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Net.Http.Formatting.resources.dll
new file mode 100644
index 0000000..7bea27f
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Net.Http.Formatting.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Helpers.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Helpers.resources.dll
new file mode 100644
index 0000000..0d2fa4c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Helpers.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.WebHost.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.WebHost.resources.dll
new file mode 100644
index 0000000..7e40496
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.WebHost.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.resources.dll
new file mode 100644
index 0000000..d7ffdde
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Http.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Mvc.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Mvc.resources.dll
new file mode 100644
index 0000000..42d9e8c
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Mvc.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Optimization.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Optimization.resources.dll
new file mode 100644
index 0000000..141ffc1
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Optimization.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Razor.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Razor.resources.dll
new file mode 100644
index 0000000..6489182
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.Razor.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll
new file mode 100644
index 0000000..3c5d33d
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Razor.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Razor.resources.dll
new file mode 100644
index 0000000..991f9d7
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.Razor.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.resources.dll b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.resources.dll
new file mode 100644
index 0000000..0e72f44
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/zh-Hans/System.Web.WebPages.resources.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/favicon.ico b/VueWebApi/obj/Release/Package/PackageTmp/favicon.ico
new file mode 100644
index 0000000..a3a7999
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/favicon.ico
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.eot b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000..b93a495
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.eot
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.svg b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000..94fb549
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,288 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
+<font-face units-per-em="1200" ascent="960" descent="-240" />
+<missing-glyph horiz-adv-x="500" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="400" />
+<glyph unicode=" " />
+<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
+<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode=" " />
+<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
+<glyph unicode=" " horiz-adv-x="650" />
+<glyph unicode=" " horiz-adv-x="1300" />
+<glyph unicode=" " horiz-adv-x="650" />
+<glyph unicode=" " horiz-adv-x="1300" />
+<glyph unicode=" " horiz-adv-x="433" />
+<glyph unicode=" " horiz-adv-x="325" />
+<glyph unicode=" " horiz-adv-x="216" />
+<glyph unicode=" " horiz-adv-x="216" />
+<glyph unicode=" " horiz-adv-x="162" />
+<glyph unicode=" " horiz-adv-x="260" />
+<glyph unicode=" " horiz-adv-x="72" />
+<glyph unicode=" " horiz-adv-x="260" />
+<glyph unicode=" " horiz-adv-x="325" />
+<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
+<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
+<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
+<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
+<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
+<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
+<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
+<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
+<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
+<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
+<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
+<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
+<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
+<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
+<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
+<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
+<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
+<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
+<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
+<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
+<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
+<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
+<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
+<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
+<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
+<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
+<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
+<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
+<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
+<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
+<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
+<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
+<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
+<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
+<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
+<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
+<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
+<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
+<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
+<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
+<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
+<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
+<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
+<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
+<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
+<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
+<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
+<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
+<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
+<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
+<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
+<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
+<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
+<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
+<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
+<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
+<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
+<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
+<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
+<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
+<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
+<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
+<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
+<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
+<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
+<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
+<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
+<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
+<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
+<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
+<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
+<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
+<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
+<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
+<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
+<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
+<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
+<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
+<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
+<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
+<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
+<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
+<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
+<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
+<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
+<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
+<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
+<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
+<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
+<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
+<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
+<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
+<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
+<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
+<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
+<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
+<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
+<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
+<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
+<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
+<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
+<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
+<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
+<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
+<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
+<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
+<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
+<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
+<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
+<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
+<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
+<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
+<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
+<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
+<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
+<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
+<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
+<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
+<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
+<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
+<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
+<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
+<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
+<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
+<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
+<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
+<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
+<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
+<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
+<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
+<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
+<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
+<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
+<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
+<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
+<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
+<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
+<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
+<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
+<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
+<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
+<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
+<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
+<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
+<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
+<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
+<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
+<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
+<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
+<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
+<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
+<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
+<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
+<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
+<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
+<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
+<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
+<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
+<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
+<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
+<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
+<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
+<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
+</font>
+</defs></svg>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.ttf b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000..1413fc6
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.ttf
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000..9e61285
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff2 b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff2
new file mode 100644
index 0000000..64539b5
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/fonts/glyphicons-halflings-regular.woff2
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/grf/Rework.frx b/VueWebApi/obj/Release/Package/PackageTmp/grf/Rework.frx
new file mode 100644
index 0000000..0af314a
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/grf/Rework.frx
@@ -0,0 +1,89 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Report ScriptLanguage="CSharp" ReportInfo.Created="10/16/2018 18:08:59" ReportInfo.Modified="07/26/2022 14:37:33" ReportInfo.CreatorVersion="2014.2.3.0" PrintSettings.ShowDialog="false">
+ <Dictionary>
+ <XmlDataConnection Name="Connection" ConnectionString="rijcmlqmmfdjkQxfe1iwShBNGpud2ngqn0kQFUwlWvLE3W/iceu9kzGbruXJ5I6r8tOQvypOEky6erzZZQtihg2HYGClg==">
+ <TableDataSource Name="Table11" Alias="Table1" DataType="System.Int32" Enabled="true" TableName="Table1">
+ <Column Name="SEQ" Alias="seq" DataType="System.String" PropName="WO"/>
+ <Column Name="WO_CODE" Alias="wo_code" DataType="System.String" PropName="QTY"/>
+ <Column Name="PARTCODE" Alias="paetcode" DataType="System.String" PropName="PN_NAME"/>
+ <Column Name="PARTNAME" Alias="partname" DataType="System.String" PropName="PN_DESC"/>
+ <Column Name="PN_PARTNUMBER" Enabled="false" DataType="System.String" PropName="PN_PARTNAME"/>
+ <Column Name="PARTSPEC" Alias="partspec" DataType="System.String" PropName="Column"/>
+ <Column Name="ROUTENAME" Alias="routename" DataType="System.String" PropName="Column"/>
+ <Column Name="ORDERQTY" Alias="orderqty" DataType="System.String" PropName="Column"/>
+ <Column Name="LM_USER" Alias="lm_user" DataType="System.String" PropName="Column"/>
+ <Column Name="LM_DATE" Alias="lm_date" DataType="System.String" PropName="Column"/>
+ <Column Name="STEPCODE" Alias="stepcode" DataType="System.String" PropName="Column"/>
+ <Column Name="STEPNAME" Alias="stepname" DataType="System.String" PropName="Column1"/>
+ <Column Name="PLAN_QTY" Alias="plan_qty" DataType="System.String" PropName="Column2"/>
+ <Column Name="GOOD_QTY" Alias="good_qty" DataType="System.String" PropName="Column"/>
+ <Column Name="NG_QTY" Alias="ng_qty" DataType="System.String" PropName="Column1"/>
+ <Column Name="STEPQRCODE" Alias="stepqrcode" DataType="System.String" PropName="Column"/>
+ </TableDataSource>
+ </XmlDataConnection>
+ </Dictionary>
+ <ReportPage Name="Page1" RawPaperSize="9">
+ <ReportTitleBand Name="ReportTitle1" Width="718.2" Height="160.65">
+ <BarcodeObject Name="Barcode1" Left="585.9" Top="18.9" Width="106.55" Height="97.1" AutoSize="false" DataColumn="Table1.wo_code" Text="" ShowText="false" Barcode="QR Code" Barcode.ErrorCorrection="L" Barcode.Encoding="UTF8" Barcode.QuietZone="true"/>
+ <TextObject Name="Text7" Left="253.26" Top="3.78" Width="226.8" Height="28.35" Text="娴佺▼鍗�" HorzAlign="Center" VertAlign="Center" Font="寰蒋闆呴粦, 14.25pt"/>
+ <TextObject Name="Text54" Left="81.95" Top="37.8" Width="141.75" Height="18.9" Text="[Table1.wo_code]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text3" Left="81.95" Top="60.48" Width="141.75" Height="18.9" Text="[Table1.partname]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text39" Left="318.2" Top="37.8" Width="141.75" Height="18.9" Text="[Table1.paetcode]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text48" Left="18.9" Top="37.8" Width="66.15" Height="18.9" Text="宸ュ崟缂栧彿锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text1" Left="18.9" Top="60.48" Width="66.15" Height="18.9" Text="浜у搧鍚嶇О锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text38" Left="255.15" Top="37.8" Width="66.15" Height="18.9" Text="浜у搧缂栫爜锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text55" Left="81.95" Top="85.05" Width="141.75" Height="18.9" Text="[Table1.orderqty]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text56" Left="18.9" Top="85.05" Width="66.15" Height="18.9" Text="宸ュ崟鏁伴噺锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text57" Left="318.2" Top="56.7" Width="141.75" Height="18.9" Text="[Table1.partspec]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text58" Left="255.15" Top="56.7" Width="66.15" Height="18.9" Text="浜у搧瑙勬牸锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text59" Left="318.2" Top="85.05" Width="141.75" Height="18.9" Text="[Table1.routename]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text60" Left="255.15" Top="85.05" Width="66.15" Height="18.9" Text="宸ヨ壓璺嚎锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text61" Left="81.95" Top="113.4" Width="141.75" Height="18.9" Text="[Table1.lm_user]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text62" Left="18.9" Top="113.4" Width="66.15" Height="18.9" Text="鎵撳嵃浜哄憳锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text63" Left="318.2" Top="113.4" Width="141.75" Height="18.9" Text="[Table1.lm_date]" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ <TextObject Name="Text64" Left="255.15" Top="113.4" Width="66.15" Height="18.9" Text="鎵撳嵃鏃堕棿锛�" AutoWidth="true" HorzAlign="Right" VertAlign="Center" Font="寰蒋闆呴粦, 8pt"/>
+ </ReportTitleBand>
+ <PageHeaderBand Name="PageHeader1" Top="164.65" Width="718.2" Height="35.91">
+ <TableObject Name="Table1" Width="718.17" Height="35.91" Border.Lines="All">
+ <TableColumn Name="Column1" Width="73.23"/>
+ <TableColumn Name="Column2" Width="92.13"/>
+ <TableColumn Name="Column3" Width="129.93"/>
+ <TableColumn Name="Column4" Width="82.68"/>
+ <TableColumn Name="Column45" Width="94.5"/>
+ <TableColumn Name="Column46" Width="94.5"/>
+ <TableColumn Name="Column47" Width="151.2"/>
+ <TableRow Name="Row1" Height="35.91">
+ <TableCell Name="Cell1" Border.Lines="Right" Fill.Color="Gainsboro" Text="宸ュ簭鍙�" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell2" Border.Lines="Right" Fill.Color="Gainsboro" Text="宸ュ簭浜岀淮鐮�" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell3" Border.Lines="Right" Fill.Color="Gainsboro" Text="宸ュ簭" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell4" Border.Lines="Right" Fill.Color="Gainsboro" Text="鍔犲伐鏁伴噺" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell221" Border.Lines="Right" Fill.Color="Gainsboro" Text="鍚堟牸鏁伴噺" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell222" Border.Lines="Right" Fill.Color="Gainsboro" Text="涓嶈壇鏁伴噺" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell223" Fill.Color="Gainsboro" Text="澶囨敞" HorzAlign="Center" VertAlign="Center"/>
+ </TableRow>
+ </TableObject>
+ </PageHeaderBand>
+ <DataBand Name="Data1" Top="204.56" Width="718.2" Height="45.36" DataSource="Table11">
+ <TableObject Name="Table12" Width="718.17" Height="45.36" Border.Lines="All">
+ <TableColumn Name="Column48" Width="73.23"/>
+ <TableColumn Name="Column49" Width="92.13"/>
+ <TableColumn Name="Column50" Width="129.93"/>
+ <TableColumn Name="Column51" Width="82.68"/>
+ <TableColumn Name="Column52" Width="94.5"/>
+ <TableColumn Name="Column53" Width="94.5"/>
+ <TableColumn Name="Column54" Width="151.2"/>
+ <TableRow Name="Row2" Height="45.36">
+ <TableCell Name="Cell224" Border.Lines="Right" Text="[Table1.seq]" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell225" Border.Lines="Right" HorzAlign="Center" VertAlign="Center">
+ <BarcodeObject Name="Barcode2" Left="18.9" Top="3.02" Width="60.48" Height="41.58" AutoSize="false" DataColumn="Table1.stepqrcode" Text="" ShowText="false" Barcode="QR Code" Barcode.ErrorCorrection="L" Barcode.Encoding="UTF8" Barcode.QuietZone="true"/>
+ </TableCell>
+ <TableCell Name="Cell226" Border.Lines="Right" Text="[Table1.stepname]" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell227" Border.Lines="Right" Text="[Table1.plan_qty]" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell228" Border.Lines="Right" Text="[Table1.good_qty]" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell229" Border.Lines="Right" Text="[Table1.ng_qty]" HorzAlign="Center" VertAlign="Center"/>
+ <TableCell Name="Cell230" HorzAlign="Center" VertAlign="Center"/>
+ </TableRow>
+ </TableObject>
+ </DataBand>
+ </ReportPage>
+</Report>
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225.grf" "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225.grf"
new file mode 100644
index 0000000..c569fc1
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225.grf"
@@ -0,0 +1,347 @@
+锘縊bject Report
+ Version='6.0.0.6'
+ Title='鐢熶骇浠诲姟鍗�'
+ PrintAsDesignPaper=F
+ Object Font
+ Name='瀹嬩綋'
+ Size=135000,0
+ Weight=400
+ Charset=134
+ End
+ Object Printer
+ Size=11
+ Width=14.8
+ Height=21
+ Oriention=Landscape
+ LeftMargin=0
+ TopMargin=0
+ RightMargin=0
+ BottomMargin=0
+ End
+ Object DetailGrid
+ CenterView=T
+ ShowColLine=F
+ ShowRowLine=F
+ Object Border
+ Styles=[]
+ End
+ Object Recordset
+ Items Field
+ Item
+ Name='PO'
+ End
+ Item
+ Name='浜у搧浠e彿'
+ End
+ Item
+ Name='缂栧彿'
+ End
+ Item
+ Name='鏁伴噺'
+ End
+ Item
+ Name='鏉$爜缂栧彿'
+ End
+ Item
+ Name='浜у搧鍨嬪彿'
+ End
+ Item
+ Name='棰滆壊'
+ End
+ Item
+ Name='妯″叿缂栧彿'
+ End
+ Item
+ Name='鍑�閲�'
+ Type=Currency
+ Format='0.#########;;#'
+ End
+ Item
+ Name='姣涢噸'
+ Type=Currency
+ Format='0.#########;;#'
+ End
+ Item
+ Name='鍠傛枡鎵瑰彿'
+ End
+ Item
+ Name='鎵瑰彿'
+ End
+ Item
+ Name='鏃ユ湡'
+ Type=DateTime
+ Format='yyyy-MM'
+ End
+ Item
+ Name='鍝佺墝'
+ End
+ Item
+ Name='瀹㈡埛鍨嬪彿'
+ End
+ Item
+ Name='鍘嬫満鍨嬪彿'
+ End
+ End
+ End
+ Items Column
+ Item
+ Name='Column3'
+ Width=21.0079
+ End
+ End
+ Object ColumnContent
+ Height=14.7902
+ RowsPerPage=1
+ Items ColumnContentCell
+ Item
+ Column='Column3'
+ FreeCell=T
+ Items Control
+ Item
+ Type=FreeGrid
+ Name='FreeGrid1'
+ Left=0.185208
+ Top=0.264583
+ Object Border
+ Styles=[DrawLeft|DrawTop|DrawRight|DrawBottom]
+ End
+ ColumnCount=11
+ RowCount=20
+ Items FreeGridColumn
+ Item[1]
+ Width=1.85208
+ End
+ Item[2]
+ Width=1.66688
+ End
+ Item[3]
+ Width=1.85208
+ End
+ Item[4]
+ Width=1.905
+ End
+ Item[5]
+ Width=2.16958
+ End
+ Item[6]
+ Width=1.61396
+ End
+ Item[7]
+ Width=1.85208
+ End
+ Item[8]
+ Width=2.35479
+ End
+ Item[9]
+ Width=2.03729
+ End
+ Item[10]
+ Width=1.64042
+ End
+ Item[11]
+ Width=1.48167
+ End
+ End
+ Items FreeGridRow
+ Item[1]
+ Height=1
+ End
+ Item[2]
+ Height=0.8
+ End
+ Item[3]
+ Height=0.8
+ End
+ Item[5]
+ Height=0.8
+ End
+ Item[6]
+ Height=0.7
+ End
+ Item[8]
+ Height=0.7
+ End
+ Item[9]
+ Height=0.7
+ End
+ Item[10]
+ Height=0.7
+ End
+ Item[11]
+ Height=0.7
+ End
+ Item[12]
+ Height=0.7
+ End
+ Item[13]
+ Height=0.7
+ End
+ Item[14]
+ Height=0.7
+ End
+ Item[15]
+ Height=0.7
+ End
+ Item[16]
+ Height=0.7
+ End
+ Item[17]
+ Height=0.7
+ End
+ Item[18]
+ Height=0.7
+ End
+ Item[19]
+ Height=0.7
+ End
+ Item[20]
+ Height=0.7
+ End
+ End
+ Items FreeGridCell
+ Item[1,1]
+ TextAlign=MiddleCenter
+ Text='鏉窞鏅鸿绉戞妧鏈夐檺鍏徃'
+ ColSpan=8
+ End
+ Item[1,9]
+ FreeCell=T
+ Items Control
+ Item
+ Type=Barcode
+ Name='Barcode6'
+ Left=1.5875
+ Width=2.01083
+ Height=1.79917
+ BarcodeType=QRCode
+ CaptionPosition=None
+ Text='[#鏉$爜缂栧彿#]'
+ End
+ Item
+ Type=FieldBox
+ Name='FieldBox1'
+ Left=0.608542
+ Top=2.01083
+ Width=3.99521
+ Height=0.396875
+ End
+ End
+ ColSpan=3
+ RowSpan=3
+ End
+ Item[2,1]
+ TextAlign=MiddleCenter
+ Text='浜у搧娴佷紶鍗�'
+ ColSpan=8
+ End
+ Item[3,1]
+ Text='PO锛�'
+ ColSpan=2
+ End
+ Item[3,3]
+ Text='[#PO#]'
+ ColSpan=2
+ End
+ Item[3,5]
+ ColSpan=4
+ End
+ Item[4,1]
+ Text='浜у搧浠e彿锛�'
+ ColSpan=2
+ End
+ Item[4,3]
+ Text='[#浜у搧浠e彿#]'
+ ColSpan=2
+ End
+ Item[4,5]
+ Text='鍒嗘壒鍙凤細'
+ End
+ Item[4,6]
+ ColSpan=2
+ End
+ Item[4,8]
+ Text='缂栧彿锛�'
+ End
+ Item[4,9]
+ Text='[#缂栧彿#]'
+ ColSpan=3
+ End
+ Item[5,1]
+ Text='妯″叿缂栧彿锛�'
+ ColSpan=2
+ End
+ Item[5,3]
+ Text='[#妯″叿缂栧彿#]'
+ ColSpan=5
+ End
+ Item[5,8]
+ Text='鍠傛枡鎵瑰彿锛�'
+ End
+ Item[5,9]
+ Text='[#鍠傛枡鎵瑰彿#]'
+ ColSpan=3
+ End
+ Item[6,1]
+ Text='鏃ユ湡'
+ End
+ Item[6,2]
+ Text='鐝'
+ End
+ Item[6,3]
+ Text='鎿嶄綔宸�'
+ End
+ Item[6,4]
+ Text='宸ュ簭'
+ End
+ Item[6,5]
+ Text='璁惧缂栧彿'
+ End
+ Item[6,6]
+ Text='鍔犲伐鏁�'
+ End
+ Item[6,7]
+ Text='鍚堟牸鏁�'
+ End
+ Item[6,8]
+ Text='鍒嗗崟閲�'
+ End
+ Item[6,9]
+ Text='搴熷搧鏁伴噺'
+ End
+ Item[6,10]
+ Text='妫�楠屽憳'
+ End
+ Item[6,11]
+ Text='澶囨敞'
+ End
+ End
+ End
+ End
+ End
+ End
+ End
+ Object ColumnTitle
+ Height=0
+ Items ColumnTitleCell
+ Item
+ GroupTitle=F
+ Column='Column3'
+ Text='Column1'
+ End
+ End
+ End
+ End
+ Items ReportHeader
+ Item
+ Name='ReportHeader1'
+ Height=0
+ RepeatOnPage=T
+ End
+ End
+ Items ReportFooter
+ Item
+ Name='ReportFooter1'
+ Height=0
+ End
+ End
+End
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225A5.grf" "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225A5.grf"
new file mode 100644
index 0000000..7c20bc6
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\344\272\247\345\223\201\346\265\201\344\274\240\345\215\225A5.grf"
@@ -0,0 +1,450 @@
+锘縶
+ "Version":"6.8.2.2",
+ "Title":"浣犵殑鎶ヨ〃鏍囬",
+ "PrintAsDesignPaper":false,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "WatermarkAlignment":"BottomRight",
+ "Printer":{
+ "Size":11,
+ "Width":14.8,
+ "Height":21,
+ "Oriention":"Landscape",
+ "LeftMargin":0.5,
+ "TopMargin":0.4,
+ "RightMargin":0.5,
+ "BottomMargin":0.5
+ },
+ "DetailGrid":{
+ "CenterView":true,
+ "Border":{
+ "Pen":{
+ "Width":1.5
+ }
+ },
+ "Recordset":{
+ "Field":[
+ {
+ "Name":"宸ュ崟鍙�",
+ "DBFieldName":"wo_code"
+ },
+ {
+ "Name":"浜у搧缂栫爜",
+ "DBFieldName":"partcode"
+ },
+ {
+ "Name":"浜у搧鍚嶇О",
+ "DBFieldName":"partname"
+ },
+ {
+ "Name":"浜у搧瑙勬牸",
+ "DBFieldName":"partspec"
+ },
+ {
+ "Name":"宸ヨ壓璺嚎",
+ "DBFieldName":"routename"
+ },
+ {
+ "Name":"宸ュ崟鏁伴噺",
+ "DBFieldName":"orderqty"
+ },
+ {
+ "Name":"鎵撳嵃浜哄憳",
+ "DBFieldName":"lm_user"
+ },
+ {
+ "Name":"鎵撳嵃鏃堕棿",
+ "DBFieldName":"lm_date"
+ },
+ {
+ "Name":"宸ュ簭鍙�",
+ "DBFieldName":"seq"
+ },
+ {
+ "Name":"宸ュ簭",
+ "DBFieldName":"stepname"
+ },
+ {
+ "Name":"鍔犲伐鏁伴噺",
+ "DBFieldName":"plan_qty"
+ },
+ {
+ "Name":"鍚堟牸鏁伴噺",
+ "DBFieldName":"good_qty"
+ },
+ {
+ "Name":"涓嶈壇鏁伴噺",
+ "DBFieldName":"ng_qty"
+ },
+ {
+ "Name":"浜岀淮鐮�",
+ "DBFieldName":"stepqrcode"
+ }
+ ]
+ },
+ "Column":[
+ {
+ "Name":"宸ュ簭鍙�",
+ "Width":1.74625
+ },
+ {
+ "Name":"Column5",
+ "Width":2.98979
+ },
+ {
+ "Name":"杈呮暟閲�",
+ "Width":4.60375
+ },
+ {
+ "Name":"鏀舵枡浠撳簱",
+ "Width":1.98438
+ },
+ {
+ "Name":"鎵瑰彿",
+ "Width":2.01083
+ },
+ {
+ "Name":"Column2",
+ "Width":2.40771
+ },
+ {
+ "Name":"Column4",
+ "Width":4.20688
+ }
+ ],
+ "ColumnContent":{
+ "Height":1.40229,
+ "AdjustRowHeight":false,
+ "ColumnContentCell":[
+ {
+ "Column":"宸ュ簭鍙�",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "WordWrap":true,
+ "TextAlign":"MiddleCenter",
+ "ShrinkFontToFit":true,
+ "DataField":"宸ュ簭鍙�"
+ },
+ {
+ "Column":"Column5",
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"Barcode",
+ "Name":"Barcode2",
+ "Left":0.608542,
+ "Top":0.1,
+ "Width":1.5875,
+ "Height":1.19063,
+ "BarcodeType":"QRCode",
+ "CaptionPosition":"None",
+ "Text":"[#浜岀淮鐮�#]"
+ }
+ ]
+ },
+ {
+ "Column":"杈呮暟閲�",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "WordWrap":true,
+ "DataField":"宸ュ簭"
+ },
+ {
+ "Column":"鏀舵枡浠撳簱",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "WordWrap":true,
+ "DataField":"鍔犲伐鏁伴噺"
+ },
+ {
+ "Column":"鎵瑰彿",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "WordWrap":true,
+ "DataField":"鍚堟牸鏁伴噺"
+ },
+ {
+ "Column":"Column2",
+ "WordWrap":true,
+ "DataField":"涓嶈壇鏁伴噺"
+ },
+ {
+ "Column":"Column4",
+ "WordWrap":true
+ }
+ ]
+ },
+ "ColumnTitle":{
+ "Height":0.79375,
+ "RepeatStyle":"OnPage",
+ "ColumnTitleCell":[
+ {
+ "GroupTitle":false,
+ "Column":"宸ュ簭鍙�",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "TextAlign":"MiddleCenter",
+ "Text":"宸ュ簭鍙�"
+ },
+ {
+ "GroupTitle":false,
+ "Column":"Column5",
+ "TextAlign":"MiddleCenter",
+ "Text":"浜岀淮鐮�"
+ },
+ {
+ "GroupTitle":false,
+ "Column":"杈呮暟閲�",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "TextAlign":"MiddleCenter",
+ "Text":"宸ュ簭"
+ },
+ {
+ "GroupTitle":false,
+ "Column":"鏀舵枡浠撳簱",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "TextAlign":"MiddleCenter",
+ "Text":"鍔犲伐鏁�"
+ },
+ {
+ "GroupTitle":false,
+ "Column":"鎵瑰彿",
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "TextAlign":"MiddleCenter",
+ "Text":"鍚堟牸鏁�"
+ },
+ {
+ "GroupTitle":false,
+ "Column":"Column2",
+ "TextAlign":"MiddleCenter",
+ "Text":"涓嶈壇鏁伴噺"
+ },
+ {
+ "GroupTitle":false,
+ "Column":"Column4",
+ "TextAlign":"MiddleCenter",
+ "Text":"澶囨敞"
+ }
+ ]
+ }
+ },
+ "Parameter":[
+ {
+ "Name":"Parameter1"
+ },
+ {
+ "Name":"Parameter2"
+ }
+ ],
+ "ReportHeader":[
+ {
+ "Name":"ReportHeader1",
+ "Height":3.41313,
+ "Control":[
+ {
+ "Type":"FreeGrid",
+ "Name":"FreeGrid1",
+ "Dock":"Fill",
+ "Border":{
+ "Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]",
+ "Pen":{
+ "Color":"FFFFFF"
+ }
+ },
+ "ColLine":{
+ "Color":"FFFFFF"
+ },
+ "RowLine":{
+ "Color":"FFFFFF"
+ },
+ "FreeGridColumn":[
+ {
+ "index":1,
+ "Width":1.87854
+ },
+ {
+ "index":2,
+ "Width":5.97958
+ },
+ {
+ "index":3,
+ "Width":1.82563
+ },
+ {
+ "index":4,
+ "Width":6.21771
+ },
+ {
+ "index":5,
+ "Width":4.10104
+ }
+ ],
+ "FreeGridRow":[
+ {
+ "index":1,
+ "Height":0.79375
+ },
+ {
+ "index":5,
+ "Height":0.687917
+ }
+ ],
+ "FreeGridCell":[
+ {
+ "row":1,
+ "col":1,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":142500,
+ "Bold":true,
+ "Charset":134
+ },
+ "TextAlign":"MiddleCenter",
+ "Text":"娴佺▼鍗�",
+ "ColSpan":5
+ },
+ {
+ "row":2,
+ "col":1,
+ "Text":"宸ュ崟鍙凤細"
+ },
+ {
+ "row":2,
+ "col":2,
+ "Text":"[#宸ュ崟鍙�#]"
+ },
+ {
+ "row":2,
+ "col":3,
+ "Text":"浜у搧缂栫爜锛�"
+ },
+ {
+ "row":2,
+ "col":4,
+ "Text":"[#浜у搧缂栫爜#]"
+ },
+ {
+ "row":2,
+ "col":5,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"Barcode",
+ "Name":"Barcode1",
+ "Dock":"Right",
+ "Center":"Both",
+ "Left":1.29646,
+ "Width":2.77813,
+ "BarcodeType":"QRCode",
+ "CaptionPosition":"None",
+ "Text":"[#宸ュ崟鍙�#]"
+ }
+ ],
+ "RowSpan":4
+ },
+ {
+ "row":3,
+ "col":1,
+ "Text":"浜у搧鍚嶇О锛�"
+ },
+ {
+ "row":3,
+ "col":2,
+ "Text":"[#浜у搧鍚嶇О#]"
+ },
+ {
+ "row":3,
+ "col":3,
+ "Text":"浜у搧瑙勬牸锛�"
+ },
+ {
+ "row":3,
+ "col":4,
+ "Text":"[#浜у搧瑙勬牸#]"
+ },
+ {
+ "row":4,
+ "col":1,
+ "Text":"宸ュ崟鏁伴噺锛�"
+ },
+ {
+ "row":4,
+ "col":2,
+ "Text":"[#宸ュ崟鏁伴噺#]"
+ },
+ {
+ "row":4,
+ "col":3,
+ "Text":"宸ヨ壓璺嚎锛�"
+ },
+ {
+ "row":4,
+ "col":4,
+ "Text":"[#宸ヨ壓璺嚎#]"
+ },
+ {
+ "row":5,
+ "col":1,
+ "Text":"鎵撳嵃浜哄憳锛�"
+ },
+ {
+ "row":5,
+ "col":2,
+ "Text":"[#鎵撳嵃浜哄憳#]"
+ },
+ {
+ "row":5,
+ "col":3,
+ "Text":"鎵撳嵃鏃堕棿锛�"
+ },
+ {
+ "row":5,
+ "col":4,
+ "Text":"[#鎵撳嵃鏃堕棿#]"
+ }
+ ]
+ }
+ ],
+ "RepeatOnPage":true
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/grf/\345\244\226\345\215\217\346\224\266\346\226\231\346\240\207\347\255\276.grf" "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\345\244\226\345\215\217\346\224\266\346\226\231\346\240\207\347\255\276.grf"
new file mode 100644
index 0000000..7ba753d
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\345\244\226\345\215\217\346\224\266\346\226\231\346\240\207\347\255\276.grf"
@@ -0,0 +1,310 @@
+锘縶
+ "Version":"6.8.2.2",
+ "Title":"浣犵殑鎶ヨ〃鏍囬",
+ "PrintAsDesignPaper":false,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":52500,
+ "Weight":400,
+ "Charset":134
+ },
+ "WatermarkAlignment":"BottomRight",
+ "Printer":{
+ "Size":256,
+ "Width":4,
+ "Height":7.5,
+ "Oriention":"Landscape",
+ "LeftMargin":0.1,
+ "TopMargin":0,
+ "RightMargin":0.1,
+ "BottomMargin":0
+ },
+ "DetailGrid":{
+ "CenterView":true,
+ "Border":{
+ "Pen":{
+ "Width":1.5
+ }
+ },
+ "Recordset":{
+ "Field":[
+ {
+ "Name":"宸ュ崟缂栧彿",
+ "DBFieldName":"wo_code"
+ },
+ {
+ "Name":"浜у搧缂栫爜",
+ "DBFieldName":"partcode"
+ },
+ {
+ "Name":"浜у搧鍚嶇О",
+ "DBFieldName":"partname"
+ },
+ {
+ "Name":"涓嬮亾宸ュ簭",
+ "DBFieldName":"next_stepname"
+ },
+ {
+ "Name":"鏁伴噺",
+ "DBFieldName":"qty"
+ },
+ {
+ "Name":"浜岀淮鐮�",
+ "DBFieldName":"qrcode"
+ }
+ ]
+ },
+ "ColumnContent":{
+ "Height":0,
+ "AdjustRowHeight":false
+ },
+ "ColumnTitle":{
+ "Height":0,
+ "RepeatStyle":"OnPage"
+ }
+ },
+ "Parameter":[
+ {
+ "Name":"Parameter1"
+ },
+ {
+ "Name":"Parameter2"
+ }
+ ],
+ "ReportHeader":[
+ {
+ "Name":"ReportHeader1",
+ "Height":3.20146,
+ "Control":[
+ {
+ "Type":"Line",
+ "Name":"Line1",
+ "Left":0.211667,
+ "Top":0.105833,
+ "Width":6.91333
+ },
+ {
+ "Type":"Line",
+ "Name":"Line2",
+ "Left":0.21,
+ "Top":3.09563,
+ "Width":6.90729
+ },
+ {
+ "Type":"Line",
+ "Name":"Line3",
+ "Left":0.2,
+ "Top":0.105833,
+ "Height":2.99
+ },
+ {
+ "Type":"Line",
+ "Name":"Line4",
+ "Left":7.1,
+ "Top":0.105833,
+ "Height":2.98979
+ },
+ {
+ "Type":"Line",
+ "Name":"Line5",
+ "Left":2.40771,
+ "Top":0.105833,
+ "Height":2.98979
+ },
+ {
+ "Type":"Barcode",
+ "Name":"Barcode1",
+ "Left":0.423333,
+ "Top":0.291042,
+ "Width":1.82563,
+ "Height":1.66688,
+ "BarcodeType":"QRCode",
+ "CaptionPosition":"None",
+ "Text":"[#浜岀淮鐮�#]"
+ },
+ {
+ "Type":"Line",
+ "Name":"Line6",
+ "Left":2.40771,
+ "Top":0.873125,
+ "Width":4.68229
+ },
+ {
+ "Type":"Line",
+ "Name":"Line7",
+ "Left":2.40771,
+ "Top":1.64042,
+ "Width":4.68229
+ },
+ {
+ "Type":"Line",
+ "Name":"Line8",
+ "Left":0.21,
+ "Top":2.38125,
+ "Width":6.88
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox1",
+ "Left":0.396875,
+ "Top":2.51354,
+ "Width":1.00542,
+ "Height":0.423333,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"鏁伴噺:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox1",
+ "Left":1.34938,
+ "Top":2.51354,
+ "Width":0.978958,
+ "Height":0.4,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#鏁伴噺#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox2",
+ "Left":2.51,
+ "Top":0.185208,
+ "Width":1.69333,
+ "Height":0.635,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"宸ュ崟缂栧彿:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox2",
+ "Left":4.20688,
+ "Top":0.185208,
+ "Width":2.75,
+ "Height":0.66,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#宸ュ崟缂栧彿#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox3",
+ "Left":2.51,
+ "Top":0.9525,
+ "Width":1.69333,
+ "Height":0.635,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"浜у搧缂栫爜:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox3",
+ "Left":4.23333,
+ "Top":0.9525,
+ "Width":2.75,
+ "Height":0.66,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#浜у搧缂栫爜#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox4",
+ "Left":2.54,
+ "Top":1.71979,
+ "Width":1.69,
+ "Height":0.58,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"浜у搧鍚嶇О:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox4",
+ "Left":4.25979,
+ "Top":1.71979,
+ "Width":2.75167,
+ "Height":0.582083,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#浜у搧鍚嶇О#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox5",
+ "Left":2.56646,
+ "Top":2.48708,
+ "Width":1.69333,
+ "Height":0.529167,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"涓嬮亾宸ュ簭:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox5",
+ "Left":4.28625,
+ "Top":2.48708,
+ "Width":2.75,
+ "Height":0.53,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#涓嬮亾宸ュ簭#]"
+ }
+ ],
+ "RepeatOnPage":true
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/grf/\346\212\245\345\267\245\344\272\247\345\207\272\346\240\207\347\255\276.grf" "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\346\212\245\345\267\245\344\272\247\345\207\272\346\240\207\347\255\276.grf"
new file mode 100644
index 0000000..7ba753d
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\346\212\245\345\267\245\344\272\247\345\207\272\346\240\207\347\255\276.grf"
@@ -0,0 +1,310 @@
+锘縶
+ "Version":"6.8.2.2",
+ "Title":"浣犵殑鎶ヨ〃鏍囬",
+ "PrintAsDesignPaper":false,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":52500,
+ "Weight":400,
+ "Charset":134
+ },
+ "WatermarkAlignment":"BottomRight",
+ "Printer":{
+ "Size":256,
+ "Width":4,
+ "Height":7.5,
+ "Oriention":"Landscape",
+ "LeftMargin":0.1,
+ "TopMargin":0,
+ "RightMargin":0.1,
+ "BottomMargin":0
+ },
+ "DetailGrid":{
+ "CenterView":true,
+ "Border":{
+ "Pen":{
+ "Width":1.5
+ }
+ },
+ "Recordset":{
+ "Field":[
+ {
+ "Name":"宸ュ崟缂栧彿",
+ "DBFieldName":"wo_code"
+ },
+ {
+ "Name":"浜у搧缂栫爜",
+ "DBFieldName":"partcode"
+ },
+ {
+ "Name":"浜у搧鍚嶇О",
+ "DBFieldName":"partname"
+ },
+ {
+ "Name":"涓嬮亾宸ュ簭",
+ "DBFieldName":"next_stepname"
+ },
+ {
+ "Name":"鏁伴噺",
+ "DBFieldName":"qty"
+ },
+ {
+ "Name":"浜岀淮鐮�",
+ "DBFieldName":"qrcode"
+ }
+ ]
+ },
+ "ColumnContent":{
+ "Height":0,
+ "AdjustRowHeight":false
+ },
+ "ColumnTitle":{
+ "Height":0,
+ "RepeatStyle":"OnPage"
+ }
+ },
+ "Parameter":[
+ {
+ "Name":"Parameter1"
+ },
+ {
+ "Name":"Parameter2"
+ }
+ ],
+ "ReportHeader":[
+ {
+ "Name":"ReportHeader1",
+ "Height":3.20146,
+ "Control":[
+ {
+ "Type":"Line",
+ "Name":"Line1",
+ "Left":0.211667,
+ "Top":0.105833,
+ "Width":6.91333
+ },
+ {
+ "Type":"Line",
+ "Name":"Line2",
+ "Left":0.21,
+ "Top":3.09563,
+ "Width":6.90729
+ },
+ {
+ "Type":"Line",
+ "Name":"Line3",
+ "Left":0.2,
+ "Top":0.105833,
+ "Height":2.99
+ },
+ {
+ "Type":"Line",
+ "Name":"Line4",
+ "Left":7.1,
+ "Top":0.105833,
+ "Height":2.98979
+ },
+ {
+ "Type":"Line",
+ "Name":"Line5",
+ "Left":2.40771,
+ "Top":0.105833,
+ "Height":2.98979
+ },
+ {
+ "Type":"Barcode",
+ "Name":"Barcode1",
+ "Left":0.423333,
+ "Top":0.291042,
+ "Width":1.82563,
+ "Height":1.66688,
+ "BarcodeType":"QRCode",
+ "CaptionPosition":"None",
+ "Text":"[#浜岀淮鐮�#]"
+ },
+ {
+ "Type":"Line",
+ "Name":"Line6",
+ "Left":2.40771,
+ "Top":0.873125,
+ "Width":4.68229
+ },
+ {
+ "Type":"Line",
+ "Name":"Line7",
+ "Left":2.40771,
+ "Top":1.64042,
+ "Width":4.68229
+ },
+ {
+ "Type":"Line",
+ "Name":"Line8",
+ "Left":0.21,
+ "Top":2.38125,
+ "Width":6.88
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox1",
+ "Left":0.396875,
+ "Top":2.51354,
+ "Width":1.00542,
+ "Height":0.423333,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"鏁伴噺:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox1",
+ "Left":1.34938,
+ "Top":2.51354,
+ "Width":0.978958,
+ "Height":0.4,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#鏁伴噺#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox2",
+ "Left":2.51,
+ "Top":0.185208,
+ "Width":1.69333,
+ "Height":0.635,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"宸ュ崟缂栧彿:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox2",
+ "Left":4.20688,
+ "Top":0.185208,
+ "Width":2.75,
+ "Height":0.66,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#宸ュ崟缂栧彿#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox3",
+ "Left":2.51,
+ "Top":0.9525,
+ "Width":1.69333,
+ "Height":0.635,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"浜у搧缂栫爜:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox3",
+ "Left":4.23333,
+ "Top":0.9525,
+ "Width":2.75,
+ "Height":0.66,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#浜у搧缂栫爜#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox4",
+ "Left":2.54,
+ "Top":1.71979,
+ "Width":1.69,
+ "Height":0.58,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"浜у搧鍚嶇О:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox4",
+ "Left":4.25979,
+ "Top":1.71979,
+ "Width":2.75167,
+ "Height":0.582083,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#浜у搧鍚嶇О#]"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox5",
+ "Left":2.56646,
+ "Top":2.48708,
+ "Width":1.69333,
+ "Height":0.529167,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"涓嬮亾宸ュ簭:"
+ },
+ {
+ "Type":"MemoBox",
+ "Name":"MemoBox5",
+ "Left":4.28625,
+ "Top":2.48708,
+ "Width":2.75,
+ "Height":0.53,
+ "PaddingTop":0,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":90000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"[#涓嬮亾宸ュ簭#]"
+ }
+ ],
+ "RepeatOnPage":true
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/grf/\346\212\245\345\267\245\346\211\223\345\215\260\346\240\207\347\255\276.grf" "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\346\212\245\345\267\245\346\211\223\345\215\260\346\240\207\347\255\276.grf"
new file mode 100644
index 0000000..cfc5626
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/grf/\346\212\245\345\267\245\346\211\223\345\215\260\346\240\207\347\255\276.grf"
@@ -0,0 +1,351 @@
+锘縶
+ "Version":"6.8.2.2",
+ "Title":"鐢熶骇浠诲姟鍗�",
+ "PrintAsDesignPaper":false,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":135000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Printer":{
+ "Size":256,
+ "Width":10,
+ "Height":5,
+ "LeftMargin":0,
+ "TopMargin":0,
+ "RightMargin":0,
+ "BottomMargin":0
+ },
+ "DetailGrid":{
+ "CenterView":true,
+ "ShowColLine":false,
+ "ShowRowLine":false,
+ "Border":{
+ "Styles":"[]"
+ },
+ "Recordset":{
+ "Field":[
+ {
+ "Name":"宸ュ崟缂栧彿",
+ "DBFieldName":"wo_code"
+ },
+ {
+ "Name":"浜у搧缂栫爜",
+ "DBFieldName":"partcode"
+ },
+ {
+ "Name":"浜у搧鍚嶇О",
+ "DBFieldName":"partname"
+ },
+ {
+ "Name":"涓嬮亾宸ュ簭",
+ "DBFieldName":"next_stepname"
+ },
+ {
+ "Name":"鏁伴噺",
+ "DBFieldName":"qty"
+ },
+ {
+ "Name":"浜岀淮鐮�",
+ "DBFieldName":"qrcode"
+ }
+ ]
+ },
+ "Column":[
+ {
+ "Name":"Column3",
+ "Width":10.0013
+ }
+ ],
+ "ColumnContent":{
+ "Height":5.00063,
+ "RowsPerPage":1,
+ "ColumnContentCell":[
+ {
+ "Column":"Column3",
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"FreeGrid",
+ "Name":"FreeGrid1",
+ "Left":0.211667,
+ "Top":0.211667,
+ "Border":{
+ "Styles":"[DrawLeft|DrawTop|DrawRight|DrawBottom]"
+ },
+ "ColumnCount":3,
+ "RowCount":4,
+ "FreeGridColumn":[
+ {
+ "index":3,
+ "Width":3.51896
+ }
+ ],
+ "FreeGridRow":[
+ {
+ "index":1,
+ "Height":1.19063
+ },
+ {
+ "index":2,
+ "Height":1.19063
+ },
+ {
+ "index":3,
+ "Height":1.03188
+ },
+ {
+ "index":4,
+ "Height":1.08479
+ }
+ ],
+ "FreeGridCell":[
+ {
+ "row":1,
+ "col":1,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"Barcode",
+ "Name":"Barcode1",
+ "Left":0.079375,
+ "Top":0.132292,
+ "Width":2.75167,
+ "Height":3.04271,
+ "BarcodeType":"QRCode",
+ "CaptionPosition":"None",
+ "Text":"[#浜岀淮鐮�#]"
+ }
+ ],
+ "RowSpan":3
+ },
+ {
+ "row":1,
+ "col":2,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox3",
+ "Left":0.079375,
+ "Top":0.238125,
+ "Width":1.71979,
+ "Height":0.608542,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"宸ュ崟缂栧彿:"
+ },
+ {
+ "Type":"FieldBox",
+ "Name":"FieldBox2",
+ "Left":1.79917,
+ "Top":0.238125,
+ "Width":4.39208,
+ "Height":0.6085,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "WordWrap":true,
+ "DataField":"鏁伴噺"
+ }
+ ],
+ "ColSpan":2
+ },
+ {
+ "row":2,
+ "col":2,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox4",
+ "Left":0.08,
+ "Top":0.24,
+ "Width":1.7198,
+ "Height":0.6085,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"浜у搧缂栫爜:"
+ },
+ {
+ "Type":"FieldBox",
+ "Name":"FieldBox3",
+ "Left":1.79917,
+ "Top":0.211667,
+ "Width":4.3291,
+ "Height":0.6085,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "DataField":"浜у搧缂栫爜"
+ }
+ ],
+ "ColSpan":2
+ },
+ {
+ "row":3,
+ "col":2,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox5",
+ "Left":0.08,
+ "Top":0.24,
+ "Width":1.7198,
+ "Height":0.608542,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"浜у搧鍚嶇О:"
+ },
+ {
+ "Type":"FieldBox",
+ "Name":"FieldBox4",
+ "Left":1.79917,
+ "Top":0.211667,
+ "Width":4.3291,
+ "Height":0.6085,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "DataField":"浜у搧鍚嶇О"
+ }
+ ],
+ "ColSpan":2
+ },
+ {
+ "row":4,
+ "col":1,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox1",
+ "Top":0.211667,
+ "Width":1.19063,
+ "Height":0.608542,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"鏁伴噺:"
+ },
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox2",
+ "Left":0.238125,
+ "Top":3.65125,
+ "Width":1.19063,
+ "Height":0.608542,
+ "Text":"鏁伴噺:"
+ },
+ {
+ "Type":"FieldBox",
+ "Name":"FieldBox1",
+ "Left":1.19063,
+ "Top":0.211667,
+ "Width":1.5875,
+ "Height":0.6085,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "DataField":"鏁伴噺"
+ }
+ ]
+ },
+ {
+ "row":4,
+ "col":2,
+ "FreeCell":true,
+ "Control":[
+ {
+ "Type":"StaticBox",
+ "Name":"StaticBox6",
+ "Left":0.08,
+ "Top":0.24,
+ "Width":1.7198,
+ "Height":0.608542,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "Text":"涓嬮亾宸ュ簭:"
+ },
+ {
+ "Type":"FieldBox",
+ "Name":"FieldBox5",
+ "Left":1.79917,
+ "Top":0.211667,
+ "Width":4.3291,
+ "Height":0.6085,
+ "Font":{
+ "Name":"瀹嬩綋",
+ "Size":105000,
+ "Weight":400,
+ "Charset":134
+ },
+ "DataField":"涓嬮亾宸ュ簭"
+ }
+ ],
+ "ColSpan":2
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "ColumnTitle":{
+ "Height":0,
+ "ColumnTitleCell":[
+ {
+ "GroupTitle":false,
+ "Column":"Column3",
+ "Text":"Column1"
+ }
+ ]
+ }
+ },
+ "ReportHeader":[
+ {
+ "Name":"ReportHeader1",
+ "Height":0,
+ "RepeatOnPage":true
+ }
+ ],
+ "ReportFooter":[
+ {
+ "Name":"ReportFooter1",
+ "Height":0
+ }
+ ]
+}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/libman.json b/VueWebApi/obj/Release/Package/PackageTmp/libman.json
new file mode 100644
index 0000000..ceee271
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/libman.json
@@ -0,0 +1,5 @@
+{
+ "version": "1.0",
+ "defaultProvider": "cdnjs",
+ "libraries": []
+}
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/log4net.config b/VueWebApi/obj/Release/Package/PackageTmp/log4net.config
new file mode 100644
index 0000000..f0c52fa
--- /dev/null
+++ b/VueWebApi/obj/Release/Package/PackageTmp/log4net.config
@@ -0,0 +1,98 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+
+ <configSections>
+ <!--閰嶇疆涓�涓粨鐐� 鍚嶇О涓簂og4net-->
+ <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
+ </configSections>
+
+ <log4net>
+ <!--鍐欏叆鍒版枃浠�-->
+ <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
+
+ <!--鏂囦欢璺緞锛屽鏋淩ollingStyle涓篊omposite鎴朌ate锛屽垯杩欓噷璁剧疆涓虹洰褰曪紝鏂囦欢鍚嶅湪DatePattern閲岃缃紝鍏朵粬鍒欒繖閲岃鏈夋枃浠跺悕銆傚凡缁忔墿灞曟敮鎸佽櫄鎷熺洰褰�-->
+ <param name="File" value="Logs\" /><!--灏嗘棩璁板啓鍏ュ埌璺熺洰褰曚笅闈㈢殑Logs鏂囦欢澶逛笅闈㈢殑yyyy-MM-dd.TXT鏂囦欢涓�-->
+
+ <param name="AppendToFile" value="true" />
+
+ <param name="MaxSizeRollBackups" value="100" />
+
+ <param name="MaximumFileSize" value="10240KB" />
+
+ <param name="StaticLogFileName" value="false" />
+
+ <param name="RollingStyle" value="Date" />
+
+ <param name="DatePattern" value="yyyy-MM-dd.TXT" /> <!--TXT鍚庣紑蹇呴』鏄ぇ鍐欑殑锛屽惁鍒欐湁闂-->
+
+ <param name="CountDirection" value="-1" />
+
+
+ <!--log4net璁板綍閿欒鐨勬牸寮�(鍗筹細鐢ㄤ粈涔堟牱鐨勬牸寮忥紙甯冨眬锛夋潵璁板綍閿欒)-->
+
+ <layout type="log4net.Layout.PatternLayout">
+ <param name="ConversionPattern" value=" 銆愭椂闂淬��:%d%n 銆愮骇鍒��:%p%n 銆愮被鍚嶃��:%c%n 銆愮嚎绋婭D銆�: %thread %n 銆愭枃浠跺湴鍧�銆�:%F 绗�%L琛�%n 銆愭棩蹇楀唴瀹广��:%m%n 銆愭棩璁拌缁嗐�戯細%exception %n---------------------------------------------------------------------------------------------------------------%n" />
+ </layout>
+ </appender>
+
+ <!--灏嗘棩璁板啓鍏ユ暟鎹簱-->
+ <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
+ <bufferSize value="-1" />
+ <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <connectionString value="data source=.;initial catalog=vmes;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;" />
+ <commandText value="INSERT INTO T_Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
+ <parameter>
+ <parameterName value="@log_date" />
+ <dbType value="DateTime" />
+ <layout type="log4net.Layout.RawTimeStampLayout" />
+ </parameter>
+ <parameter>
+ <parameterName value="@thread" />
+ <dbType value="String" />
+ <size value="255" />
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%thread" />
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@log_level" />
+ <dbType value="String" />
+ <size value="50" />
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%level" />
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@logger" />
+ <dbType value="String" />
+ <size value="255" />
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%logger" />
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@message" />
+ <dbType value="String" />
+ <size value="4000" />
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%message" />
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@exception" />
+ <dbType value="String" />
+ <size value="2000" />
+ <layout type="log4net.Layout.ExceptionLayout" />
+ </parameter>
+ </appender>
+
+ <!--鍦ㄥ嚭鐜颁粈涔堢骇鍒殑閿欒鎵嶈褰曢敊璇� 銆愭敞鎰忥細濡傛灉鏈夊涓猘ppender-ref鐨勬椂鍊欙紝搴旇缁欎粬浠斁鍒板悓涓�涓猺oot鑺傜偣涓嬨��-->
+ <root>
+ <level value="ALL" />
+ <appender-ref ref="LogFileAppender"/>
+ <appender-ref ref="AdoNetAppender" />
+ <appender-ref ref="ADONetAppender_SqlServer"/>
+ </root>
+
+ </log4net>
+</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/TransformWebConfig/assist/Web.config b/VueWebApi/obj/Release/TransformWebConfig/assist/Web.config
new file mode 100644
index 0000000..be98f9a
--- /dev/null
+++ b/VueWebApi/obj/Release/TransformWebConfig/assist/Web.config
@@ -0,0 +1,31 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+
+<!-- For more information on using Web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=301874 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+ <!--
+ 鍦ㄤ笅渚嬩腑锛屸�淪etAttributes鈥濊浆鎹㈠皢鏇存敼
+ 鈥渃onnectionString鈥濈殑鍊硷紝浠呭湪鈥淢atch鈥濆畾浣嶅櫒鎵惧埌鍊间负鈥淢yDB鈥濈殑
+ 鐗规�р�渘ame鈥濇椂浣跨敤鈥淩eleaseSQLServer鈥濄��
+
+ <connectionStrings>
+ <add name="MyDB"
+ connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
+ xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+ </connectionStrings>
+ -->
+ <system.web>
+ <compilation xdt:Transform="RemoveAttributes(debug)" />
+ <!--
+ 鍦ㄤ互涓嬬ず渚嬩腑锛�"Replace" 杞崲灏嗘浛鎹� Web.config 鏂囦欢鐨�
+ 鏁翠釜 <customErrors> 鑺傘��
+ 璇锋敞鎰忥紝鐢变簬鍦� <system.web> 鑺傜偣涓嬪彧鏈変竴涓�
+ customErrors 鑺傦紝鍥犳鏃犻渶浣跨敤 "xdt:Locator" 灞炴�с��
+
+ <customErrors defaultRedirect="GenericError.htm"
+ mode="RemoteOnly" xdt:Transform="Replace">
+ <error statusCode="500" redirect="InternalError.htm"/>
+ </customErrors>
+ -->
+ </system.web>
+</configuration>
diff --git a/VueWebApi/obj/Release/TransformWebConfig/original/Web.config b/VueWebApi/obj/Release/TransformWebConfig/original/Web.config
new file mode 100644
index 0000000..703e776
--- /dev/null
+++ b/VueWebApi/obj/Release/TransformWebConfig/original/Web.config
@@ -0,0 +1,154 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+ For more information on how to configure your ASP.NET application, please visit
+ https://go.microsoft.com/fwlink/?LinkId=301879
+ -->
+<configuration>
+ <configSections>
+ <!--閰嶇疆log4net-->
+ <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
+ <appSettings>
+ <!--鏁版嵁搴撻摼鎺ラ厤缃�-->
+ <!--鏈湴鐜-->
+ <!--<add key="DBServer" value="Data Source=.;Initial Catalog=vmes;Integrated Security=True" />-->
+ <!--鏈嶅姟鍣ㄧ幆澧�-->
+ <add key="DBServer" value="Data Source=121.196.36.24,1533;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
+ <!--澶у矝鏈嶅姟鍣ㄧ幆澧�-->
+ <!--<add key="DBServer" value="Data Source=192.168.2.138;Initial Catalog=vmes;User ID=sa;Password=Dd@20220727;pooling=false" />-->
+ <!--redis鏁版嵁搴撻摼鎺ラ厤缃甶p-->
+ <add key="RedisConnIp" value="127.0.0.1" />
+ <!--redis鏁版嵁搴撻摼鎺ラ厤缃鍙e彿-->
+ <add key="RedisConnPort" value="6379" />
+ <!--key澶辨晥鏃堕棿30绉�-->
+ <add key="RedisKeyTimeCont" value="120" />
+ <!--Excel瀵煎嚭妯℃澘閰嶇疆IP-->
+ <add key="FileIP" value="http://121.196.36.24:8001/" />
+ <add key="webpages:Version" value="3.0.0.0" />
+ <add key="webpages:Enabled" value="false" />
+ <add key="ClientValidationEnabled" value="true" />
+ <add key="UnobtrusiveJavaScriptEnabled" value="true" />
+ <!--鎻愪氦json瀛楃涓茶繃闀块棶棰�-->
+ <add key="aspnet:MaxJsonDeserializerMembers" value="150000000"/>
+ </appSettings>
+ <system.web>
+ <compilation debug="true" targetFramework="4.6.1" />
+ <customErrors mode="Off" />
+ <!--鏈�澶ц姹傞暱搴�,鍗曚綅涓簁b-->
+ <httpRuntime targetFramework="4.6.1" maxRequestLength="2147483647" maxQueryStringLength="2097151"/>
+ <!--session澶辨晥鏃堕棿-->
+ <sessionState mode="InProc" timeout="240">
+ <!--<sessionState mode="Off">-->
+ </sessionState>
+ </system.web>
+ <system.webServer>
+ <security>
+ <requestFiltering>
+ <!--涓昏鏄痬axAllowedContentLength灞炴��-->
+ <requestLimits maxAllowedContentLength="2147483647" maxQueryString="102400" />
+ </requestFiltering>
+ </security>
+ <httpProtocol>
+ <customHeaders>
+ <add name="Access-Control-Allow-Origin" value="*" />
+ <add name="Access-Control-Allow-Headers" value="Content-Type" />
+ <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
+ </customHeaders>
+ </httpProtocol>
+ <modules runAllManagedModulesForAllRequests="true" />
+ <validation validateIntegratedModeConfiguration="false" />
+ <staticContent>
+ <remove fileExtension=".woff" />
+ <remove fileExtension=".woff2" />
+ <remove fileExtension=".json" />
+ <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
+ <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
+ <mimeMap fileExtension=".json" mimeType="application/json" />
+ <!--娣诲姞鎵撳嵃鏂囦欢MIME绫诲瀷-->
+ <!--<mimeMap fileExtension=".grf" mimeType="grf/gridreport"/>-->
+ </staticContent>
+
+ <handlers>
+ <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
+ <remove name="OPTIONSVerbHandler" />
+ <remove name="TRACEVerbHandler" />
+ <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+ </handlers>
+ </system.webServer>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
+ <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
+ <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
+ </compilers>
+ </system.codedom>
+</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/TransformWebConfig/transformed/Web.config b/VueWebApi/obj/Release/TransformWebConfig/transformed/Web.config
new file mode 100644
index 0000000..6f1f33f
--- /dev/null
+++ b/VueWebApi/obj/Release/TransformWebConfig/transformed/Web.config
@@ -0,0 +1,154 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+ For more information on how to configure your ASP.NET application, please visit
+ https://go.microsoft.com/fwlink/?LinkId=301879
+ -->
+<configuration>
+ <configSections>
+ <!--閰嶇疆log4net-->
+ <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
+ <appSettings>
+ <!--鏁版嵁搴撻摼鎺ラ厤缃�-->
+ <!--鏈湴鐜-->
+ <!--<add key="DBServer" value="Data Source=.;Initial Catalog=vmes;Integrated Security=True" />-->
+ <!--鏈嶅姟鍣ㄧ幆澧�-->
+ <add key="DBServer" value="Data Source=121.196.36.24,1533;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
+ <!--澶у矝鏈嶅姟鍣ㄧ幆澧�-->
+ <!--<add key="DBServer" value="Data Source=192.168.2.138;Initial Catalog=vmes;User ID=sa;Password=Dd@20220727;pooling=false" />-->
+ <!--redis鏁版嵁搴撻摼鎺ラ厤缃甶p-->
+ <add key="RedisConnIp" value="127.0.0.1" />
+ <!--redis鏁版嵁搴撻摼鎺ラ厤缃鍙e彿-->
+ <add key="RedisConnPort" value="6379" />
+ <!--key澶辨晥鏃堕棿30绉�-->
+ <add key="RedisKeyTimeCont" value="120" />
+ <!--Excel瀵煎嚭妯℃澘閰嶇疆IP-->
+ <add key="FileIP" value="http://121.196.36.24:8001/" />
+ <add key="webpages:Version" value="3.0.0.0" />
+ <add key="webpages:Enabled" value="false" />
+ <add key="ClientValidationEnabled" value="true" />
+ <add key="UnobtrusiveJavaScriptEnabled" value="true" />
+ <!--鎻愪氦json瀛楃涓茶繃闀块棶棰�-->
+ <add key="aspnet:MaxJsonDeserializerMembers" value="150000000" />
+ </appSettings>
+ <system.web>
+ <compilation targetFramework="4.6.1" />
+ <customErrors mode="Off" />
+ <!--鏈�澶ц姹傞暱搴�,鍗曚綅涓簁b-->
+ <httpRuntime targetFramework="4.6.1" maxRequestLength="2147483647" maxQueryStringLength="2097151" />
+ <!--session澶辨晥鏃堕棿-->
+ <sessionState mode="InProc" timeout="240">
+ <!--<sessionState mode="Off">-->
+ </sessionState>
+ </system.web>
+ <system.webServer>
+ <security>
+ <requestFiltering>
+ <!--涓昏鏄痬axAllowedContentLength灞炴��-->
+ <requestLimits maxAllowedContentLength="2147483647" maxQueryString="102400" />
+ </requestFiltering>
+ </security>
+ <httpProtocol>
+ <customHeaders>
+ <add name="Access-Control-Allow-Origin" value="*" />
+ <add name="Access-Control-Allow-Headers" value="Content-Type" />
+ <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
+ </customHeaders>
+ </httpProtocol>
+ <modules runAllManagedModulesForAllRequests="true" />
+ <validation validateIntegratedModeConfiguration="false" />
+ <staticContent>
+ <remove fileExtension=".woff" />
+ <remove fileExtension=".woff2" />
+ <remove fileExtension=".json" />
+ <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
+ <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
+ <mimeMap fileExtension=".json" mimeType="application/json" />
+ <!--娣诲姞鎵撳嵃鏂囦欢MIME绫诲瀷-->
+ <!--<mimeMap fileExtension=".grf" mimeType="grf/gridreport"/>-->
+ </staticContent>
+ <handlers>
+ <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
+ <remove name="OPTIONSVerbHandler" />
+ <remove name="TRACEVerbHandler" />
+ <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+ </handlers>
+ </system.webServer>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
+ <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
+ <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
+ <bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.9.0" newVersion="5.2.9.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
+ </compilers>
+ </system.codedom>
+</configuration>
+<!--ProjectGuid: 716E07C4-D8DC-429E-8B68-3BC6DF13E00F-->
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
index 20c4c06..f5e894a 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
Binary files differ
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache b/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
index f4b85a8..8286652 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-66fa36e90fc8d4290f1a36c68dbbe9ab2f22c7c2
+f91b4921f9428970a8cb9342b07bba86ec5cc12c
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
index 2d4bf1d..f115398 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -286,3 +286,285 @@
D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\VueWebApi.dll.config
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\VueWebApi.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\VueWebApi.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\VueWebApi.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\csc.exe
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\csc.exe.config
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\csc.rsp
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\csi.exe
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\csi.exe.config
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\csi.rsp
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.CodeAnalysis.CSharp.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.CodeAnalysis.CSharp.Scripting.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.CodeAnalysis.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.CodeAnalysis.Scripting.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.CodeAnalysis.VisualBasic.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.CSharp.Core.targets
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.DiaSymReader.Native.amd64.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.DiaSymReader.Native.x86.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.Managed.Core.targets
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.VisualBasic.Core.targets
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\Microsoft.Win32.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.AppContext.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Collections.Immutable.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Console.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Diagnostics.DiagnosticSource.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Diagnostics.FileVersionInfo.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Diagnostics.StackTrace.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Globalization.Calendars.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.IO.Compression.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.IO.Compression.ZipFile.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.IO.FileSystem.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.IO.FileSystem.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Net.Http.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Net.Sockets.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Reflection.Metadata.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Runtime.InteropServices.RuntimeInformation.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Security.Cryptography.Algorithms.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Security.Cryptography.Encoding.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Security.Cryptography.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Security.Cryptography.X509Certificates.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Text.Encoding.CodePages.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Threading.Tasks.Extensions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.ValueTuple.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Xml.ReaderWriter.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Xml.XmlDocument.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Xml.XPath.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\System.Xml.XPath.XDocument.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\vbc.exe
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\vbc.exe.config
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\vbc.rsp
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\VBCSCompiler.exe
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\roslyn\VBCSCompiler.exe.config
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Win32.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\netstandard.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.AppContext.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Collections.Concurrent.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Collections.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Collections.NonGeneric.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Collections.Specialized.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.ComponentModel.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.ComponentModel.EventBasedAsync.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.ComponentModel.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.ComponentModel.TypeConverter.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Console.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Data.Common.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.Contracts.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.Debug.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.FileVersionInfo.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.Process.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.StackTrace.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.TextWriterTraceListener.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.Tools.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.TraceSource.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.Tracing.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Drawing.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Dynamic.Runtime.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Globalization.Calendars.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Globalization.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Globalization.Extensions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.Compression.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.Compression.ZipFile.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.FileSystem.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.FileSystem.DriveInfo.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.FileSystem.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.FileSystem.Watcher.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.IsolatedStorage.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.MemoryMappedFiles.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.Pipes.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.UnmanagedMemoryStream.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Linq.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Linq.Expressions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Linq.Parallel.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Linq.Queryable.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Http.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.NameResolution.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.NetworkInformation.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Ping.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Requests.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Security.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Sockets.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.WebHeaderCollection.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.WebSockets.Client.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.WebSockets.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.ObjectModel.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Reflection.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Reflection.Extensions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Reflection.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Resources.Reader.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Resources.ResourceManager.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Resources.Writer.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.CompilerServices.VisualC.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Extensions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Handles.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.InteropServices.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.InteropServices.RuntimeInformation.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Numerics.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Serialization.Formatters.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Serialization.Json.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Serialization.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.Serialization.Xml.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Claims.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Cryptography.Algorithms.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Cryptography.Csp.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Cryptography.Encoding.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Cryptography.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Cryptography.X509Certificates.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.Principal.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Security.SecureString.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Text.Encoding.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Text.Encoding.Extensions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Text.RegularExpressions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Overlapped.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Tasks.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Tasks.Parallel.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Thread.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.ThreadPool.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Timer.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.ValueTuple.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Xml.ReaderWriter.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Xml.XDocument.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Xml.XmlDocument.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Xml.XmlSerializer.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Xml.XPath.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Xml.XPath.XDocument.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Antlr3.Runtime.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\BouncyCastle.Crypto.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Dapper.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Fleck.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\JWT.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\log4net.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNet.SignalR.Core.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNet.SignalR.SystemWeb.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Http.Abstractions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Http.Features.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Mvc.Abstractions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Routing.Abstractions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Bcl.AsyncInterfaces.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Extensions.Primitives.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Net.Http.Headers.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.Cors.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.Host.SystemWeb.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.Security.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Web.Infrastructure.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Newtonsoft.Json.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OOXML.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OpenXml4Net.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OpenXmlFormats.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Owin.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Pipelines.Sockets.Unofficial.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Common.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Interfaces.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Redis.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Text.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\StackExchange.Redis.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Swashbuckle.Core.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Buffers.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.CodeDom.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.PerformanceCounter.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.Pipelines.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Memory.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Http.Formatting.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Numerics.Vectors.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.CompilerServices.Unsafe.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Text.Encodings.Web.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Channels.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Tasks.Extensions.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Cors.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Helpers.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Http.Cors.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Http.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Http.WebHost.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Mvc.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Optimization.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Razor.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.WebPages.Deployment.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.WebPages.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.WebPages.Razor.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\WebActivatorEx.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\WebGrease.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\BouncyCastle.Crypto.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Dapper.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\JWT.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\JWT.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\log4net.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNet.SignalR.Core.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNet.SignalR.SystemWeb.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Http.Abstractions.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Http.Features.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Mvc.Abstractions.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.AspNetCore.Routing.Abstractions.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Bcl.AsyncInterfaces.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Extensions.Primitives.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Net.Http.Headers.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.Cors.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.Host.SystemWeb.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.Owin.Security.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Newtonsoft.Json.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OOXML.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OOXML.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OpenXml4Net.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OpenXml4Net.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\NPOI.OpenXmlFormats.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Pipelines.Sockets.Unofficial.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Common.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Interfaces.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Redis.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\ServiceStack.Text.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\StackExchange.Redis.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Buffers.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.CodeDom.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Diagnostics.PerformanceCounter.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.IO.Pipelines.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Memory.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Net.Http.Formatting.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Numerics.Vectors.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Runtime.CompilerServices.Unsafe.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Text.Encodings.Web.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Channels.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Threading.Tasks.Extensions.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Http.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Http.Cors.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Http.WebHost.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Helpers.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Mvc.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Optimization.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.Razor.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.WebPages.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.WebPages.Deployment.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\System.Web.WebPages.Razor.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Antlr3.Runtime.pdb
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\Microsoft.AspNet.SignalR.Core.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\Microsoft.AspNet.SignalR.SystemWeb.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Net.Http.Formatting.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.Http.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.Http.WebHost.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.Helpers.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.Mvc.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.Optimization.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.Razor.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Deployment.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Razor.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CoreCompileInputs.cache
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES澶у矝\VueWebApi\VueWebApi\obj\Release\VueWebApi.pdb
diff --git a/VueWebApi/obj/Release/VueWebApi.dll b/VueWebApi/obj/Release/VueWebApi.dll
index bb33a10..74956e1 100644
--- a/VueWebApi/obj/Release/VueWebApi.dll
+++ b/VueWebApi/obj/Release/VueWebApi.dll
Binary files differ
diff --git a/VueWebApi/obj/Release/VueWebApi.pdb b/VueWebApi/obj/Release/VueWebApi.pdb
index 0bf6c8b..f4d4098 100644
--- a/VueWebApi/obj/Release/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/_WPPLastBuildInfo.txt b/VueWebApi/obj/Release/_WPPLastBuildInfo.txt
new file mode 100644
index 0000000..eea9bc7
--- /dev/null
+++ b/VueWebApi/obj/Release/_WPPLastBuildInfo.txt
Binary files differ
--
Gitblit v1.9.3